From 9474753b0a068e84275a457713e962409e175de4 Mon Sep 17 00:00:00 2001 From: Mohammad Derakhshani Date: Mon, 23 Nov 2020 11:31:16 -0800 Subject: [PATCH] Merge Master to feature/cosmos/spark30 (#17733) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added support for key export. (#17183) * Added support for exporting keys from an Azure Key Vault. * Removed ExportKeyOptions. * Fixed build error. * Added samples. * Fixed test issues. * Fixed samples issues. * Fixed checkstyle issues. * Fixed spotbugs issues. * Applied PR feedback: renamed KeyReleasePolicy to ReleasePolicy and removed it from KeyVaultKey. * Fixed spotbugs issues. * Added unit tests. * Renamed ReleasePolicy to KeyReleasePolicy. Added tests for creating an RSA key with publicExponent. * Added date for internal avro CHANGELOG (#17483) * Sync eng/common directory with azure-sdk-tools for PR 1188 (#17488) * Add debug flag to arm deployment command * Only set debug preference when $CI is true Co-authored-by: Ben Broderick Phillips * Remove invalid characters in basename sourced from username (#17489) Co-authored-by: Ben Broderick Phillips * FixOfConnectionStateListenerTest (#17481) * fix flakyness of connectionStateListener test Co-authored-by: Annie Liang * Applied arch board feedback for Key Vault Administration (#17284) * Removed exposure of implementation package and any usage of KeyVaultErrorException from public APIs. * Renamed KeyVaultRoleAssignmentScope to KeyVaultRoleScope. Changed the name type from UUID to String in role assignment APIs. * Renamed APIs for re-hydrating LROs. * Added ServiceVersion support in the clients and their builders. Internally this will not be used until some changes in the code generation tool are applied. * Annotated read-only classes with @Immutable. Added the "allowed" prefix to some KeyVaultPermission properties. Change the type of `startTime` and `endTime` in KeyVaultLongRunningOperation from Long to OffsetDateTime. * Changed the KeyVaultRoleScope enum from using URI to URL and added an overload that takes a the string representation of a URL. * Added overloads that allow passing a custom polling interval to LROs. * Removed the use of KeyVaultRoleAssignmentProperties in clients' public APIs in favor of using the `roleDefinitionId` and `servicePrincipalId` values directly. * Fixed Javadoc and test issues. * Fixed checkstyle issues. * Applied arch board meeting and PR feedback: * Renamed parameters containing the 'Uri' suffix to 'Url'. * Changed the type of `startTime` and `endTime` in the constructor of KeyVaultLongRunningOperation and its subtypes from `Long` to `OffsetDateTime`. * Removed unnecessary versions from KeyVaultAdministrationServiceVersion. Additional changes: * Renamed `scope` in KeyVaultRoleAssignment to `roleScope` to align with the access client APIs. * Polished Javadoc * Removed APIs to refresh LROs based on PR feedback. * Removed unused import in KeyVaultBackupAsyncClientTest. * Increment package version after release of com.azure azure-ai-metricsadvisor (#17456) * Sync eng/common directory with azure-sdk-tools for PR 1170 (#17276) * Added the preprocess scripts. * string array to string Co-authored-by: Sima Zhu * suppress the runtime exception in the KeyVaultClient class (#17401) Co-authored-by: v-gaoh * End to End TLS SSL step #8 - Add support for PEM based certificates (#17019) * End to End TLS SSL - step #9 - add Azure AD authentication URL (#17074) * Added Azure AD authentication URL * Increment version for storage releases (#17485) * Add Invoke-DevOpsAPI.ps1, Add functions for Canceling and Listing Builds (#17178) Co-authored-by: Chidozie Ononiwu * Change live test resource DeleteAfterHours tag to 8 hours (#17537) Co-authored-by: Ben Broderick Phillips * add clientOptions for EventHubClientBuilder (#17519) - add clientOptions for EventHubClientBuilder * Increment Form Recognizer version post patch release 3.0.3 (#17540) * Prepare tables for October release (#17541) * store authorzied clients into http session (#17528) * Increment package version after release of com.azure azure-data-tables (#17545) * [TA] Merge Novermber patch to master branch (#17544) * cherry-pick 16c8d5d4f164f33bea19ceb965917dd20676d344 and dfdc8c6d373f657d793900000be1e2e2c21fd7de * Added collapsible GA and Preview in each artifact. (#17041) * Added support for encryption algorithms for symmetric keys (#17209) * Added support for encryption AES encryption algorithms. * Added CryptographyOptions and ensured the initialization vector is populated before attempting to perform any local cryptography operations on symmetric keys. * Added APIs that accept CryptographyOptions to CryptographyClient. * Fixed Javadoc issues. * Fixed checkstyle issues. Added samples. * Added checkstyle exceptions. * Fixed test and spotbugs issues. * Applied PR feedback and added local tests. * Made the EncryptOptions and DecryptOptions constructor package-private, as well as their children's, and made them have factory methods for creating the former to help with discoverability. * Fixed build issues. * Changed EncryptOptions and DecryptOptions to use a factory model. * Added iv, additionalAuthenticatedDate and authenticationTag to EncryptResult. * Made `plainText` and `cipherText` all lowercase. * Sync eng/common directory with azure-sdk-tools for PR 1202 (#17547) * Add debugging link on resource deployment failures to log output * Update aka link for live test help docs. Use here string and empty throw. Co-authored-by: Ben Broderick Phillips * Added small changes that missed PR #17209 (#17552) * Added support for encryption AES encryption algorithms. * Added CryptographyOptions and ensured the initialization vector is populated before attempting to perform any local cryptography operations on symmetric keys. * Added APIs that accept CryptographyOptions to CryptographyClient. * Fixed Javadoc issues. * Fixed checkstyle issues. Added samples. * Added checkstyle exceptions. * Fixed test and spotbugs issues. * Applied PR feedback and added local tests. * Made the EncryptOptions and DecryptOptions constructor package-private, as well as their children's, and made them have factory methods for creating the former to help with discoverability. * Fixed build issues. * Changed EncryptOptions and DecryptOptions to use a factory model. * Added iv, additionalAuthenticatedDate and authenticationTag to EncryptResult. * Made `plainText` and `cipherText` all lowercase. * Reverted capitalization change. * Added null check for `iv` in local decryption. * Key Vault Beta release CHANGELOG and README updates - November 2020 (#17553) * Updated CHANGELOGs for Beta releases of Key Vault Keys and Key Vault Administration. * Updated READMEs. * Updated the KV Administration CHANGELOG to abide by the guidelines. * [AppConfig] App config apply released v1.1.7 patch to master (#17548) * [AppConfig] Prepare for v1.1.7 patch release (#17534) * upgrade release version to 1.1.7 * Change the method of obtaining tokens from implicit flow to pkce (#17530) * Upgrade msal.js to a higher version to use PKCE. * [Communication] -Administration- Renaming the model from PhoneNumberSearch to PhoneNumberReservation (#17253) * Renaming from PhoneNumberSearch to PhoneNumberReservation * Renaming from PhoneNumberSearch to PhoneNumberReservation * Renaming from PhoneNumberSearch to PhoneNumberReservation * upadating readme samples * Renaming the model CreateSearchReponse and CreateSearchOptions * Fixing tests * Fixing tests * fixing typo un reservations * Add AppConfig and Event Hubs samples for using Monitor exporter (#17565) * Add AppConfig and Event Hubs samples for using exporters * Fix compiler warnings * Update sdk/monitor/microsoft-opentelemetry-exporter-azuremonitor/pom.xml * Update method names * Update amqp version post-1.7.0-beta.2 release (#17577) * Sync eng/common directory with azure-sdk-tools for PR 1153 (#17578) * Improve Update-ChangeLog Logic * Updates to ChangeLog-Operations.ps1, copy-docs-to-blobstorage.ps1, Invoke-GitHubAPI.ps1 and Package-Properties.ps1 * More changeLog Logic Improvements * Update date parsing Co-authored-by: Chidozie Ononiwu * [Communication] -Administration- changing some createReservation from public to private (#17576) * changing some public methods * updating Reade file * Fixing Readme * November release changelog (#17571) * [Service Bus] Remove viaPartitionKey (#17501) * [Service Bus] Remove viaPartitionKey * Remove unused imports * Enable the del/rename files link check. (#17574) * update readme for sample and fix some question (#17587) * Add user name information when modifying todolist * Modify the configuration information in the readme * mgmt, improve readme in packages (#17251) * add sample name with "resource-server" (#17589) * change artifactId and module * Update LanguageSetting.ps1 (#17583) * Use BuildID to fix race ondition (#17459) * Sync eng/common directory with azure-sdk-tools for PR 1210 (#17579) * Cache created service principal for iteration Useful when testing changes over and over again without passing your own -TestApplicationId and -TestApplicationSecret. * Restore initial AzContext for New-TestResources * Make sure PSBoundParameters is correct Fixes #1177 Co-authored-by: Heath Stewart * [Communication] - Administration - Disable Jacoco Coverage Check (#17596) * Disable Adminiministrationg SDK coverage check * Adjusting min coverage checks * Adjusting min coverage checks * Adjusting min coverage checks Co-authored-by: Minnie Liu * Fixed large file live test to add policy per call instead of per retry (#17593) Co-authored-by: gapra * fixes #17567 (#17588) Add new configuration item: azure.activedirectory.jwk-set-cache-refresh-time * [Communication] - SMS - Enabling SMS Live tests using Static Resources (#17599) * Enabling SMS Live tests * Clean up * Adding more variables * Fix SMS live test * Clean up unneeded module from SMS pom Co-authored-by: Minnie Liu * Increment package version after release of com.azure azure-security-keyvault-administration (#17600) * User Oauth2 WebClient instead of msal to get groups from graph. (#17529) * User Oauth2 WebClient instead of msal to get groups from graph. * Increment key vault stable versions november 2020 (#17609) * Updated the latest KV stable versions * Corrected Key Vault Keys README version to the latest beta released. * Mgmt: generate attestation.v2020_10_01 (#17611) * add attestation/resource-manager * generate attestation/resource-manager 2020 10 * add ci and pom * remove unused configuration item (#17618) * remove unused properties * Fixed resource address in CosmosException. (#17279) * Fixed resource address in CosmosException. Added new API to expose regions contacted on CosmosDiagnostics * Fixed resource address in GATEWAY mode to have full physical address * Setting physical resource address in tests * [service bus] Use ServiceBusException rather than AmqpException and rename ReceiveMode to ServiceBusReceiveMode (#17601) ServiceBusException is basically a friendly envelope around an AmqpException. It's primary purpose is to give the user something simple they can try/catch that has a 'reason' code so they can programatically react to certain kinds of failures. Also, renaming ReceiveMode to ServiceBusReceiveMode. Fixes #17500 (exception type), #17555 (receive mode) * update CHANGELOG (#17620) - update Release history * update CHANGELOG (#17634) - update Release history * Mgmt: GA all resourcemanager packages (#17619) * Revert "Mgmt: GA azure, remove non-GA packages (#16499)" This reverts commit 2756f500460f587abbaa4209e43bbc1e82b0107b. * fix spring cloud * fix compile error * update version * fix spotbugs * session record * update readme version * update Release history (#17646) - update release history * Increment package version after release of com.azure azure-security-keyvault-jca (#17644) * Adding basic FeedRanges API (#17570) * Initial draft of FeedRange artifacts * Iterating on FeedRange Apis * Adding public surface area * Adding FeedRange unit tests * Adding test FeedRangePKRangeId_GetEffectiveRangesAsync_Refresh * Adding test FeedRangePKRangeId_GetEffectiveRangesAsync_Null * Adding test feedRangeEPK_getPartitionKeyRangesAsync * Adding test feedRangePK_getPartitionKeyRangesAsync * Adding test feedRangePKRangeId_getPartitionKeyRangesAsync * Adding request visitor unit tests * Finishing FeedRange tests * Cleanup and prettifying * Prettifying feed range tests * Fixes and new test for Conatiner.getFeedRanges() * Addressing some SpotBug violations * Reacting to code review feedback * Update sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeInternal.java Co-authored-by: Mohammad Derakhshani Co-authored-by: Mohammad Derakhshani * [BlobStorage] Reuse the http client configured in the provided HttpPipeline during BlobBatch construction. (#17627) * Reuse the http client configured in the provided HttpPipeline during BlobBatch construction. * Include change log notes. * Added ability to specify timeout unit in RequestRetryOptions (#17628) * Add Update-java-CIConfig (#17631) * Add Update-java-CIConfig * Switch from BuildNumber to BuildID for test release versions * Update EH versions to beta 2 (#17654) `5.4.0-beta.1` and `1.4.0-beta.1` versions were released for EH and checkpointstore earlier this week from a release branch. So, the auto version increment PR was not created against `master` branch. This PR is to update the versions in `master` branch. * Increment version for communication releases (#17608) * Increment package version after release of com.azure azure-communication-sms * Increment package version after release of com.azure azure-communication-administration * Increment package version after release of com.azure azure-communication-common * Increment package version after release of com.azure azure-communication-chat * [service bus] Update ServiceBusProcessor sample to demo how to write a long-running processor. (#17633) As part of the work to add in a ServiceBusErrorContext we also want to showcase how users can tease out the various errors that are reported. This PR updates the current processor sample to angle more towards how to keep a ServiceBusProcessor running long-term, including handling certain errors that _might_ be fatal (it's always up to the user to choose to terminate the processor). Fix for #17490 * [service bus] Migration guide changes for errors, api changes, etc... (#17656) Fixing some small stuff in the migration guide: - processor error handler has a different signature, need to use the session builder, etc.. - some syntax errors (variable called client, usage uses 'sender') - inconsistencies in some samples if they're pasted as is * Replace the invalid open source link with working one. (#17602) * Fixed bug where query params were being parsed incorrectly if an encoded comma was the query value (#17655) * [service bus] Updating connection strings in migration guide to be consistent with readme (#17662) Updating to the same string constant we use elsewhere in the SDK for samples. Completes #17656 * Sync eng/common directory with azure-sdk-tools for PR 1203 (#17674) * Refactoring artifact-metadata-parsing.ps1, update-docs-metadata.ps1, and create-tags-and-git-release.ps1 * Clean up common imports * Refactor Update-docs-ci.ps1 Co-authored-by: Chidozie Ononiwu * Keep aad legacy code (#17664) * checkout jialin's commit and make build pass. * Change new property prefix from 'azure.activedirectory' to 'azure.active.directory'. * Add resource searching sample description (#17615) * Add resource searching sample description * Add From Source Test Run to Live Tests (#17584) * Add From Source test run to live tests * Add From Source to matrix * Amqp Message Update - API Change (#17464) 1. New Type AmqpMessageId ( Based on discussion from Clemens, dotnet had) 2. New Type AmqpAddress ( Based on discussion from Clemens, dotnet had) 3. Return type change in AmqpMessageProperties for above two new types. 3. Following changes are to keep consistency with dotnet and common prefix -> AmqpMessage A. Renamed AmqpDataBody to AmqpMessageBody (to be same name as in dotnet) B. Renamed AmqpBodyType to AmqpMessageBodyType (Same name in dotnet) 4. Added AmqpMessageBody .getFirstData () Based on team review 5. Returning IterableStream in AmqpMessageBody .getData () Based on team review 6. Removed Copy constructor AmqpAnnotatedMessage (matching with dotnet) and because it is servicebus specific . So moving this logic into servicebus * [Communication] - Chat - Replaced ChatUserCredentialPolicy with BearerTokenAuthenticationPolicy (#17452) * Replaced ChatUserCredentialPolicy with BearerTokenAuthenticationPolicy * Removed ChatUserCredentialPolicy * Added tests for CommunicationTokenCredential * [TA] Healthcare recognition and Analyze LRO (#17687) * [TA] CodeGen based on 3.1-preview.3 (#17182) - only codegen and fixes after codegen, there is no new implementation added. * [TA] Healthcare Analyze feature (#17234) * Added support for Healthcare Analyze and Cancellation endpoints * [TA] Regenerate the swagger v3.1-Preview.3 with latest autorest version (#17358) * regenerate with latest autorest and swagger, use 4.0.4 autorest to codegen instead of v4.0.2 * [TA] Add analyze tasks feature support (#17267) * Add analyze multiple tasks and update healthcare features. * Update test resource region to Central US for FormRecognizer (#17693) * Vijay receive message ttl fix (#17678) * Fixing a regresion in message converter. * Changing version number. * [TA] Prepare for November Release. (#17696) * no AAD but add note for what reason AAD is not working for healthcare * [service bus] Terminology clarification and small copy/paste errors in javadocs (#17691) * Add tracing support for Service Bus processor (#17684) * Add tracing support for SB processor * Make addContext packag-private * Resolve merge conflict * Updated the Key Vault CHANGELOGs to include past stable releases. (#17701) * Updated the Key Vault CHANGELOGs to include information about past stable releases. * Updated Keys README. * Increment package version after release of com.azure azure-ai-textanalytics (#17704) * Swtich back to smoke-test before doc publishing error gets fixed. (#17697) Co-authored-by: Sima Zhu * Increment package version after release of com.azure azure-security-keyvault-keys (#17705) * Update '/eng/common/pipelines/templates/steps/create-pull-request.yml' to close test increment version pullrequests. (#17695) * remove plugins to restore source and javadoc jar (#17680) * Synapse: regenerate package-2019-06-01-preview (#17713) * regenerate synapse package-2019-06-01-preview * update version * fix compile errors * - update release history. (#17675) - update release history * Rename getAmqpAnnotatedMessage to getRawAmqpMessage (#17712) Rename getAmqpAnnotatedMessage to getRawAmqpMessage * Sync eng/common directory with azure-sdk-tools for PR 1219 (#17711) * Move entire docgeneration into common tools * Move docindex to common * Added the package replacement logic * Fixed on parameters * Fixed param * Change function to dash * Added regex on function * Added display name. * Update eng/common/docgeneration/Generate-DocIndex.ps1 Co-authored-by: Wes Haggard * Deal with js * Add no new line args * revert some test changes * Need to default to the double quotes for JS regex * Update Generate-DocIndex.ps1 * Added the appTitle * type Co-authored-by: Sima Zhu Co-authored-by: Sima Zhu <48036328+sima-zhu@users.noreply.github.com> Co-authored-by: Wes Haggard * [Service Bus] Allow 0 prefetch and dynamically use batch size to request link credits (#17546) * Fix Connection Closing on Timeout (#17690) * Close connection when timeout occurs * Add CHANGELOG entry Co-authored-by: vcolin7 Co-authored-by: Gauri Prasad <51212198+gapra-msft@users.noreply.github.com> Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Co-authored-by: Ben Broderick Phillips Co-authored-by: Annie Liang <64233642+xinlian12@users.noreply.github.com> Co-authored-by: Annie Liang Co-authored-by: Sima Zhu Co-authored-by: gaohan <1135494872@qq.com> Co-authored-by: v-gaoh Co-authored-by: Manfred Riem Co-authored-by: Chidozie Ononiwu Co-authored-by: zhihaoguo Co-authored-by: Sameeksha Vaity Co-authored-by: Brandon Siegel <96068+bsiegel@users.noreply.github.com> Co-authored-by: Yi Liu Co-authored-by: Shawn Fang <45607042+mssfang@users.noreply.github.com> Co-authored-by: Sima Zhu <48036328+sima-zhu@users.noreply.github.com> Co-authored-by: lzc-1997-abel <70368631+lzc-1997-abel@users.noreply.github.com> Co-authored-by: paola Mariana vicencio Hernandez Co-authored-by: Srikanta <51379715+srnagar@users.noreply.github.com> Co-authored-by: Jorge Beauregard <69869951+jbeauregardb@users.noreply.github.com> Co-authored-by: Ramya Rao Co-authored-by: Weidong Xu Co-authored-by: Chidozie Ononiwu <31145988+chidozieononiwu@users.noreply.github.com> Co-authored-by: Heath Stewart Co-authored-by: minnieliu Co-authored-by: Minnie Liu Co-authored-by: gapra Co-authored-by: Jack Lu Co-authored-by: Rujun Chen Co-authored-by: Tanyi Chen Co-authored-by: Kushagra Thapar Co-authored-by: Richard Park <51494936+richardpark-msft@users.noreply.github.com> Co-authored-by: Fabian Meiswinkel Co-authored-by: Francisco Fernández Castaño Co-authored-by: M Co-authored-by: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com> Co-authored-by: Hemant Tanwar Co-authored-by: Vijaya Gopal Yarramneni Co-authored-by: Chuang <54572251+xccc-msft@users.noreply.github.com> Co-authored-by: Wes Haggard Co-authored-by: Yijun Xie <48257664+YijunXieMS@users.noreply.github.com> --- common/perf-test-core/README.md | 3 +- .../checkstyle/checkstyle-suppressions.xml | 11 + .../src/main/resources/revapi/revapi.json | 86 + .../resources/spotbugs/spotbugs-exclude.xml | 28 +- .../TestResources/New-TestResources.ps1 | 584 +- .../TestResources/New-TestResources.ps1.md | 7 +- .../TestResources/deploy-test-resources.yml | 2 +- .../docgeneration/Generate-DocIndex.ps1 | 196 + eng/common/docgeneration/assets/logo.svg | 76 + eng/common/docgeneration/docfx.json | 78 + .../matthews/partials/affix.tmpl.partial | 17 + .../partials/class.header.tmpl.partial | 100 + .../matthews/partials/class.tmpl.partial | 210 + .../matthews/partials/enum.tmpl.partial | 24 + .../matthews/partials/namespace.tmpl.partial | 17 + .../templates/matthews/styles/main.css | 302 + .../templates/matthews/styles/main.js | 224 + .../pipelines/templates/steps/docindex.yml | 73 + .../templates/steps/docs-metadata-release.yml | 4 +- eng/common/scripts/Add-IssueComment.ps1 | 2 +- eng/common/scripts/Add-IssueLabels.ps1 | 2 +- eng/common/scripts/ChangeLog-Operations.ps1 | 117 +- eng/common/scripts/Delete-RemoteBranches.ps1 | 2 +- eng/common/scripts/Get-PullRequestCreator.ps1 | 10 +- eng/common/scripts/Invoke-DevOpsAPI.ps1 | 92 + eng/common/scripts/Invoke-GitHubAPI.ps1 | 200 +- eng/common/scripts/Package-Properties.ps1 | 12 +- eng/common/scripts/Queue-Pipeline.ps1 | 37 +- eng/common/scripts/SemVer.ps1 | 9 +- eng/common/scripts/Submit-PullRequest.ps1 | 10 +- eng/common/scripts/Update-ChangeLog.ps1 | 119 + eng/common/scripts/Verify-Links.ps1 | 1 + .../scripts/artifact-metadata-parsing.ps1 | 390 +- eng/common/scripts/common.ps1 | 4 +- .../scripts/copy-docs-to-blobstorage.ps1 | 2 +- .../scripts/create-tags-and-git-release.ps1 | 4 +- .../get-markdown-files-from-changed-files.ps1 | 49 + eng/common/scripts/update-docs-ci.ps1 | 227 +- eng/common/scripts/update-docs-metadata.ps1 | 42 +- .../templates/matthews/styles/main.css | 29 + .../templates/matthews/styles/main.js | 62 +- eng/jacoco-test-coverage/pom.xml | 42 +- eng/mgmt/api-specs.json | 4 + .../templates/jobs/archetype-sdk-client.yml | 3 +- .../templates/jobs/archetype-sdk-tests.yml | 32 +- .../stages/archetype-java-release.yml | 2 + eng/scripts/Language-Settings.ps1 | 47 +- eng/scripts/SetTestPipelineVersion.ps1 | 12 +- eng/spotbugs-aggregate-report/pom.xml | 2 +- eng/versioning/external_dependencies.txt | 1 + eng/versioning/version_client.txt | 57 +- eng/versioning/version_data.txt | 2 +- .../azure-data-appconfiguration/CHANGELOG.md | 4 + .../azure-data-appconfiguration/README.md | 4 +- .../pom.xml | 2 +- sdk/attestation/ci.mgmt.yml | 27 + sdk/attestation/mgmt-v2020_10_01/pom.xml | 135 + .../v2020_10_01/AttestationProvider.java | 100 + .../AttestationProviderListResult.java | 32 + .../v2020_10_01/AttestationProviders.java | 49 + .../AttestationServiceCreationParams.java | 97 + ...estationServiceCreationSpecificParams.java | 46 + .../AttestationServicePatchParams.java | 44 + .../v2020_10_01/AttestationServiceStatus.java | 44 + .../v2020_10_01/AzureEntityResource.java | 35 + .../v2020_10_01/CreatedByType.java | 47 + .../attestation/v2020_10_01/JSONWebKey.java | 535 + .../v2020_10_01/JSONWebKeySet.java | 56 + .../v2020_10_01/OperationList.java | 31 + .../attestation/v2020_10_01/Operations.java | 27 + .../v2020_10_01/OperationsDefinition.java | 69 + .../OperationsDisplayDefinition.java | 121 + .../attestation/v2020_10_01/SystemData.java | 176 + .../AttestationManagementClientImpl.java | 210 + .../implementation/AttestationManager.java | 111 + .../AttestationProviderImpl.java | 98 + .../AttestationProviderInner.java | 116 + .../AttestationProviderListResultImpl.java | 38 + .../AttestationProviderListResultInner.java | 60 + .../AttestationProvidersImpl.java | 151 + .../AttestationProvidersInner.java | 855 ++ .../implementation/IdParsingUtils.java | 57 + .../implementation/OperationListImpl.java | 39 + .../implementation/OperationListInner.java | 61 + .../implementation/OperationsImpl.java | 42 + .../implementation/OperationsInner.java | 128 + .../v2020_10_01/implementation/PageImpl.java | 75 + .../implementation/package-info.java | 11 + .../attestation/v2020_10_01/package-info.java | 11 + sdk/attestation/pom.mgmt.xml | 14 + sdk/batch/microsoft-azure-batch/README.md | 2 +- .../CHANGELOG.md | 36 +- .../README.md | 36 +- .../pom.xml | 14 +- .../PhoneNumberAsyncClient.java | 264 +- .../administration/PhoneNumberClient.java | 117 +- .../administration/ReservationStatus.java | 67 + .../PhoneNumberAdministrationsImpl.java | 46 +- .../implementation/package-info.java | 4 +- ...ons.java => CreateReservationOptions.java} | 28 +- .../models/CreateReservationResponse.java | 38 + .../models/CreateSearchResponse.java | 38 - ...earch.java => PhoneNumberReservation.java} | 68 +- .../administration/models/package-info.java | 2 +- .../administration/ReadmeSamples.java | 74 +- ...PhoneNumberAsyncClientIntegrationTest.java | 108 +- .../PhoneNumberClientIntegrationTest.java | 68 +- .../PhoneNumberIntegrationTestBase.java | 20 +- .../beginCreateReservation.json | 491 + .../session-records/beginCreateSearch.json | 59 - ...rch.json => beginPurchaseReservation.json} | 140 +- .../beginReleasePhoneNumbers.json | 854 +- .../session-records/cancelReservation.json | 20 + .../cancelReservationWithResponse.json | 20 + .../session-records/cancelSearch.json | 20 - .../cancelSearchWithResponse.json | 20 - .../session-records/configureNumber.json | 10 +- .../configureNumberWithResponse.json | 10 +- ...PhoneNumberClientWithConnectionString.json | 12 +- ...eateSearch.json => createReservation.json} | 12 +- .../createReservationWithResponse.json | 23 + .../session-records/getAllAreaCodes.json | 14 +- .../getAllAreaCodesWithResponse.json | 14 +- .../getCapabilitiesUpdate.json | 12 +- .../getCapabilitiesUpdateWithResponse.json | 12 +- .../getNumberConfiguration.json | 12 +- .../getNumberConfigurationWithResponse.json | 10 +- .../getPhonePlanLocationOptions.json | 14 +- .../session-records/getReservationById.json | 22 + .../getReservationByIdWithResponse.json | 22 + .../session-records/getSearchById.json | 22 - .../getSearchByIdWithResponse.json | 22 - .../session-records/listAllPhoneNumbers.json | 12 +- .../session-records/listAllReleases.json | 12 +- .../session-records/listAllReservations.json | 22 + .../session-records/listAllSearches.json | 22 - .../listAllSupportedCountries.json | 12 +- .../session-records/listPhonePlanGroups.json | 12 +- .../session-records/listPhonePlans.json | 14 +- .../session-records/releasePhoneNumbers.json | 23 - .../releasePhoneNumbersWithResponse.json | 23 - .../session-records/unconfigureNumber.json | 12 +- .../unconfigureNumberWithResponse.json | 10 +- .../session-records/updateCapabilities.json | 12 +- .../updateCapabilitiesWithResponse.json | 12 +- .../swagger/README.md | 48 +- .../azure-communication-chat/CHANGELOG.md | 5 +- .../azure-communication-chat/README.md | 2 +- .../azure-communication-chat/pom.xml | 19 +- .../communication/chat/ChatClientBuilder.java | 10 +- .../chat/ChatUserCredentialPolicy.java | 61 - .../azure-communication-common/CHANGELOG.md | 5 +- .../azure-communication-common/README.md | 2 +- .../azure-communication-common/pom.xml | 2 +- .../common/CommunicationTokenCredential.java | 41 + .../CommunicationTokenCrendentialTests.java | 53 + .../azure-communication-sms/CHANGELOG.md | 5 +- .../azure-communication-sms/README.md | 2 +- .../azure-communication-sms/pom.xml | 20 +- .../sms/SmsLiveAsyncClientTests.java | 2 +- .../communication/sms/SmsLiveClientTests.java | 2 +- .../communication/sms/SmsLiveTestBase.java | 2 +- sdk/communication/tests.yml | 9 + .../azure-core-amqp-experimental/README.md | 3 +- sdk/core/azure-core-amqp-experimental/pom.xml | 2 +- sdk/core/azure-core-amqp/CHANGELOG.md | 8 +- sdk/core/azure-core-amqp/README.md | 3 +- sdk/core/azure-core-amqp/pom.xml | 2 +- .../amqp/implementation/AmqpReceiveLink.java | 17 +- .../amqp/implementation/ReactorReceiver.java | 5 + .../azure/core/amqp/models/AmqpAddress.java | 66 + .../amqp/models/AmqpAnnotatedMessage.java | 25 +- .../azure/core/amqp/models/AmqpBodyType.java | 23 - .../azure/core/amqp/models/AmqpDataBody.java | 41 - .../core/amqp/models/AmqpMessageBody.java | 110 +- .../core/amqp/models/AmqpMessageBodyType.java | 33 + .../core/amqp/models/AmqpMessageHeader.java | 16 +- .../azure/core/amqp/models/AmqpMessageId.java | 66 + .../amqp/models/AmqpMessageProperties.java | 48 +- ...mqpAnnotatedMessageJavaDocCodeSamples.java | 58 + .../core/amqp/models/AmqpAddressTest.java | 48 + .../amqp/models/AmqpAnnotatedMessageTest.java | 124 +- .../core/amqp/models/AmqpDataBodyTest.java | 54 - .../core/amqp/models/AmqpMessageBodyTest.java | 47 + .../core/amqp/models/AmqpMessageIdTest.java | 47 + sdk/core/azure-core-experimental/README.md | 3 +- .../azure-core-http-jdk-httpclient/README.md | 3 +- sdk/core/azure-core-http-netty/CHANGELOG.md | 3 + sdk/core/azure-core-http-netty/README.md | 3 +- .../implementation/ReadTimeoutHandler.java | 7 +- .../ResponseTimeoutHandler.java | 7 +- .../implementation/WriteTimeoutHandler.java | 7 +- sdk/core/azure-core-http-okhttp/README.md | 3 +- sdk/core/azure-core-management/README.md | 3 +- .../README.md | 3 +- .../README.md | 3 +- .../azure-core-serializer-json-gson/README.md | 3 +- .../README.md | 3 +- sdk/core/azure-core-test/README.md | 3 +- sdk/core/azure-core/README.md | 3 +- sdk/cosmos/azure-cosmos-encryption/pom.xml | 2 +- .../java/com/azure/cosmos/BridgeInternal.java | 10 +- .../azure/cosmos/CosmosAsyncContainer.java | 12 + .../com/azure/cosmos/CosmosContainer.java | 20 + .../com/azure/cosmos/CosmosDiagnostics.java | 10 + .../com/azure/cosmos/CosmosException.java | 2 +- .../implementation/AsyncDocumentClient.java | 9 + .../implementation/ClientRetryPolicy.java | 2 - .../cosmos/implementation/Constants.java | 5 + .../DocumentServiceRequestContext.java | 2 + .../cosmos/implementation/HttpConstants.java | 4 + .../cosmos/implementation/IRetryPolicy.java | 58 - .../implementation/PartitionKeyRange.java | 6 +- .../cosmos/implementation/RetryUtils.java | 8 +- .../implementation/RxDocumentClientImpl.java | 59 + .../RxDocumentServiceRequest.java | 14 + .../implementation/RxGatewayStoreModel.java | 5 +- .../implementation/ShouldRetryResult.java | 63 + .../directconnectivity/AddressResolver.java | 21 +- .../GatewayAddressCache.java | 8 +- .../GoneAndRetryWithRetryPolicy.java | 1 + .../directconnectivity/HttpClientUtils.java | 15 +- .../HttpTransportClient.java | 2 +- .../rntbd/RntbdRequestManager.java | 9 +- .../EpkRequestPropertyConstants.java | 9 + .../feedranges/FeedRangeAsyncVisitor.java | 14 + .../FeedRangeAsyncVisitorWithArg.java | 15 + .../FeedRangeCompositeContinuationImpl.java | 359 + .../feedranges/FeedRangeContinuation.java | 58 + ...entServiceRequestPopulatorVisitorImpl.java | 47 + .../FeedRangeContinuationVisitor.java | 8 + .../feedranges/FeedRangeEpkImpl.java | 127 + .../feedranges/FeedRangeInternal.java | 118 + .../feedranges/FeedRangePartitionKeyImpl.java | 141 + ...edRangePartitionKeyRangeExtractorImpl.java | 99 + .../FeedRangePartitionKeyRangeImpl.java | 150 + ...entServiceRequestPopulatorVisitorImpl.java | 64 + .../feedranges/FeedRangeTransformer.java | 12 + .../feedranges/FeedRangeVisitor.java | 12 + .../feedranges/GenericFeedRangeVisitor.java | 12 + .../query/CompositeContinuationToken.java | 4 +- .../routing/PartitionKeyInternalHelper.java | 6 + .../com/azure/cosmos/models/FeedRange.java | 24 + .../main/java/com/azure/cosmos/util/Beta.java | 2 + .../com/azure/cosmos/CosmosContainerTest.java | 21 + .../azure/cosmos/CosmosDiagnosticsTest.java | 10 + .../com/azure/cosmos/CosmosExceptionTest.java | 4 +- .../cosmos/RetryContextOnDiagnosticTest.java | 3 +- .../implementation/ClientRetryPolicyTest.java | 52 +- .../implementation/NetworkFailureTest.java | 2 +- ...eCollectionAwareClientRetryPolicyTest.java | 11 +- .../RetryCreateDocumentTest.java | 6 +- .../cosmos/implementation/RetryUtilsTest.java | 1 - .../implementation/ShouldRetryValidator.java | 18 +- .../ConnectionStateListenerTest.java | 16 +- .../GoneAndRetryWithRetryPolicyTest.java | 38 +- .../HttpTransportClientTest.java | 1 + .../TcpServerMock/TcpServer.java | 2 + .../feedranges/FeedRangeTest.java | 505 + .../query/DocumentProducerTest.java | 2 +- sdk/e2e/pom.xml | 2 +- .../azure-messaging-eventgrid/README.md | 2 +- .../microsoft-azure-eventgrid/README.md | 2 +- .../CHANGELOG.md | 6 +- .../pom.xml | 6 +- .../azure-messaging-eventhubs/CHANGELOG.md | 7 +- .../azure-messaging-eventhubs/pom.xml | 2 +- .../azure-ai-formrecognizer/CHANGELOG.md | 4 + .../azure-ai-formrecognizer/README.md | 2 +- sdk/formrecognizer/test-resources.json | 4 +- sdk/identity/azure-identity-perf/README.md | 3 +- sdk/keyvault/README.md | 2 +- .../CHANGELOG.md | 20 +- .../README.md | 2 +- .../pom.xml | 2 +- .../KeyVaultAccessControlAsyncClient.java | 275 +- .../KeyVaultAccessControlClient.java | 132 +- .../KeyVaultAccessControlClientBuilder.java | 24 +- .../KeyVaultAdministrationServiceVersion.java | 33 + .../KeyVaultBackupAsyncClient.java | 210 +- .../administration/KeyVaultBackupClient.java | 33 +- .../KeyVaultBackupClientBuilder.java | 24 +- .../models/KeyVaultBackupOperation.java | 21 +- .../administration/models/KeyVaultError.java | 3 + .../models/KeyVaultLongRunningOperation.java | 27 +- .../models/KeyVaultPermission.java | 25 +- .../models/KeyVaultRestoreOperation.java | 11 +- .../models/KeyVaultRoleAssignment.java | 20 +- .../KeyVaultRoleAssignmentProperties.java | 2 + .../models/KeyVaultRoleAssignmentScope.java | 36 - .../models/KeyVaultRoleDefinition.java | 3 + .../KeyVaultRoleDefinitionProperties.java | 7 +- .../models/KeyVaultRoleScope.java | 48 + .../src/main/java/module-info.java | 4 +- .../AccessControlHelloWorld.java | 16 +- .../AccessControlHelloWorldAsync.java | 17 +- .../BackupAndRestoreHelloWorldAsync.java | 4 +- ...eateRoleAssignmentsForDifferentScopes.java | 12 +- .../ResumeBackupAndRestore.java | 68 - .../ResumeBackupAndRestoreAsync.java | 82 - .../KeyVaultAccessControlAsyncClientTest.java | 71 +- .../KeyVaultAccessControlClientTest.java | 67 +- .../KeyVaultBackupAsyncClientTest.java | 80 +- .../KeyVaultBackupClientTest.java | 68 +- .../session-records/getBackupStatus.json | 135 - .../session-records/getRestoreStatus.json | 240 - .../CHANGELOG.md | 36 + .../azure-security-keyvault-jca/CHANGELOG.md | 5 +- .../azure-security-keyvault-jca/pom.xml | 2 +- .../security/keyvault/jca/AuthClient.java | 27 +- .../security/keyvault/jca/KeyVaultClient.java | 80 +- .../keyvault/jca/KeyVaultKeyStore.java | 19 +- .../jca/KeyVaultLoadStoreParameter.java | 51 +- .../keyvault/jca/model/SecretBundle.java | 23 + .../keyvault/jca/ClientSSLSample.java | 1 + .../keyvault/jca/ServerSSLSample.java | 1 + .../security/keyvault/jca/AuthClientTest.java | 1 + .../keyvault/jca/KeyVaultJcaProviderTest.java | 1 + .../keyvault/jca/KeyVaultKeyStoreTest.java | 9 + .../jca/KeyVaultLoadStoreParameterTest.java | 1 + .../keyvault/jca/ServerSocketTest.java | 2 + .../azure-security-keyvault-keys/CHANGELOG.md | 54 +- .../azure-security-keyvault-keys/README.md | 2 +- .../azure-security-keyvault-keys/pom.xml | 2 +- .../keyvault/keys/KeyAsyncClient.java | 109 +- .../security/keyvault/keys/KeyClient.java | 63 + .../keys/KeyExportRequestParameters.java | 39 + .../keys/KeyImportRequestParameters.java | 27 + .../keyvault/keys/KeyRequestAttributes.java | 28 + .../keyvault/keys/KeyRequestParameters.java | 53 + .../security/keyvault/keys/KeyService.java | 11 + .../keys/cryptography/Aes128CbcPad.java | 13 + .../keyvault/keys/cryptography/Aes128Gcm.java | 13 + .../{AesKw128.java => Aes128Kw.java} | 4 +- .../keys/cryptography/Aes192CbcPad.java | 13 + .../keyvault/keys/cryptography/Aes192Gcm.java | 13 + .../{AesKw192.java => Aes192Kw.java} | 4 +- .../keys/cryptography/Aes256CbcPad.java | 13 + .../keyvault/keys/cryptography/Aes256Gcm.java | 13 + .../{AesKw256.java => Aes256Kw.java} | 4 +- .../keyvault/keys/cryptography/AesCbc.java | 78 +- .../keys/cryptography/AesCbcHmacSha2.java | 27 +- .../keyvault/keys/cryptography/AesCbcPad.java | 116 + .../keyvault/keys/cryptography/AesGcm.java | 128 + .../keyvault/keys/cryptography/AesKw.java | 19 +- .../keys/cryptography/AlgorithmResolver.java | 20 +- .../cryptography/CryptographyAsyncClient.java | 189 +- .../keys/cryptography/CryptographyClient.java | 256 +- .../CryptographyServiceClient.java | 40 +- .../keys/cryptography/DecryptOptions.java | 267 + .../cryptography/EcKeyCryptographyClient.java | 6 +- .../keys/cryptography/EncryptOptions.java | 304 + .../cryptography/KeyOperationParameters.java | 77 + .../cryptography/KeyWrapUnwrapRequest.java | 1 - .../LocalCryptographyAsyncClient.java | 106 +- .../cryptography/LocalCryptographyClient.java | 109 +- .../LocalKeyCryptographyClient.java | 6 +- .../keyvault/keys/cryptography/Rsa15.java | 8 +- .../RsaKeyCryptographyClient.java | 33 +- .../keyvault/keys/cryptography/RsaOaep.java | 8 +- .../SymmetricEncryptionAlgorithm.java | 95 +- .../SymmetricKeyCryptographyClient.java | 144 +- .../cryptography/models/EncryptResult.java | 60 + .../models/EncryptionAlgorithm.java | 69 +- .../keys/models/CreateKeyOptions.java | 50 + .../keys/models/CreateRsaKeyOptions.java | 25 + .../keys/models/ImportKeyOptions.java | 24 + .../keyvault/keys/models/KeyOperation.java | 5 + .../keyvault/keys/models/KeyProperties.java | 51 + .../keys/models/KeyReleasePolicy.java | 66 + .../keyvault/keys/models/KeyVaultKey.java | 14 + .../KeyAsyncClientJavaDocCodeSnippets.java | 39 +- .../keys/KeyClientJavaDocCodeSnippets.java | 27 + ...ographyAsyncClientJavaDocCodeSnippets.java | 70 +- ...CryptographyClientJavaDocCodeSnippets.java | 105 +- ...ographyAsyncClientJavaDocCodeSnippets.java | 38 +- ...CryptographyClientJavaDocCodeSnippets.java | 37 +- .../keyvault/keys/KeyAsyncClientTest.java | 57 + .../security/keyvault/keys/KeyClientTest.java | 49 + .../keyvault/keys/KeyClientTestBase.java | 36 +- .../cryptography/CryptographyClientTest.java | 26 +- .../CryptographyClientTestBase.java | 7 +- .../LocalCryptographyClientTest.java | 51 +- .../LocalCryptographyClientTestBase.java | 87 + .../encryptDecryptLocalAes128Cbc.json | 4 + .../encryptDecryptLocalAes128CbcPad.json | 4 + .../encryptDecryptLocalAes128Gcm.json | 4 + .../encryptDecryptLocalAes192Cbc.json | 4 + .../encryptDecryptLocalAes192CbcPad.json | 4 + .../encryptDecryptLocalAes192Gcm.json | 4 + .../encryptDecryptLocalAes256Cbc.json | 4 + .../encryptDecryptLocalAes256CbcPad.json | 4 + .../encryptDecryptLocalAes256Gcm.json | 4 + .../CHANGELOG.md | 37 + .../microsoft-azure-loganalytics/README.md | 2 +- .../azure-ai-metricsadvisor/CHANGELOG.md | 3 + .../azure-ai-metricsadvisor/pom.xml | 2 +- .../pom.xml | 21 + ...nfigurationAzureMonitorExporterSample.java | 65 + .../AzureMonitorExporterSample.java | 28 - .../EventHubsAzureMonitorExporterSample.java | 140 + sdk/resourcemanager/README.md | 56 +- .../README.md | 51 +- .../azure-resourcemanager-appplatform/pom.xml | 4 +- .../appplatform/ReadmeSamples.java | 28 + .../README.md | 51 +- .../appservice/ReadmeSamples.java | 28 + .../README.md | 51 +- .../authorization/ReadmeSamples.java | 28 + .../azure-resourcemanager-cdn/README.md | 53 +- .../resourcemanager/cdn/ReadmeSamples.java | 28 + .../azure-resourcemanager-compute/README.md | 51 +- .../azure-resourcemanager-compute/pom.xml | 2 +- .../compute/ReadmeSamples.java | 28 + .../README.md | 51 +- .../pom.xml | 2 +- .../containerinstance/ReadmeSamples.java | 28 + .../README.md | 51 +- .../containerregistry/ReadmeSamples.java | 28 + .../README.md | 51 +- .../containerservice/ReadmeSamples.java | 28 + .../azure-resourcemanager-cosmos/README.md | 51 +- .../resourcemanager/cosmos/ReadmeSamples.java | 28 + .../azure-resourcemanager-dns/README.md | 51 +- .../resourcemanager/dns/ReadmeSamples.java | 28 + .../azure-resourcemanager-eventhubs/README.md | 51 +- .../eventhubs/ReadmeSamples.java | 28 + .../azure-resourcemanager-keyvault/README.md | 51 +- .../azure-resourcemanager-keyvault/pom.xml | 4 +- .../keyvault/ReadmeSamples.java | 28 + .../azure-resourcemanager-monitor/README.md | 51 +- .../monitor/ReadmeSamples.java | 28 + .../azure-resourcemanager-msi/README.md | 51 +- .../resourcemanager/msi/ReadmeSamples.java | 28 + .../azure-resourcemanager-network/README.md | 51 +- .../network/ReadmeSamples.java | 28 + .../azure-resourcemanager-perf/README.md | 3 +- .../README.md | 51 +- .../privatedns/ReadmeSamples.java | 28 + .../azure-resourcemanager-redis/README.md | 53 +- .../resourcemanager/redis/ReadmeSamples.java | 28 + .../azure-resourcemanager-resources/README.md | 52 +- .../resources/ReadmeSamples.java | 29 + .../azure-resourcemanager-samples/README.md | 3 +- .../azure-resourcemanager-samples/pom.xml | 4 +- .../samples/ManageSpringCloud.java | 689 +- .../ManageLinuxWebAppCosmosDbByMsi.java | 490 +- .../ManageLinuxWebAppSqlConnection.java | 318 +- ...anageLinuxWebAppWithContainerRegistry.java | 402 +- .../ManageLinuxWebAppWithTrafficManager.java | 588 +- .../samples/ManageWebAppSqlConnection.java | 312 +- .../ManageWebAppWithTrafficManager.java | 584 +- .../cdn/samples/ManageCdn.java | 362 +- .../samples/ManageCdnWithCustomDomain.java | 356 +- ...tainerInstanceWithAzureFileShareMount.java | 296 +- ...WithManualAzureFileShareMountCreation.java | 328 +- ...erInstanceWithMultipleContainerImages.java | 266 +- ...ManyUsingContainerServiceOrchestrator.java | 1050 +- .../samples/ManageContainerRegistry.java | 404 +- .../ManageContainerRegistryWithWebhooks.java | 442 +- .../eventhubs/samples/ManageEventHub.java | 404 +- .../samples/ManageEventHubEvents.java | 310 +- .../ManageEventHubGeoDisasterRecovery.java | 384 +- ...mageFromContainerRegistryToKubernetes.java | 956 +- .../privatedns/samples/ManagePrivateDns.java | 410 +- .../rediscache/samples/ManageRedisCache.java | 382 +- .../azure/resourcemanager/samples/Utils.java | 2104 ++-- ...iceBusPublishSubscribeAdvanceFeatures.java | 450 +- .../ServiceBusPublishSubscribeBasic.java | 418 +- .../ServiceBusQueueAdvanceFeatures.java | 402 +- .../samples/ServiceBusQueueBasic.java | 410 +- ...ServiceBusWithClaimBasedAuthorization.java | 330 +- .../sql/samples/GettingSqlServerMetrics.java | 702 +- .../sql/samples/ManageSqlDatabase.java | 310 +- .../ManageSqlDatabaseInElasticPool.java | 484 +- ...qlDatabasesAcrossDifferentDataCenters.java | 474 +- .../sql/samples/ManageSqlFailoverGroups.java | 390 +- .../sql/samples/ManageSqlFirewallRules.java | 304 +- .../ManageSqlImportExportDatabase.java | 328 +- .../samples/ManageSqlServerDnsAliases.java | 478 +- ...nageSqlServerKeysWithAzureKeyVaultKey.java | 362 +- .../ManageSqlServerSecurityAlertPolicy.java | 280 +- .../samples/ManageSqlVirtualNetworkRules.java | 332 +- ...ageSqlWithRecoveredOrRestoredDatabase.java | 358 +- .../samples/ManageSimpleTrafficManager.java | 360 +- .../samples/ManageTrafficManager.java | 542 +- .../samples/AppPlatformLiveOnlyTests.java | 29 +- .../AppServiceSampleLiveOnlyTests.java | 76 +- .../samples/AppServiceSampleTests.java | 25 +- .../samples/CdnSampleLiveOnlyTests.java | 23 +- .../samples/CdnSampleTests.java | 12 +- .../samples/ContainerInstanceTests.java | 72 +- .../samples/ContainerRegistryTests.java | 46 +- .../samples/EventHubsSampleTests.java | 34 +- .../samples/KubernetesClusterTests.java | 13 +- .../samples/PrivateDnsSampleTests.java | 12 +- .../samples/RedisCacheSampleTests.java | 12 +- .../ServiceBusSampleLiveOnlyTests.java | 97 +- .../samples/SqlSampleTests.java | 203 +- .../samples/TrafficManagerSampleTests.java | 36 +- ....testManageCdnProfileWithCustomDomain.json | 949 +- .../README.md | 51 +- .../servicebus/ReadmeSamples.java | 28 + .../azure-resourcemanager-sql/README.md | 51 +- .../resourcemanager/sql/ReadmeSamples.java | 28 + .../azure-resourcemanager-storage/README.md | 51 +- .../storage/ReadmeSamples.java | 28 + .../azure-resourcemanager-test/README.md | 3 +- .../README.md | 51 +- .../trafficmanager/ReadmeSamples.java | 28 + .../azure-resourcemanager/README.md | 54 +- .../azure-resourcemanager/pom.xml | 50 + .../resourcemanager/AzureResourceManager.java | 240 +- .../src/main/java/module-info.java | 20 +- .../azure/resourcemanager/ReadmeSamples.java | 224 + .../AzureResourceManagerTests.java | 350 +- ...ContainerInstanceWithPrivateIpAddress.java | 472 +- ...hPublicIpAddressWithSystemAssignedMSI.java | 428 +- .../TestContainerRegistry.java | 348 +- .../azure/resourcemanager/TestPrivateDns.java | 814 +- .../com/azure/resourcemanager/TestRedis.java | 98 +- .../com/azure/resourcemanager/TestSql.java | 180 +- .../resourcemanager/TestTrafficManager.java | 814 +- sdk/search/azure-search-perf/README.md | 3 +- .../README.md | 3 +- .../README.md | 3 +- .../perf/ReceiveAndDeleteMessageTest.java | 4 +- .../perf/ReceiveAndLockMessageTest.java | 4 +- .../servicebus/perf/SendMessageTest.java | 4 +- .../servicebus/perf/SendMessagesTest.java | 4 +- .../servicebus/perf/ServiceTest.java | 4 +- .../migration-guide.md | 72 +- .../azure-messaging-servicebus/pom.xml | 2 +- .../messaging/servicebus/ReceiverOptions.java | 10 +- .../servicebus/ServiceBusAsyncConsumer.java | 4 +- .../servicebus/ServiceBusClientBuilder.java | 113 +- .../servicebus/ServiceBusErrorContext.java | 60 + .../servicebus/ServiceBusErrorSource.java | 10 +- .../servicebus/ServiceBusException.java | 102 + .../servicebus/ServiceBusFailureReason.java | 73 + .../servicebus/ServiceBusMessage.java | 220 +- .../servicebus/ServiceBusMessageBatch.java | 10 +- .../ServiceBusMessageSerializer.java | 32 +- .../servicebus/ServiceBusProcessorClient.java | 97 +- .../servicebus/ServiceBusReceivedMessage.java | 114 +- .../ServiceBusReceiverAsyncClient.java | 110 +- .../servicebus/ServiceBusReceiverClient.java | 67 +- .../ServiceBusReceiverException.java | 34 - .../ServiceBusSenderAsyncClient.java | 15 +- .../servicebus/ServiceBusSessionManager.java | 2 +- .../servicebus/ServiceBusSessionReceiver.java | 13 +- .../SynchronousMessageSubscriber.java | 15 +- .../implementation/ManagementChannel.java | 33 +- .../MessageManagementOperations.java | 4 +- .../ServiceBusAmqpConnection.java | 10 +- .../ServiceBusManagementNode.java | 6 +- .../ServiceBusReactorAmqpConnection.java | 11 +- .../ServiceBusReactorReceiver.java | 4 +- .../ServiceBusReactorSession.java | 8 +- .../ServiceBusReceiveLinkProcessor.java | 84 +- .../implementation/ServiceBusSession.java | 10 +- .../ServiceBusProcessorClientOptions.java | 23 + .../servicebus/models/AbandonOptions.java | 4 +- .../servicebus/models/DeferOptions.java | 6 +- ...veMode.java => ServiceBusReceiveMode.java} | 2 +- .../messaging/servicebus/models/SubQueue.java | 6 +- .../messaging/servicebus/ReadmeSamples.java | 4 +- .../ReceiveNamedSessionAsyncSample.java | 4 +- .../ReceiveSingleSessionAsyncSample.java | 4 +- .../SendAndReceiveSessionMessageSample.java | 4 +- ...eBusProcessorClientJavaDocCodeSamples.java | 44 +- .../servicebus/ServiceBusProcessorSample.java | 51 +- ...ReceiverAsyncClientJavaDocCodeSamples.java | 4 +- .../ServiceBusSessionProcessorSample.java | 11 +- .../servicebus/ProxyReceiveTest.java | 4 +- .../ServiceBusAsyncConsumerTest.java | 10 +- .../ServiceBusClientBuilderTest.java | 9 +- .../ServiceBusExceptionTestHelper.java | 15 + .../ServiceBusMessageBatchTest.java | 9 +- .../ServiceBusMessageSerializerTest.java | 6 +- .../servicebus/ServiceBusMessageTest.java | 79 +- .../servicebus/ServiceBusProcessorTest.java | 85 +- .../ServiceBusReceivedMessageTest.java | 14 +- ...BusReceiverAsyncClientIntegrationTest.java | 16 +- .../ServiceBusReceiverAsyncClientTest.java | 76 +- ...rviceBusReceiverClientIntegrationTest.java | 6 +- .../ServiceBusReceiverClientTest.java | 10 +- ...ceBusSenderAsyncClientIntegrationTest.java | 8 +- .../ServiceBusSenderAsyncClientTest.java | 25 +- ...ServiceBusSenderClientIntegrationTest.java | 6 +- .../ServiceBusSessionManagerTest.java | 19 +- ...viceBusSessionReceiverAsyncClientTest.java | 10 +- ...ityServiceBusExceptionTestHelperTest.java} | 2 +- .../ManagementChannelTests.java | 79 +- .../ServiceBusReceiveLinkProcessorTest.java | 53 +- .../microsoft-azure-servicebus/README.md | 2 +- .../microsoft-azure-servicebus/pom.xml | 2 +- .../azure/servicebus/MessageConverter.java | 12 +- .../management/QueueDescription.java | 4 +- .../AADOAuth2LoginSecurityConfig.java | 23 +- .../README.md | 4 +- .../docs/demo.webp | Bin .../pom.xml | 2 +- ...reADStatelessBackendSampleApplication.java | 0 .../sample/aad/controller/MainController.java | 0 .../aad/security/AADWebSecurityConfig.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/static/index.html | 0 .../README.md | 23 +- .../pom.xml | 2 +- ...ingBootAutoconfigureSampleApplication.java | 0 .../aad/controller/TodoListController.java | 0 .../spring/sample/aad/model/TodoItem.java | 0 .../aad/security/WebSecurityConfig.java | 0 .../src/main/resources/application.properties | 0 .../main/resources/static/App/Scripts/app.js | 59 + .../resources/static/App/Scripts/homeCtrl.js | 6 +- .../resources/static/App/Scripts/indexCtrl.js | 0 .../main/resources/static/App/Scripts/msal.js | 9012 +++++++++++++++++ .../static/App/Scripts/msalModule.js | 199 + .../static/App/Scripts/todoListCtrl.js | 5 +- .../static/App/Scripts/todoListSvc.js | 0 .../static/App/Scripts/userDataCtrl.js | 0 .../main/resources/static/App/Views/Home.html | 0 .../resources/static/App/Views/TodoList.html | 0 .../resources/static/App/Views/UserData.html | 0 .../src/main/resources/static/index.html | 2 +- .../main/resources/static/App/Scripts/app.js | 34 - .../static/App/Scripts/msal-angular.js | 4558 --------- .../main/resources/static/App/Scripts/msal.js | 3958 -------- .../servicebus/ServiceBusConfiguration.java | 6 +- .../servicebus/ServiceBusProperties.java | 14 +- .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 1 + .../README.md | 37 +- .../pom.xml | 16 +- .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 4 +- .../pom.xml | 117 +- ...tCertificatesEnvironmentPostProcessor.java | 19 +- .../CHANGELOG.md | 2 +- .../pom.xml | 2 +- .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../README.md | 16 +- .../azure-spring-boot-starter-storage/pom.xml | 4 +- .../azure-spring-boot-starter/CHANGELOG.md | 2 +- .../azure-spring-boot-starter/README.md | 4 +- .../test/aad/auth/AppAutoConfigTest.java | 230 - .../aad/auth/AuthorizedClientRepoTest.java | 131 +- ...hzCodeGrantRequestEntityConverterTest.java | 104 +- ...AzureActiveDirectoryConfigurationTest.java | 188 + sdk/spring/azure-spring-boot/CHANGELOG.md | 3 +- sdk/spring/azure-spring-boot/README.md | 4 +- sdk/spring/azure-spring-boot/pom.xml | 44 +- .../AuthorizationProperties.java | 15 +- ...AuthzCodeGrantRequestEntityConverter.java} | 13 +- ...AzureActiveDirectoryAutoConfiguration.java | 166 - .../AzureActiveDirectoryConfiguration.java | 133 + .../AzureActiveDirectoryProperties.java | 60 + .../AzureAuthorizedClientRepository.java | 94 + .../AzureClientRegistrationRepository.java | 41 +- ...AzureOAuth2AuthorizedClientRepository.java | 115 - ...ter.java => AzureOAuth2Configuration.java} | 11 +- .../aad/implementation/DefaultClient.java | 23 +- .../aad/implementation/IdentityEndpoints.java | 3 +- ...AuthenticationFilterAutoConfiguration.java | 13 +- .../aad/AADAuthenticationProperties.java | 84 +- .../aad/AADOAuth2AutoConfiguration.java | 149 + .../aad/AADOAuth2UserService.java | 15 +- .../autoconfigure/aad/AzureADGraphClient.java | 23 +- .../spring/autoconfigure/aad/Membership.java | 4 +- .../spring/autoconfigure/aad/Memberships.java | 4 +- .../aad/UserPrincipalManager.java | 5 +- .../main/resources/META-INF/spring.factories | 5 +- .../resources/service-endpoints.properties | 19 +- ...th2LoginConditionalPolicyConfigSample.java | 53 - ...ADAuthenticationAutoConfigurationTest.java | 6 +- .../aad/AADOAuth2ConfigTest.java | 61 +- .../aad/UserPrincipalMicrosoftGraphTest.java | 39 +- .../CHANGELOG.md | 2 +- .../azure-spring-cloud-context/CHANGELOG.md | 2 +- .../azure-spring-cloud-messaging/CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../azure-spring-cloud-storage/CHANGELOG.md | 2 +- sdk/spring/azure-spring-cloud-storage/pom.xml | 2 +- .../CHANGELOG.md | 4 +- .../CHANGELOG.md | 4 +- .../CHANGELOG.md | 4 +- .../CHANGELOG.md | 4 +- .../CHANGELOG.md | 3 +- .../azure-spring-cloud-telemetry/CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../factory/DefaultEventHubClientFactory.java | 3 + .../CHANGELOG.md | 2 +- .../CHANGELOG.md | 2 +- .../pom.xml | 2 +- .../CHANGELOG.md | 2 +- sdk/spring/ci.yml | 4 +- sdk/spring/pom.xml | 4 +- .../azure-storage-blob-batch/CHANGELOG.md | 3 + sdk/storage/azure-storage-blob-batch/pom.xml | 4 +- .../azure/storage/blob/batch/BlobBatch.java | 2 + .../CHANGELOG.md | 3 + .../azure-storage-blob-changefeed/pom.xml | 4 +- .../CHANGELOG.md | 3 + .../azure-storage-blob-cryptography/pom.xml | 4 +- sdk/storage/azure-storage-blob-nio/pom.xml | 2 +- sdk/storage/azure-storage-blob/CHANGELOG.md | 3 + sdk/storage/azure-storage-blob/pom.xml | 6 +- .../storage/blob/ContainerAPITest.groovy | 16 + .../azure/storage/blob/LargeBlobTest.groovy | 5 + .../storage/blob/RequestRetryTestFactory.java | 13 +- ...tainerAPITestlistblobsprefixwithcomma.json | 112 + sdk/storage/azure-storage-common/CHANGELOG.md | 4 + sdk/storage/azure-storage-common/pom.xml | 2 +- .../implementation/StorageImplUtils.java | 13 +- .../common/policy/RequestRetryOptions.java | 114 +- .../common/policy/RequestRetryPolicy.java | 2 +- .../azure-storage-file-datalake/CHANGELOG.md | 3 + .../azure-storage-file-datalake/pom.xml | 4 +- .../file/datalake/LargeFileTest.groovy | 5 + .../azure-storage-file-share/CHANGELOG.md | 3 + .../azure-storage-file-share/README.md | 2 +- sdk/storage/azure-storage-file-share/pom.xml | 4 +- .../azure-storage-internal-avro/CHANGELOG.md | 5 +- .../azure-storage-internal-avro/pom.xml | 4 +- sdk/storage/azure-storage-perf/README.md | 3 +- sdk/storage/azure-storage-perf/pom.xml | 2 +- sdk/storage/azure-storage-queue/CHANGELOG.md | 3 + sdk/storage/azure-storage-queue/README.md | 2 +- sdk/storage/azure-storage-queue/pom.xml | 4 +- sdk/synapse/mgmt-v2019_06_01_preview/pom.xml | 2 +- .../AzureEntityResource.java | 3 +- .../BigDataPoolResourceInfo.java | 95 +- .../CustomerManagedKeyDetails.java | 58 + .../DataMaskingFunction.java | 65 + .../DataMaskingPolicies.java | 31 + .../DataMaskingPolicy.java | 155 + .../v2019_06_01_preview/DataMaskingRule.java | 374 + .../DataMaskingRuleState.java | 53 + .../v2019_06_01_preview/DataMaskingRules.java | 31 + .../v2019_06_01_preview/DataMaskingState.java | 53 + .../EncryptionDetails.java | 58 + ...rContractInner.java => ErrorContract.java} | 9 +- ...ption.java => ErrorContractException.java} | 19 +- .../v2019_06_01_preview/ErrorResponse.java | 5 +- .../ExtendedServerBlobAuditingPolicy.java | 482 + .../ExtendedSqlPoolBlobAuditingPolicies.java | 42 + .../ExtendedSqlPoolBlobAuditingPolicy.java | 483 + .../IntegrationRuntimeAuthKeysOperations.java | 4 +- .../IntegrationRuntimeConnectionInfos.java | 2 +- .../IntegrationRuntimeCredentials.java | 2 +- .../IntegrationRuntimeMonitoringDatas.java | 4 +- ...grationRuntimeNodeIpAddressOperations.java | 2 +- .../IntegrationRuntimeNodes.java | 6 +- .../IntegrationRuntimeObjectMetadatas.java | 6 +- .../IntegrationRuntimeStatusOperations.java | 2 +- .../IntegrationRuntimes.java | 34 +- .../synapse/v2019_06_01_preview/Key.java | 146 + .../synapse/v2019_06_01_preview/Keys.java | 53 + .../v2019_06_01_preview/ManagedIdentity.java | 5 +- .../ManagedVirtualNetworkSettings.java | 96 + .../MetadataSyncConfig.java | 5 + .../synapse/v2019_06_01_preview/NodeSize.java | 3 + .../OperationResource.java | 63 + .../v2019_06_01_preview/Operations.java | 14 +- .../PrivateEndpointConnection.java | 52 +- ...teEndpointConnectionForPrivateLinkHub.java | 50 + ...pointConnectionForPrivateLinkHubBasic.java | 101 + .../PrivateEndpointConnections.java | 6 +- ...ateEndpointConnectionsPrivateLinkHubs.java | 29 + .../v2019_06_01_preview/PrivateLinkHub.java | 34 +- .../v2019_06_01_preview/PrivateLinkHubs.java | 12 +- .../PrivateLinkServiceConnectionState.java | 7 +- .../PurviewConfiguration.java | 43 + .../RecoverableSqlPool.java | 58 + .../v2019_06_01_preview/ReplicationLink.java | 4 +- .../ResourceMoveDefinition.java | 43 - .../RestorableDroppedSqlPool.java | 83 + .../RestorableDroppedSqlPools.java | 40 + .../v2019_06_01_preview/RestorePoint.java | 4 +- .../SelfHostedIntegrationRuntime.java | 6 +- .../SelfHostedIntegrationRuntimeStatus.java | 15 + .../SensitivityLabelSource.java | 53 + .../SensitivityLabels.java | 3 +- .../ServerBlobAuditingPolicy.java | 453 + .../ServerSecurityAlertPolicy.java | 286 + .../v2019_06_01_preview/ServerUsage.java | 56 + .../ServerVulnerabilityAssessment.java | 192 + .../synapse/v2019_06_01_preview/SqlPool.java | 6 +- .../SqlPoolBlobAuditingPolicies.java | 11 + .../v2019_06_01_preview/SqlPoolColumns.java | 33 + .../SqlPoolGeoBackupPolicies.java | 12 + .../SqlPoolMetadataSyncConfigs.java | 4 +- .../v2019_06_01_preview/SqlPoolPatchInfo.java | 6 +- .../SqlPoolReplicationLinks.java | 13 + .../SqlPoolRestorePoints.java | 25 + .../v2019_06_01_preview/SqlPoolSchema.java | 4 +- .../v2019_06_01_preview/SqlPoolSchemas.java | 12 + .../SqlPoolSecurityAlertPolicies.java | 12 + .../SqlPoolSensitivityLabels.java | 17 +- .../v2019_06_01_preview/SqlPoolTable.java | 4 +- .../SqlPoolTableColumns.java | 2 +- .../v2019_06_01_preview/SqlPoolTables.java | 13 + .../SqlPoolTransparentDataEncryptions.java | 12 + ...olVulnerabilityAssessmentRuleBaseline.java | 3 +- ...lVulnerabilityAssessmentRuleBaselines.java | 14 + .../SqlPoolVulnerabilityAssessmentScans.java | 12 + .../SqlPoolWorkloadClassifiers.java | 62 + .../SqlPoolWorkloadGroups.java | 59 + .../synapse/v2019_06_01_preview/SqlPools.java | 13 - ...eSchemaSqlPoolWorkspaceSqlPoolColumn.java} | 4 +- ...emaSqlPoolWorkspaceSqlPoolColumnModel.java | 42 + .../VulnerabilityAssessmentScanRecord.java | 4 +- .../WorkloadClassifier.java | 252 + .../v2019_06_01_preview/WorkloadGroup.java | 227 + .../v2019_06_01_preview/Workspace.java | 114 +- .../WorkspaceKeyDetails.java | 69 + ...eManagedSqlServerBlobAuditingPolicies.java | 42 + ...SqlServerExtendedBlobAuditingPolicies.java | 42 + ...ceManagedSqlServerRecoverableSqlpools.java | 42 + ...eManagedSqlServerSecurityAlertPolicys.java | 42 + .../WorkspaceManagedSqlServerUsages.java | 30 + ...agedSqlServerVulnerabilityAssessments.java | 54 + .../WorkspacePatchInfo.java | 78 + .../WorkspaceRepositoryConfiguration.java | 200 + .../WorkspaceSqlAadAdmins.java | 52 + .../BigDataPoolResourceInfoImpl.java | 33 + .../BigDataPoolResourceInfoInner.java | 84 +- .../implementation/BigDataPoolsInner.java | 60 +- .../DataMaskingPoliciesImpl.java | 59 + .../DataMaskingPoliciesInner.java | 263 + .../implementation/DataMaskingPolicyImpl.java | 138 + .../DataMaskingPolicyInner.java | 138 + .../implementation/DataMaskingRuleImpl.java | 235 + .../implementation/DataMaskingRuleInner.java | 367 + .../implementation/DataMaskingRulesImpl.java | 62 + .../implementation/DataMaskingRulesInner.java | 277 + .../ExtendedServerBlobAuditingPolicyImpl.java | 205 + ...ExtendedServerBlobAuditingPolicyInner.java | 503 + ...tendedSqlPoolBlobAuditingPoliciesImpl.java | 78 + ...endedSqlPoolBlobAuditingPoliciesInner.java | 520 + ...ExtendedSqlPoolBlobAuditingPolicyImpl.java | 208 + ...xtendedSqlPoolBlobAuditingPolicyInner.java | 503 + ...grationRuntimeAuthKeysOperationsInner.java | 24 +- ...ntegrationRuntimeConnectionInfosInner.java | 8 +- .../IntegrationRuntimeCredentialsInner.java | 8 +- ...IntegrationRuntimeMonitoringDatasImpl.java | 4 +- ...ntegrationRuntimeMonitoringDatasInner.java | 32 +- ...onRuntimeNodeIpAddressOperationsInner.java | 8 +- .../IntegrationRuntimeNodesInner.java | 32 +- ...IntegrationRuntimeObjectMetadatasImpl.java | 4 +- ...ntegrationRuntimeObjectMetadatasInner.java | 162 +- ...tegrationRuntimeStatusOperationsInner.java | 8 +- .../IntegrationRuntimesImpl.java | 12 + .../IntegrationRuntimesInner.java | 649 +- .../implementation/IpFirewallRulesInner.java | 60 +- .../implementation/KeyImpl.java | 116 + .../implementation/KeyInner.java | 72 + .../implementation/KeysImpl.java | 85 + .../implementation/KeysInner.java | 608 ++ .../MetadataSyncConfigImpl.java | 5 + .../MetadataSyncConfigInner.java | 26 + .../implementation/OperationResourceImpl.java | 86 + .../implementation/OperationsImpl.java | 31 +- .../implementation/OperationsInner.java | 61 +- .../implementation/PageImpl1.java | 75 + ...dpointConnectionForPrivateLinkHubImpl.java | 62 + ...pointConnectionForPrivateLinkHubInner.java | 70 + .../PrivateEndpointConnectionImpl.java | 16 +- .../PrivateEndpointConnectionsInner.java | 150 +- ...ndpointConnectionsPrivateLinkHubsImpl.java | 53 + ...dpointConnectionsPrivateLinkHubsInner.java | 303 + .../implementation/PrivateLinkHubImpl.java | 13 + .../implementation/PrivateLinkHubInner.java | 35 +- .../implementation/PrivateLinkHubsImpl.java | 24 +- .../implementation/PrivateLinkHubsInner.java | 203 +- .../PrivateLinkResourcesInner.java | 26 +- .../RecoverableSqlPoolImpl.java | 79 + .../RecoverableSqlPoolInner.java | 81 + .../implementation/ReplicationLinkImpl.java | 21 +- .../RestorableDroppedSqlPoolImpl.java | 104 + .../RestorableDroppedSqlPoolInner.java | 156 + .../RestorableDroppedSqlPoolsImpl.java | 69 + .../RestorableDroppedSqlPoolsInner.java | 249 + .../implementation/RestorePointImpl.java | 21 +- .../implementation/SensitivityLabelsImpl.java | 2 +- .../ServerBlobAuditingPolicyImpl.java | 194 + .../ServerBlobAuditingPolicyInner.java | 477 + .../ServerSecurityAlertPolicyImpl.java | 177 + .../ServerSecurityAlertPolicyInner.java | 227 + .../implementation/ServerUsageImpl.java | 66 + .../implementation/ServerUsageInner.java | 123 + .../ServerVulnerabilityAssessmentImpl.java | 137 + .../ServerVulnerabilityAssessmentInner.java | 131 + .../SqlPoolBlobAuditingPoliciesImpl.java | 19 + .../SqlPoolBlobAuditingPoliciesInner.java | 256 + .../implementation/SqlPoolColumnsImpl.java | 50 + .../implementation/SqlPoolColumnsInner.java | 174 + .../SqlPoolConnectionPoliciesInner.java | 10 +- .../SqlPoolGeoBackupPoliciesImpl.java | 19 + .../SqlPoolGeoBackupPoliciesInner.java | 117 +- .../implementation/SqlPoolImpl.java | 4 +- .../implementation/SqlPoolInner.java | 6 +- .../SqlPoolMetadataSyncConfigsImpl.java | 4 +- .../SqlPoolMetadataSyncConfigsInner.java | 141 +- .../SqlPoolOperationResultsInner.java | 11 +- .../SqlPoolReplicationLinksImpl.java | 16 + .../SqlPoolReplicationLinksInner.java | 127 +- .../SqlPoolRestorePointsImpl.java | 34 +- .../SqlPoolRestorePointsInner.java | 225 +- .../implementation/SqlPoolSchemaImpl.java | 21 +- .../implementation/SqlPoolSchemasImpl.java | 16 + .../implementation/SqlPoolSchemasInner.java | 105 + .../SqlPoolSecurityAlertPoliciesImpl.java | 19 + .../SqlPoolSecurityAlertPoliciesInner.java | 266 + .../SqlPoolSensitivityLabelsImpl.java | 18 + .../SqlPoolSensitivityLabelsInner.java | 146 +- .../SqlPoolTableColumnsImpl.java | 12 +- .../implementation/SqlPoolTableImpl.java | 23 +- .../implementation/SqlPoolTablesImpl.java | 16 + .../implementation/SqlPoolTablesInner.java | 112 + ...SqlPoolTransparentDataEncryptionsImpl.java | 19 + ...qlPoolTransparentDataEncryptionsInner.java | 283 +- .../implementation/SqlPoolUsagesInner.java | 18 +- ...lnerabilityAssessmentRuleBaselineImpl.java | 2 +- ...nerabilityAssessmentRuleBaselinesImpl.java | 29 + ...erabilityAssessmentRuleBaselinesInner.java | 114 + ...lPoolVulnerabilityAssessmentScansImpl.java | 16 + ...PoolVulnerabilityAssessmentScansInner.java | 105 + .../SqlPoolVulnerabilityAssessmentsInner.java | 1 + .../SqlPoolWorkloadClassifiersImpl.java | 85 + .../SqlPoolWorkloadClassifiersInner.java | 893 ++ .../SqlPoolWorkloadGroupsImpl.java | 85 + .../SqlPoolWorkloadGroupsInner.java | 850 ++ .../implementation/SqlPoolsImpl.java | 6 - .../implementation/SqlPoolsInner.java | 184 +- .../SynapseManagementClientImpl.java | 224 + .../implementation/SynapseManager.java | 192 + ...emaSqlPoolWorkspaceSqlPoolColumnImpl.java} | 6 +- ...qlPoolWorkspaceSqlPoolColumnModelImpl.java | 70 + ...VulnerabilityAssessmentScanRecordImpl.java | 21 +- .../WorkloadClassifierImpl.java | 166 + .../WorkloadClassifierInner.java | 176 + .../implementation/WorkloadGroupImpl.java | 163 + .../implementation/WorkloadGroupInner.java | 176 + .../WorkspaceAadAdminsInner.java | 31 +- .../implementation/WorkspaceImpl.java | 66 + .../implementation/WorkspaceInner.java | 124 + ...anagedIdentitySqlControlSettingsInner.java | 20 +- ...agedSqlServerBlobAuditingPoliciesImpl.java | 78 + ...gedSqlServerBlobAuditingPoliciesInner.java | 602 ++ ...erverExtendedBlobAuditingPoliciesImpl.java | 78 + ...rverExtendedBlobAuditingPoliciesInner.java | 602 ++ ...nagedSqlServerRecoverableSqlpoolsImpl.java | 69 + ...agedSqlServerRecoverableSqlpoolsInner.java | 415 + ...agedSqlServerSecurityAlertPolicysImpl.java | 78 + ...gedSqlServerSecurityAlertPolicysInner.java | 602 ++ .../WorkspaceManagedSqlServerUsagesImpl.java | 53 + .../WorkspaceManagedSqlServerUsagesInner.java | 313 + ...SqlServerVulnerabilityAssessmentsImpl.java | 85 + ...qlServerVulnerabilityAssessmentsInner.java | 613 ++ .../WorkspaceSqlAadAdminsImpl.java | 61 + .../WorkspaceSqlAadAdminsInner.java | 494 + .../implementation/WorkspacesInner.java | 72 +- sdk/tables/azure-data-tables/CHANGELOG.md | 10 +- sdk/tables/azure-data-tables/README.md | 2 +- sdk/tables/azure-data-tables/pom.xml | 4 +- .../azure-ai-textanalytics/CHANGELOG.md | 84 +- .../azure-ai-textanalytics/README.md | 156 +- .../azure-ai-textanalytics/pom.xml | 3 +- .../AnalyzeHealthcareAsyncClient.java | 327 + .../AnalyzeSentimentAsyncClient.java | 3 +- .../AnalyzeTasksAsyncClient.java | 393 + .../DetectLanguageAsyncClient.java | 20 +- .../RecognizePiiEntityAsyncClient.java | 11 +- .../TextAnalyticsAsyncClient.java | 99 + .../ai/textanalytics/TextAnalyticsClient.java | 99 + .../TextAnalyticsServiceVersion.java | 4 +- .../AnalyzeTasksResultPropertiesHelper.java | 88 + ...hcareEntityCollectionPropertiesHelper.java | 47 + .../HealthcareEntityLinkPropertiesHelper.java | 40 + .../HealthcareEntityPropertiesHelper.java | 71 + ...lthcareEntityRelationPropertiesHelper.java | 50 + .../HealthcareTaskResultPropertiesHelper.java | 47 + ...itiesResultCollectionPropertiesHelper.java | 47 + ...lthcareEntitiesResultPropertiesHelper.java | 40 + .../TextAnalyticsClientBuilder.java | 66 + .../TextAnalyticsClientImpl.java | 202 +- .../TextAnalyticsClientImplBuilder.java | 155 +- ...yticsErrorInformationPropertiesHelper.java | 43 + ...extAnalyticsExceptionPropertiesHelper.java | 40 + ...lyticsOperationResultPropertiesHelper.java | 37 + .../textanalytics/implementation/Utility.java | 326 +- .../models/AnalyzeBatchInput.java | 67 + .../implementation/models/AnalyzeHeaders.java | 38 + .../models/AnalyzeJobState.java | 120 + .../models/AnalyzeResponse.java | 26 + .../models/AspectConfidenceScoreLabel.java | 2 +- .../models/CancelHealthJobHeaders.java | 38 + .../models/CancelHealthJobResponse.java | 26 + .../models/DocumentHealthcareEntities.java | 146 + .../models/DocumentStatistics.java | 2 +- .../implementation/models/EntitiesTask.java | 38 + .../models/EntitiesTaskParameters.java | 64 + .../implementation/models/Entity.java | 32 +- .../implementation/models/ErrorCodeValue.java | 54 +- .../implementation/models/HealthHeaders.java | 38 + .../implementation/models/HealthResponse.java | 26 + .../models/HealthcareEntity.java | 65 + .../models/HealthcareEntityLink.java | 64 + .../models/HealthcareJobState.java | 91 + .../models/HealthcareRelation.java | 122 + .../models/HealthcareResult.java | 120 + .../implementation/models/JobDescriptor.java | 38 + .../implementation/models/JobManifest.java | 41 + .../models/JobManifestTasks.java | 91 + .../implementation/models/JobMetadata.java | 170 + .../implementation/models/KeyPhrasesTask.java | 38 + .../models/KeyPhrasesTaskParameters.java | 38 + .../implementation/models/LinkedEntity.java | 9 +- .../models/MultiLanguageBatchInput.java | 2 +- .../models/MultiLanguageInput.java | 2 +- .../implementation/models/Pagination.java | 38 + .../models/PiiDocumentEntities.java | 52 +- ...{PiiEntitiesResult.java => PiiResult.java} | 20 +- .../implementation/models/PiiTask.java | 38 + .../models/PiiTaskParameters.java | 90 + .../models/PiiTaskParametersDomain.java | 34 + .../models/RequestStatistics.java | 2 +- .../SentimentConfidenceScorePerLabel.java | 2 +- .../implementation/models/State.java | 65 + .../models/StringIndexTypeResponse.java | 50 + .../implementation/models/TaskState.java | 91 + .../implementation/models/TasksState.java | 38 + .../models/TasksStateTasks.java | 224 + ...ateTasksEntityRecognitionPiiTasksItem.java | 38 + ...sStateTasksEntityRecognitionTasksItem.java | 38 + ...tateTasksKeyPhraseExtractionTasksItem.java | 38 + .../implementation/models/package-info.java | 11 +- .../implementation/package-info.java | 11 +- .../models/AnalyzeTasksOptions.java | 202 + .../models/AnalyzeTasksResult.java | 251 + .../ai/textanalytics/models/EntitiesTask.java | 37 + .../models/EntitiesTaskParameters.java | 37 + .../models/HealthcareEntity.java | 153 + .../models/HealthcareEntityCollection.java | 81 + .../models/HealthcareEntityLink.java | 73 + .../models/HealthcareEntityRelation.java | 111 + .../models/HealthcareTaskResult.java | 89 + .../ai/textanalytics/models/JobMetadata.java | 115 + .../ai/textanalytics/models/JobState.java | 30 + .../textanalytics/models/KeyPhrasesTask.java | 35 + .../models/KeyPhrasesTaskParameters.java | 37 + .../ai/textanalytics/models/PiiTask.java | 35 + .../models/PiiTaskParameters.java | 62 + .../models/PiiTaskParametersDomain.java | 29 + .../RecognizeHealthcareEntitiesResult.java | 54 + .../RecognizeHealthcareEntityOptions.java | 113 + .../models/RecognizePiiEntityOptions.java | 2 +- .../models/TextAnalyticsErrorInformation.java | 75 + .../models/TextAnalyticsException.java | 29 + .../models/TextAnalyticsOperationResult.java | 31 + ...izeHealthcareEntitiesResultCollection.java | 75 + .../src/samples/README.md | 13 + .../azure/ai/textanalytics/ReadmeSamples.java | 125 + ...alyticsAsyncClientJavaDocCodeSnippets.java | 128 +- ...extAnalyticsClientJavaDocCodeSnippets.java | 142 + .../lro/AnalyzeHealthcareTask.java | 104 + .../lro/AnalyzeHealthcareTaskAsync.java | 98 + .../ai/textanalytics/lro/AnalyzeTasks.java | 151 + .../textanalytics/lro/AnalyzeTasksAsync.java | 139 + .../lro/CancelHealthcareTask.java | 72 + .../lro/CancelHealthcareTaskAsync.java | 83 + .../com/azure/ai/textanalytics/TestUtils.java | 430 + .../TextAnalyticsAsyncClientTest.java | 161 +- .../TextAnalyticsClientTest.java | 155 + .../TextAnalyticsClientTestBase.java | 222 +- ...cClientTest.analyzeTasksEmptyInput[1].json | 4 + ...alyzeTasksPaginationWithTopAndSkip[1].json | 633 ++ ...cClientTest.analyzeTasksPagination[1].json | 381 + ...ClientTest.analyzeTasksWithOptions[1].json | 591 ++ ...syncClientTest.cancelHealthcareLro[1].json | 87 + ...ClientTest.healthcareLroEmptyInput[1].json | 4 + ...lthcareLroPaginationWithTopAndSkip[1].json | 87 + ...ClientTest.healthcareLroPagination[1].json | 66 + ...lientTest.healthcareLroWithOptions[1].json | 66 + ...sClientTest.analyzeTasksEmptyInput[1].json | 4 + ...alyzeTasksPaginationWithTopAndSkip[1].json | 360 + ...sClientTest.analyzeTasksPagination[1].json | 570 ++ ...ClientTest.analyzeTasksWithOptions[1].json | 360 + ...ticsClientTest.cancelHealthcareLro[1].json | 86 + ...ClientTest.healthcareLroEmptyInput[1].json | 4 + ...lthcareLroPaginationWithTopAndSkip[1].json | 87 + ...ClientTest.healthcareLroPagination[1].json | 66 + ...lientTest.healthcareLroWithOptions[1].json | 87 + ...analyzeSentimentBatchTooManyDocuments.json | 4 +- .../analyzeSentimentDiacriticsNfc.json | 4 +- .../analyzeSentimentDiacriticsNfd.json | 4 +- .../analyzeSentimentDuplicateIdInput.json | 4 +- .../analyzeSentimentEmoji.json | 4 +- .../analyzeSentimentEmojiFamily.json | 4 +- ...timentEmojiFamilyWithSkinToneModifier.json | 4 +- ...yzeSentimentEmojiWithSkinToneModifier.json | 4 +- .../analyzeSentimentEmptyIdInput.json | 4 +- ...ShowStatisticsButIncludeOpinionMining.json | 4 +- ...eSentimentForBatchInputShowStatistics.json | 4 +- ...ShowStatisticsAndIncludeOpinionMining.json | 4 +- ...putShowStatisticsExcludeOpinionMining.json | 4 +- ...hInputWithNullAnalyzeSentimentOptions.json | 4 +- ...ntForBatchInputWithNullRequestOptions.json | 4 +- .../analyzeSentimentForBatchStringInput.json | 4 +- .../analyzeSentimentForEmptyText.json | 4 +- .../analyzeSentimentForFaultyText.json | 4 +- ...ShowStatisticsButIncludeOpinionMining.json | 4 +- ...ShowStatisticsAndIncludeOpinionMining.json | 4 +- ...ingShowStatisticsExcludeOpinionMining.json | 4 +- ...entimentForListStringWithLanguageHint.json | 4 +- .../analyzeSentimentForTextInput.json | 4 +- ...ntForTextInputWithDefaultLanguageHint.json | 4 +- ...entimentForTextInputWithOpinionMining.json | 4 +- .../analyzeSentimentKoreanNfc.json | 4 +- .../analyzeSentimentKoreanNfd.json | 4 +- .../analyzeSentimentZalgoText.json | 4 +- .../clientBuilderWithDefaultCountryHint.json | 4 +- ...thDefaultCountryHintForBatchOperation.json | 4 +- .../clientBuilderWithDefaultLanguage.json | 4 +- ...rWithDefaultLanguageForBatchOperation.json | 4 +- .../clientBuilderWithDefaultPipeline.json | 4 +- ...entBuilderWithInvalidApiKeyCredential.json | 4 +- .../clientBuilderWithNewCountryHint.json | 4 +- ...erWithNewCountryHintForBatchOperation.json | 4 +- .../clientBuilderWithNewLanguage.json | 4 +- ...ilderWithNewLanguageForBatchOperation.json | 4 +- .../clientBuilderWithNullServiceVersion.json | 4 +- .../clientBuilderWithRotateToInvalidKey.json | 4 +- .../clientBuilderWithRotateToValidKey.json | 4 +- ...lientBuilderWithValidApiKeyCredential.json | 4 +- .../detectLanguageDuplicateIdInput.json | 4 +- .../detectLanguageEmptyCountryHint.json | 4 +- .../detectLanguageEmptyIdInput.json | 4 +- .../detectLanguageEmptyText.json | 4 +- .../detectLanguageFaultyText.json | 4 +- .../detectLanguageInvalidCountryHint.json | 4 +- .../detectLanguageNoneCountryHint.json | 4 +- .../detectLanguagesBatchInput.json | 4 +- ...tectLanguagesBatchInputShowStatistics.json | 4 +- .../detectLanguagesBatchListCountryHint.json | 4 +- ...guagesBatchListCountryHintWithOptions.json | 4 +- .../detectLanguagesBatchStringInput.json | 4 +- .../detectSingleTextLanguage.json | 4 +- ...xtractKeyPhrasesBatchTooManyDocuments.json | 4 +- .../extractKeyPhrasesBatchWarning.json | 4 +- .../extractKeyPhrasesDuplicateIdInput.json | 4 +- .../extractKeyPhrasesEmptyIdInput.json | 4 +- .../extractKeyPhrasesForBatchInput.json | 4 +- ...KeyPhrasesForBatchInputShowStatistics.json | 4 +- .../extractKeyPhrasesForBatchStringInput.json | 4 +- .../extractKeyPhrasesForEmptyText.json | 4 +- .../extractKeyPhrasesForFaultyText.json | 4 +- .../extractKeyPhrasesForListLanguageHint.json | 4 +- ...actKeyPhrasesForListStringWithOptions.json | 4 +- .../extractKeyPhrasesForTextInput.json | 4 +- .../extractKeyPhrasesWarning.json | 4 +- ...ecognizeEntitiesBatchInputSingleError.json | 4 +- ...ecognizeEntitiesBatchTooManyDocuments.json | 4 +- .../recognizeEntitiesDiacriticsNfc.json | 4 +- .../recognizeEntitiesDiacriticsNfd.json | 4 +- .../recognizeEntitiesDuplicateIdInput.json | 4 +- .../recognizeEntitiesEmoji.json | 4 +- .../recognizeEntitiesEmojiFamily.json | 4 +- ...titiesEmojiFamilyWIthSkinToneModifier.json | 4 +- ...nizeEntitiesEmojiWithSkinToneModifier.json | 4 +- .../recognizeEntitiesEmptyIdInput.json | 4 +- .../recognizeEntitiesForBatchInput.json | 4 +- ...zeEntitiesForBatchInputShowStatistics.json | 4 +- .../recognizeEntitiesForBatchStringInput.json | 4 +- .../recognizeEntitiesForEmptyText.json | 4 +- .../recognizeEntitiesForFaultyText.json | 4 +- .../recognizeEntitiesForListLanguageHint.json | 4 +- .../recognizeEntitiesForListWithOptions.json | 4 +- .../recognizeEntitiesForTextInput.json | 4 +- .../recognizeEntitiesKoreanNfc.json | 4 +- .../recognizeEntitiesKoreanNfd.json | 4 +- .../recognizeEntitiesZalgoText.json | 4 +- ...zeLinkedEntitiesBatchTooManyDocuments.json | 4 +- .../recognizeLinkedEntitiesDiacriticsNfc.json | 4 +- .../recognizeLinkedEntitiesDiacriticsNfd.json | 4 +- ...cognizeLinkedEntitiesDuplicateIdInput.json | 4 +- .../recognizeLinkedEntitiesEmoji.json | 4 +- .../recognizeLinkedEntitiesEmojiFamily.json | 4 +- ...titiesEmojiFamilyWIthSkinToneModifier.json | 4 +- ...nkedEntitiesEmojiWithSkinToneModifier.json | 4 +- .../recognizeLinkedEntitiesEmptyIdInput.json | 4 +- .../recognizeLinkedEntitiesForBatchInput.json | 4 +- ...edEntitiesForBatchInputShowStatistics.json | 4 +- ...nizeLinkedEntitiesForBatchStringInput.json | 4 +- .../recognizeLinkedEntitiesForEmptyText.json | 4 +- .../recognizeLinkedEntitiesForFaultyText.json | 4 +- ...nizeLinkedEntitiesForListLanguageHint.json | 4 +- ...inkedEntitiesForListStringWithOptions.json | 4 +- .../recognizeLinkedEntitiesForTextInput.json | 4 +- .../recognizeLinkedEntitiesKoreanNfc.json | 4 +- .../recognizeLinkedEntitiesKoreanNfd.json | 4 +- .../recognizeLinkedEntitiesZalgoText.json | 4 +- ...gnizePiiEntitiesBatchInputSingleError.json | 4 +- ...gnizePiiEntitiesBatchTooManyDocuments.json | 4 +- .../recognizePiiEntitiesDiacriticsNfc.json | 4 +- .../recognizePiiEntitiesDiacriticsNfd.json | 4 +- .../recognizePiiEntitiesDuplicateIdInput.json | 4 +- .../recognizePiiEntitiesEmoji.json | 4 +- .../recognizePiiEntitiesEmojiFamily.json | 4 +- ...titiesEmojiFamilyWIthSkinToneModifier.json | 4 +- ...ePiiEntitiesEmojiWithSkinToneModifier.json | 4 +- .../recognizePiiEntitiesEmptyIdInput.json | 4 +- .../recognizePiiEntitiesForBatchInput.json | 4 +- ...iEntitiesForBatchInputForDomainFilter.json | 4 +- ...iiEntitiesForBatchInputShowStatistics.json | 4 +- ...iesForBatchInputStringForDomainFilter.json | 4 +- .../recognizePiiEntitiesForDomainFilter.json | 4 +- .../recognizePiiEntitiesForEmptyText.json | 4 +- .../recognizePiiEntitiesForFaultyText.json | 4 +- ...cognizePiiEntitiesForListLanguageHint.json | 4 +- ...zePiiEntitiesForListStringWithOptions.json | 4 +- .../recognizePiiEntitiesForTextInput.json | 4 +- .../recognizePiiEntitiesKoreanNfc.json | 4 +- .../recognizePiiEntitiesKoreanNfd.json | 4 +- .../recognizePiiEntitiesZalgoText.json | 4 +- .../azure-ai-textanalytics/swagger/README.md | 2 +- sdk/textanalytics/tests.yml | 6 +- 1236 files changed, 78433 insertions(+), 29278 deletions(-) create mode 100644 eng/common/docgeneration/Generate-DocIndex.ps1 create mode 100644 eng/common/docgeneration/assets/logo.svg create mode 100644 eng/common/docgeneration/docfx.json create mode 100644 eng/common/docgeneration/templates/matthews/partials/affix.tmpl.partial create mode 100644 eng/common/docgeneration/templates/matthews/partials/class.header.tmpl.partial create mode 100644 eng/common/docgeneration/templates/matthews/partials/class.tmpl.partial create mode 100644 eng/common/docgeneration/templates/matthews/partials/enum.tmpl.partial create mode 100644 eng/common/docgeneration/templates/matthews/partials/namespace.tmpl.partial create mode 100644 eng/common/docgeneration/templates/matthews/styles/main.css create mode 100644 eng/common/docgeneration/templates/matthews/styles/main.js create mode 100644 eng/common/pipelines/templates/steps/docindex.yml create mode 100644 eng/common/scripts/Invoke-DevOpsAPI.ps1 create mode 100644 eng/common/scripts/Update-ChangeLog.ps1 create mode 100644 eng/common/scripts/get-markdown-files-from-changed-files.ps1 create mode 100644 sdk/attestation/ci.mgmt.yml create mode 100644 sdk/attestation/mgmt-v2020_10_01/pom.xml create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/AttestationProvider.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/AttestationProviderListResult.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/AttestationProviders.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/AttestationServiceCreationParams.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/AttestationServiceCreationSpecificParams.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/AttestationServicePatchParams.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/AttestationServiceStatus.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/AzureEntityResource.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/CreatedByType.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/JSONWebKey.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/JSONWebKeySet.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/OperationList.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/Operations.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/OperationsDefinition.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/OperationsDisplayDefinition.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/SystemData.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/AttestationManagementClientImpl.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/AttestationManager.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/AttestationProviderImpl.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/AttestationProviderInner.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/AttestationProviderListResultImpl.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/AttestationProviderListResultInner.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/AttestationProvidersImpl.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/AttestationProvidersInner.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/IdParsingUtils.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/OperationListImpl.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/OperationListInner.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/OperationsImpl.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/OperationsInner.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/PageImpl.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/implementation/package-info.java create mode 100644 sdk/attestation/mgmt-v2020_10_01/src/main/java/com/microsoft/azure/management/attestation/v2020_10_01/package-info.java create mode 100644 sdk/attestation/pom.mgmt.xml create mode 100644 sdk/communication/azure-communication-administration/src/main/java/com/azure/communication/administration/ReservationStatus.java rename sdk/communication/azure-communication-administration/src/main/java/com/azure/communication/administration/models/{CreateSearchOptions.java => CreateReservationOptions.java} (81%) create mode 100644 sdk/communication/azure-communication-administration/src/main/java/com/azure/communication/administration/models/CreateReservationResponse.java delete mode 100644 sdk/communication/azure-communication-administration/src/main/java/com/azure/communication/administration/models/CreateSearchResponse.java rename sdk/communication/azure-communication-administration/src/main/java/com/azure/communication/administration/models/{PhoneNumberSearch.java => PhoneNumberReservation.java} (77%) create mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/beginCreateReservation.json delete mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/beginCreateSearch.json rename sdk/communication/azure-communication-administration/src/test/resources/session-records/{beginPurchaseSearch.json => beginPurchaseReservation.json} (56%) create mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/cancelReservation.json create mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/cancelReservationWithResponse.json delete mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/cancelSearch.json delete mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/cancelSearchWithResponse.json rename sdk/communication/azure-communication-administration/src/test/resources/session-records/{createSearch.json => createReservation.json} (58%) create mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/createReservationWithResponse.json create mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/getReservationById.json create mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/getReservationByIdWithResponse.json delete mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/getSearchById.json delete mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/getSearchByIdWithResponse.json create mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/listAllReservations.json delete mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/listAllSearches.json delete mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/releasePhoneNumbers.json delete mode 100644 sdk/communication/azure-communication-administration/src/test/resources/session-records/releasePhoneNumbersWithResponse.json delete mode 100644 sdk/communication/azure-communication-chat/src/main/java/com/azure/communication/chat/ChatUserCredentialPolicy.java create mode 100644 sdk/communication/azure-communication-common/src/main/java/com/azure/communication/common/CommunicationTokenCredential.java create mode 100644 sdk/communication/azure-communication-common/src/test/java/com/azure/communication/common/CommunicationTokenCrendentialTests.java create mode 100644 sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpAddress.java delete mode 100644 sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpBodyType.java delete mode 100644 sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpDataBody.java create mode 100644 sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageBodyType.java create mode 100644 sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageId.java create mode 100644 sdk/core/azure-core-amqp/src/samples/java/com/azure/core/amqp/models/AmqpAnnotatedMessageJavaDocCodeSamples.java create mode 100644 sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/models/AmqpAddressTest.java delete mode 100644 sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/models/AmqpDataBodyTest.java create mode 100644 sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/models/AmqpMessageBodyTest.java create mode 100644 sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/models/AmqpMessageIdTest.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ShouldRetryResult.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/EpkRequestPropertyConstants.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeAsyncVisitor.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeAsyncVisitorWithArg.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeCompositeContinuationImpl.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeContinuation.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeContinuationRxDocumentServiceRequestPopulatorVisitorImpl.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeContinuationVisitor.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeEpkImpl.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeInternal.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangePartitionKeyImpl.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangePartitionKeyRangeExtractorImpl.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangePartitionKeyRangeImpl.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeRxDocumentServiceRequestPopulatorVisitorImpl.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeTransformer.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/FeedRangeVisitor.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/feedranges/GenericFeedRangeVisitor.java create mode 100644 sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/FeedRange.java create mode 100644 sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/feedranges/FeedRangeTest.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java delete mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultRoleAssignmentScope.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultRoleScope.java delete mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/samples/java/com.azure.security.keyvault.administration/ResumeBackupAndRestore.java delete mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/samples/java/com.azure.security.keyvault.administration/ResumeBackupAndRestoreAsync.java delete mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/getBackupStatus.json delete mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/getRestoreStatus.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyExportRequestParameters.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/Aes128CbcPad.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/Aes128Gcm.java rename sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/{AesKw128.java => Aes128Kw.java} (96%) create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/Aes192CbcPad.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/Aes192Gcm.java rename sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/{AesKw192.java => Aes192Kw.java} (96%) create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/Aes256CbcPad.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/Aes256Gcm.java rename sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/{AesKw256.java => Aes256Kw.java} (96%) create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/AesCbcPad.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/AesGcm.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/DecryptOptions.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/EncryptOptions.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyReleasePolicy.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes128Cbc.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes128CbcPad.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes128Gcm.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes192Cbc.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes192CbcPad.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes192Gcm.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes256Cbc.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes256CbcPad.json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/encryptDecryptLocalAes256Gcm.json create mode 100644 sdk/monitor/microsoft-opentelemetry-exporter-azuremonitor/src/samples/java/com/microsoft/opentelemetry/exporter/azuremonitor/AppConfigurationAzureMonitorExporterSample.java delete mode 100644 sdk/monitor/microsoft-opentelemetry-exporter-azuremonitor/src/samples/java/com/microsoft/opentelemetry/exporter/azuremonitor/AzureMonitorExporterSample.java create mode 100644 sdk/monitor/microsoft-opentelemetry-exporter-azuremonitor/src/samples/java/com/microsoft/opentelemetry/exporter/azuremonitor/EventHubsAzureMonitorExporterSample.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-appplatform/src/samples/java/com/azure/resourcemanager/appplatform/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-appservice/src/samples/java/com/azure/resourcemanager/appservice/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-authorization/src/samples/java/com/azure/resourcemanager/authorization/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-cdn/src/samples/java/com/azure/resourcemanager/cdn/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-compute/src/samples/java/com/azure/resourcemanager/compute/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-containerinstance/src/samples/java/com/azure/resourcemanager/containerinstance/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-containerregistry/src/samples/java/com/azure/resourcemanager/containerregistry/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-containerservice/src/samples/java/com/azure/resourcemanager/containerservice/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-cosmos/src/samples/java/com/azure/resourcemanager/cosmos/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-dns/src/samples/java/com/azure/resourcemanager/dns/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-eventhubs/src/samples/java/com/azure/resourcemanager/eventhubs/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-keyvault/src/samples/java/com/azure/resourcemanager/keyvault/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-monitor/src/samples/java/com/azure/resourcemanager/monitor/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-msi/src/samples/java/com/azure/resourcemanager/msi/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-network/src/samples/java/com/azure/resourcemanager/network/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-privatedns/src/samples/java/com/azure/resourcemanager/privatedns/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-redis/src/samples/java/com/azure/resourcemanager/redis/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-resources/src/samples/java/com/azure/resourcemanager/resources/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-servicebus/src/samples/java/com/azure/resourcemanager/servicebus/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-sql/src/samples/java/com/azure/resourcemanager/sql/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-storage/src/samples/java/com/azure/resourcemanager/storage/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-trafficmanager/src/samples/java/com/azure/resourcemanager/trafficmanager/ReadmeSamples.java create mode 100644 sdk/resourcemanager/azure-resourcemanager/src/samples/java/com/azure/resourcemanager/ReadmeSamples.java create mode 100644 sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/ServiceBusErrorContext.java create mode 100644 sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/ServiceBusException.java create mode 100644 sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/ServiceBusFailureReason.java delete mode 100644 sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/ServiceBusReceiverException.java rename sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/models/{ReceiveMode.java => ServiceBusReceiveMode.java} (98%) create mode 100644 sdk/servicebus/azure-messaging-servicebus/src/test/java/com/azure/messaging/servicebus/ServiceBusExceptionTestHelper.java rename sdk/servicebus/azure-messaging-servicebus/src/test/java/com/azure/messaging/servicebus/implementation/{EntityHelperTest.java => EntityServiceBusExceptionTestHelperTest.java} (99%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory-stateless => azure-spring-boot-sample-active-directory-resource-server-stateless}/README.md (97%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory-stateless => azure-spring-boot-sample-active-directory-resource-server-stateless}/docs/demo.webp (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory-stateless => azure-spring-boot-sample-active-directory-resource-server-stateless}/pom.xml (95%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory-stateless => azure-spring-boot-sample-active-directory-resource-server-stateless}/src/main/java/com/azure/spring/sample/aad/AzureADStatelessBackendSampleApplication.java (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory-stateless => azure-spring-boot-sample-active-directory-resource-server-stateless}/src/main/java/com/azure/spring/sample/aad/controller/MainController.java (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory-stateless => azure-spring-boot-sample-active-directory-resource-server-stateless}/src/main/java/com/azure/spring/sample/aad/security/AADWebSecurityConfig.java (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory-stateless => azure-spring-boot-sample-active-directory-resource-server-stateless}/src/main/resources/application.properties (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory-stateless => azure-spring-boot-sample-active-directory-resource-server-stateless}/src/main/resources/static/index.html (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/README.md (93%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/pom.xml (94%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/java/com/azure/spring/sample/aad/AzureAdIntegrationSpringBootAutoconfigureSampleApplication.java (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/java/com/azure/spring/sample/aad/controller/TodoListController.java (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/java/com/azure/spring/sample/aad/model/TodoItem.java (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/java/com/azure/spring/sample/aad/security/WebSecurityConfig.java (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/application.properties (100%) create mode 100644 sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-resource-server/src/main/resources/static/App/Scripts/app.js rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/App/Scripts/homeCtrl.js (80%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/App/Scripts/indexCtrl.js (100%) create mode 100644 sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-resource-server/src/main/resources/static/App/Scripts/msal.js create mode 100644 sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory-resource-server/src/main/resources/static/App/Scripts/msalModule.js rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/App/Scripts/todoListCtrl.js (96%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/App/Scripts/todoListSvc.js (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/App/Scripts/userDataCtrl.js (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/App/Views/Home.html (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/App/Views/TodoList.html (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/App/Views/UserData.html (100%) rename sdk/spring/azure-spring-boot-samples/{azure-spring-boot-sample-active-directory => azure-spring-boot-sample-active-directory-resource-server}/src/main/resources/static/index.html (98%) delete mode 100644 sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory/src/main/resources/static/App/Scripts/app.js delete mode 100644 sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory/src/main/resources/static/App/Scripts/msal-angular.js delete mode 100644 sdk/spring/azure-spring-boot-samples/azure-spring-boot-sample-active-directory/src/main/resources/static/App/Scripts/msal.js delete mode 100644 sdk/spring/azure-spring-boot-test-aad/src/test/java/com/azure/test/aad/auth/AppAutoConfigTest.java create mode 100644 sdk/spring/azure-spring-boot-test-aad/src/test/java/com/azure/test/aad/auth/AzureActiveDirectoryConfigurationTest.java rename sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/aad/implementation/{AzureOAuth2AuthorizationCodeGrantRequestEntityConverter.java => AuthzCodeGrantRequestEntityConverter.java} (73%) delete mode 100644 sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/aad/implementation/AzureActiveDirectoryAutoConfiguration.java create mode 100644 sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/aad/implementation/AzureActiveDirectoryConfiguration.java create mode 100644 sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/aad/implementation/AzureActiveDirectoryProperties.java create mode 100644 sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/aad/implementation/AzureAuthorizedClientRepository.java delete mode 100644 sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/aad/implementation/AzureOAuth2AuthorizedClientRepository.java rename sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/aad/implementation/{AzureOAuth2WebSecurityConfigurerAdapter.java => AzureOAuth2Configuration.java} (69%) create mode 100644 sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/autoconfigure/aad/AADOAuth2AutoConfiguration.java delete mode 100644 sdk/spring/azure-spring-boot/src/samples/java/com/azure/spring/aad/AADOAuth2LoginConditionalPolicyConfigSample.java create mode 100644 sdk/storage/azure-storage-blob/src/test/resources/session-records/ContainerAPITestlistblobsprefixwithcomma.json create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/CustomerManagedKeyDetails.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/DataMaskingFunction.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/DataMaskingPolicies.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/DataMaskingPolicy.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/DataMaskingRule.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/DataMaskingRuleState.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/DataMaskingRules.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/DataMaskingState.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/EncryptionDetails.java rename sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/{implementation/ErrorContractInner.java => ErrorContract.java} (77%) rename sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/{implementation/ErrorContractInnerException.java => ErrorContractException.java} (57%) create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ExtendedServerBlobAuditingPolicy.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ExtendedSqlPoolBlobAuditingPolicies.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ExtendedSqlPoolBlobAuditingPolicy.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/Key.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/Keys.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ManagedVirtualNetworkSettings.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/OperationResource.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/PrivateEndpointConnectionForPrivateLinkHub.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/PrivateEndpointConnectionForPrivateLinkHubBasic.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/PrivateEndpointConnectionsPrivateLinkHubs.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/PurviewConfiguration.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/RecoverableSqlPool.java delete mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ResourceMoveDefinition.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/RestorableDroppedSqlPool.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/RestorableDroppedSqlPools.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/SensitivityLabelSource.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ServerBlobAuditingPolicy.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ServerSecurityAlertPolicy.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ServerUsage.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/ServerVulnerabilityAssessment.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/SqlPoolColumns.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/SqlPoolWorkloadClassifiers.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/SqlPoolWorkloadGroups.java rename sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/{SqlPoolColumn.java => TableSchemaSqlPoolWorkspaceSqlPoolColumn.java} (82%) create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/TableSchemaSqlPoolWorkspaceSqlPoolColumnModel.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkloadClassifier.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkloadGroup.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceKeyDetails.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceManagedSqlServerBlobAuditingPolicies.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceManagedSqlServerExtendedBlobAuditingPolicies.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceManagedSqlServerRecoverableSqlpools.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceManagedSqlServerSecurityAlertPolicys.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceManagedSqlServerUsages.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceManagedSqlServerVulnerabilityAssessments.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceRepositoryConfiguration.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/WorkspaceSqlAadAdmins.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/DataMaskingPoliciesImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/DataMaskingPoliciesInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/DataMaskingPolicyImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/DataMaskingPolicyInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/DataMaskingRuleImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/DataMaskingRuleInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/DataMaskingRulesImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/DataMaskingRulesInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ExtendedServerBlobAuditingPolicyImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ExtendedServerBlobAuditingPolicyInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ExtendedSqlPoolBlobAuditingPoliciesImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ExtendedSqlPoolBlobAuditingPoliciesInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ExtendedSqlPoolBlobAuditingPolicyImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ExtendedSqlPoolBlobAuditingPolicyInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/KeyImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/KeyInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/KeysImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/KeysInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/OperationResourceImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/PageImpl1.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/PrivateEndpointConnectionForPrivateLinkHubImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/PrivateEndpointConnectionForPrivateLinkHubInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/PrivateEndpointConnectionsPrivateLinkHubsImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/PrivateEndpointConnectionsPrivateLinkHubsInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/RecoverableSqlPoolImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/RecoverableSqlPoolInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/RestorableDroppedSqlPoolImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/RestorableDroppedSqlPoolInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/RestorableDroppedSqlPoolsImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/RestorableDroppedSqlPoolsInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ServerBlobAuditingPolicyImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ServerBlobAuditingPolicyInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ServerSecurityAlertPolicyImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ServerSecurityAlertPolicyInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ServerUsageImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ServerUsageInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ServerVulnerabilityAssessmentImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/ServerVulnerabilityAssessmentInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/SqlPoolColumnsImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/SqlPoolColumnsInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/SqlPoolWorkloadClassifiersImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/SqlPoolWorkloadClassifiersInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/SqlPoolWorkloadGroupsImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/SqlPoolWorkloadGroupsInner.java rename sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/{SqlPoolColumnImpl.java => TableSchemaSqlPoolWorkspaceSqlPoolColumnImpl.java} (79%) create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/TableSchemaSqlPoolWorkspaceSqlPoolColumnModelImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkloadClassifierImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkloadClassifierInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkloadGroupImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkloadGroupInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerBlobAuditingPoliciesImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerBlobAuditingPoliciesInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerExtendedBlobAuditingPoliciesImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerExtendedBlobAuditingPoliciesInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerRecoverableSqlpoolsImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerRecoverableSqlpoolsInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerSecurityAlertPolicysImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerSecurityAlertPolicysInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerUsagesImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerUsagesInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerVulnerabilityAssessmentsImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceManagedSqlServerVulnerabilityAssessmentsInner.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceSqlAadAdminsImpl.java create mode 100644 sdk/synapse/mgmt-v2019_06_01_preview/src/main/java/com/microsoft/azure/management/synapse/v2019_06_01_preview/implementation/WorkspaceSqlAadAdminsInner.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/AnalyzeHealthcareAsyncClient.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/AnalyzeTasksAsyncClient.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/AnalyzeTasksResultPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/HealthcareEntityCollectionPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/HealthcareEntityLinkPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/HealthcareEntityPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/HealthcareEntityRelationPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/HealthcareTaskResultPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/RecognizeHealthcareEntitiesResultCollectionPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/RecognizeHealthcareEntitiesResultPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsClientBuilder.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsErrorInformationPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsExceptionPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/TextAnalyticsOperationResultPropertiesHelper.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/AnalyzeBatchInput.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/AnalyzeHeaders.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/AnalyzeJobState.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/AnalyzeResponse.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/CancelHealthJobHeaders.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/CancelHealthJobResponse.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/DocumentHealthcareEntities.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/EntitiesTask.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/EntitiesTaskParameters.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/HealthHeaders.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/HealthResponse.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/HealthcareEntity.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/HealthcareEntityLink.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/HealthcareJobState.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/HealthcareRelation.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/HealthcareResult.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/JobDescriptor.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/JobManifest.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/JobManifestTasks.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/JobMetadata.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/KeyPhrasesTask.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/KeyPhrasesTaskParameters.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/Pagination.java rename sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/{PiiEntitiesResult.java => PiiResult.java} (83%) create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/PiiTask.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/PiiTaskParameters.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/PiiTaskParametersDomain.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/State.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/StringIndexTypeResponse.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/TaskState.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/TasksState.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/TasksStateTasks.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/TasksStateTasksEntityRecognitionPiiTasksItem.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/TasksStateTasksEntityRecognitionTasksItem.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/implementation/models/TasksStateTasksKeyPhraseExtractionTasksItem.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/AnalyzeTasksOptions.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/AnalyzeTasksResult.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/EntitiesTask.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/EntitiesTaskParameters.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/HealthcareEntity.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/HealthcareEntityCollection.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/HealthcareEntityLink.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/HealthcareEntityRelation.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/HealthcareTaskResult.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/JobMetadata.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/JobState.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/KeyPhrasesTask.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/KeyPhrasesTaskParameters.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/PiiTask.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/PiiTaskParameters.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/PiiTaskParametersDomain.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/RecognizeHealthcareEntitiesResult.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/RecognizeHealthcareEntityOptions.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/TextAnalyticsErrorInformation.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/models/TextAnalyticsOperationResult.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/main/java/com/azure/ai/textanalytics/util/RecognizeHealthcareEntitiesResultCollection.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/samples/java/com/azure/ai/textanalytics/lro/AnalyzeHealthcareTask.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/samples/java/com/azure/ai/textanalytics/lro/AnalyzeHealthcareTaskAsync.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/samples/java/com/azure/ai/textanalytics/lro/AnalyzeTasks.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/samples/java/com/azure/ai/textanalytics/lro/AnalyzeTasksAsync.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/samples/java/com/azure/ai/textanalytics/lro/CancelHealthcareTask.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/samples/java/com/azure/ai/textanalytics/lro/CancelHealthcareTaskAsync.java create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.analyzeTasksEmptyInput[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.analyzeTasksPaginationWithTopAndSkip[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.analyzeTasksPagination[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.analyzeTasksWithOptions[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.cancelHealthcareLro[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.healthcareLroEmptyInput[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.healthcareLroPaginationWithTopAndSkip[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.healthcareLroPagination[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsAsyncClientTest.healthcareLroWithOptions[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.analyzeTasksEmptyInput[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.analyzeTasksPaginationWithTopAndSkip[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.analyzeTasksPagination[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.analyzeTasksWithOptions[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.cancelHealthcareLro[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.healthcareLroEmptyInput[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.healthcareLroPaginationWithTopAndSkip[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.healthcareLroPagination[1].json create mode 100644 sdk/textanalytics/azure-ai-textanalytics/src/test/resources/session-records/TextAnalyticsClientTest.healthcareLroWithOptions[1].json diff --git a/common/perf-test-core/README.md b/common/perf-test-core/README.md index 66ac6bcfbd9f0..76cad2ccc4a4d 100644 --- a/common/perf-test-core/README.md +++ b/common/perf-test-core/README.md @@ -32,8 +32,7 @@ helps developers create their performance tests for their APIs. ## Contributing -If you would like to become an active contributor to this project please follow the instructions provided in [Microsoft -Azure Projects Contribution Guidelines](https://azure.github.io/guidelines.html). +For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md). 1. Fork it 1. Create your feature branch (`git checkout -b my-new-feature`) diff --git a/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml b/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml index 42252c13d1b07..e4484116f26ec 100755 --- a/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml +++ b/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml @@ -348,6 +348,14 @@ + + + + + + + + diff --git a/eng/code-quality-reports/src/main/resources/revapi/revapi.json b/eng/code-quality-reports/src/main/resources/revapi/revapi.json index 26e55d5d88a7c..fa2c1d3d77397 100644 --- a/eng/code-quality-reports/src/main/resources/revapi/revapi.json +++ b/eng/code-quality-reports/src/main/resources/revapi/revapi.json @@ -269,6 +269,92 @@ "code": "java.annotation.added", "new": "class com.azure.storage.blob.models.PageList", "justification": "Annotation required to resolve deserialization bug." + },{ + "code": "java.method.returnTypeChanged", + "old": "method com.azure.core.util.IterableStream com.azure.core.amqp.models.AmqpDataBody::getData()", + "new": "method java.util.List com.azure.core.amqp.models.AmqpDataBody::getData()", + "justification": "Updated " + }, + { + "code": "java.class.removed", + "old": "class com.azure.core.amqp.models.AmqpDataBody", + "justification": "Renamed as AmqpMessageBody." + }, + { + "code": "java.class.kindChanged", + "old": "interface com.azure.core.amqp.models.AmqpMessageBody", + "new": "class com.azure.core.amqp.models.AmqpMessageBody", + "justification": "AmqpMessageBody is class representing all the new AMQP data types." + }, + { + "code": "java.class.nowFinal", + "old": "interface com.azure.core.amqp.models.AmqpMessageBody", + "new": "class com.azure.core.amqp.models.AmqpMessageBody", + "justification": "Made it final." + }, + { + "code": "java.class.removed", + "old": "enum com.azure.core.amqp.models.AmqpBodyType", + "justification": "Because It is renamed to AmqpMessageBodyType" + }, + { + "code": "java.method.returnTypeChanged", + "old": "method com.azure.core.amqp.models.AmqpBodyType com.azure.core.amqp.models.AmqpMessageBody::getBodyType()", + "new": "method com.azure.core.amqp.models.AmqpMessageBodyType com.azure.core.amqp.models.AmqpMessageBody::getBodyType()", + "justification": "Renamed to match AmqpMessage prefix." + }, + { + "code": "java.method.returnTypeChanged", + "old": "method java.lang.String com.azure.core.amqp.models.AmqpMessageProperties::getCorrelationId()", + "new": "method com.azure.core.amqp.models.AmqpMessageId com.azure.core.amqp.models.AmqpMessageProperties::getCorrelationId()", + "justification": "New return type AmqpMessageId." + }, + { + "code": "java.method.returnTypeChanged", + "old": "method java.lang.String com.azure.core.amqp.models.AmqpMessageProperties::getMessageId()", + "new": "method com.azure.core.amqp.models.AmqpMessageId com.azure.core.amqp.models.AmqpMessageProperties::getMessageId()", + "justification": "New return type." + }, + { + "code": "java.method.returnTypeChanged", + "old": "method java.lang.String com.azure.core.amqp.models.AmqpMessageProperties::getReplyTo()", + "new": "method com.azure.core.amqp.models.AmqpAddress com.azure.core.amqp.models.AmqpMessageProperties::getReplyTo()", + "justification": "New return type." + }, + { + "code": "java.method.returnTypeChanged", + "old": "method java.lang.String com.azure.core.amqp.models.AmqpMessageProperties::getTo()", + "new": "method com.azure.core.amqp.models.AmqpAddress com.azure.core.amqp.models.AmqpMessageProperties::getTo()", + "justification": "New return type." + }, + { + "code": "java.method.parameterTypeChanged", + "old": "parameter com.azure.core.amqp.models.AmqpMessageProperties com.azure.core.amqp.models.AmqpMessageProperties::setCorrelationId(===java.lang.String===)", + "new": "parameter com.azure.core.amqp.models.AmqpMessageProperties com.azure.core.amqp.models.AmqpMessageProperties::setCorrelationId(===com.azure.core.amqp.models.AmqpMessageId===)", + "justification": "Introduced new type AmqpMessageId." + }, + { + "code": "java.method.parameterTypeChanged", + "old": "parameter com.azure.core.amqp.models.AmqpMessageProperties com.azure.core.amqp.models.AmqpMessageProperties::setMessageId(===java.lang.String===)", + "new": "parameter com.azure.core.amqp.models.AmqpMessageProperties com.azure.core.amqp.models.AmqpMessageProperties::setMessageId(===com.azure.core.amqp.models.AmqpMessageId===)", + "justification":"Introduced new type AmqpMessageId." + }, + { + "code": "java.method.parameterTypeChanged", + "old": "parameter com.azure.core.amqp.models.AmqpMessageProperties com.azure.core.amqp.models.AmqpMessageProperties::setReplyTo(===java.lang.String===)", + "new": "parameter com.azure.core.amqp.models.AmqpMessageProperties com.azure.core.amqp.models.AmqpMessageProperties::setReplyTo(===com.azure.core.amqp.models.AmqpAddress===)", + "justification": "Introduced new type AmqpAddress." + }, + { + "code": "java.method.parameterTypeChanged", + "old": "parameter com.azure.core.amqp.models.AmqpMessageProperties com.azure.core.amqp.models.AmqpMessageProperties::setTo(===java.lang.String===)", + "new": "parameter com.azure.core.amqp.models.AmqpMessageProperties com.azure.core.amqp.models.AmqpMessageProperties::setTo(===com.azure.core.amqp.models.AmqpAddress===)", + "justification": "Introduced new type AmqpAddress." + }, + { + "code": "java.method.removed", + "old": "method void com.azure.core.amqp.models.AmqpAnnotatedMessage::(com.azure.core.amqp.models.AmqpAnnotatedMessage)", + "justification": "Removed copy constructor, It is not required for Service bus message." } ] } diff --git a/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml b/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml index d8292539a9b37..27e67e802b68f 100755 --- a/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml +++ b/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml @@ -1351,6 +1351,13 @@ + + + + + + + @@ -2297,7 +2304,7 @@ - + @@ -2390,7 +2397,7 @@ - + @@ -2421,4 +2428,21 @@ + + + + + + + + + + + + + + + diff --git a/eng/common/TestResources/New-TestResources.ps1 b/eng/common/TestResources/New-TestResources.ps1 index 4c03816c12843..25f0b18c31cf6 100644 --- a/eng/common/TestResources/New-TestResources.ps1 +++ b/eng/common/TestResources/New-TestResources.ps1 @@ -125,356 +125,387 @@ $exitActions = @({ } }) -trap { - # Like using try..finally in PowerShell, but without keeping track of more braces or tabbing content. - $exitActions.Invoke() +New-Variable -Name 'initialContext' -Value (Get-AzContext) -Option Constant +if ($initialContext) { + $exitActions += { + Write-Verbose "Restoring initial context: $($initialContext.Account)" + $null = $initialContext | Select-AzContext + } } -# Enumerate test resources to deploy. Fail if none found. -$repositoryRoot = "$PSScriptRoot/../../.." | Resolve-Path -$root = [System.IO.Path]::Combine($repositoryRoot, "sdk", $ServiceDirectory) | Resolve-Path -$templateFileName = 'test-resources.json' -$templateFiles = @() -# Azure SDK Developer Playground -$defaultSubscription = "faa080af-c1d8-40ad-9cce-e1a450ca5b57" +# try..finally will also trap Ctrl+C. +try { -Write-Verbose "Checking for '$templateFileName' files under '$root'" -Get-ChildItem -Path $root -Filter $templateFileName -Recurse | ForEach-Object { - $templateFile = $_.FullName + # Enumerate test resources to deploy. Fail if none found. + $repositoryRoot = "$PSScriptRoot/../../.." | Resolve-Path + $root = [System.IO.Path]::Combine($repositoryRoot, "sdk", $ServiceDirectory) | Resolve-Path + $templateFileName = 'test-resources.json' + $templateFiles = @() + # Azure SDK Developer Playground + $defaultSubscription = "faa080af-c1d8-40ad-9cce-e1a450ca5b57" - Write-Verbose "Found template '$templateFile'" - $templateFiles += $templateFile -} + Write-Verbose "Checking for '$templateFileName' files under '$root'" + Get-ChildItem -Path $root -Filter $templateFileName -Recurse | ForEach-Object { + $templateFile = $_.FullName -if (!$templateFiles) { - Write-Warning -Message "No template files found under '$root'" - exit -} + Write-Verbose "Found template '$templateFile'" + $templateFiles += $templateFile + } -$UserName = if ($env:USER) { $env:USER } else { "${env:USERNAME}" } + if (!$templateFiles) { + Write-Warning -Message "No template files found under '$root'" + exit + } -# If no base name is specified use current user name -if (!$BaseName) { - $BaseName = "$UserName$ServiceDirectory" + $UserName = if ($env:USER) { $env:USER } else { "${env:USERNAME}" } + # Remove spaces, etc. that may be in $UserName + $UserName = $UserName -replace '\W' + + # Make sure $BaseName is set. + if ($CI) { + $BaseName = 't' + (New-Guid).ToString('n').Substring(0, 16) + Log "Generated base name '$BaseName' for CI build" + } elseif (!$BaseName) { + $BaseName = "$UserName$ServiceDirectory" + Log "BaseName was not set. Using default base name: '$BaseName'" + } # Make sure pre- and post-scripts are passed formerly required arguments. $PSBoundParameters['BaseName'] = $BaseName - Log "BaseName was not set. Using default base name: '$BaseName'" -} + # Try detecting repos that support OutFile and defaulting to it + if (!$CI -and !$PSBoundParameters.ContainsKey('OutFile') -and $IsWindows) { + # TODO: find a better way to detect the language + if (Test-Path "$repositoryRoot/eng/service.proj") { + $OutFile = $true + Log "Detected .NET repository. Defaulting OutFile to true. Test environment settings would be stored into the file so you don't need to set environment variables manually." + } + } -# Try detecting repos that support OutFile and defaulting to it -if (!$CI -and !$PSBoundParameters.ContainsKey('OutFile') -and $IsWindows) { - # TODO: find a better way to detect the language - if (Test-Path "$repositoryRoot/eng/service.proj") { - $OutFile = $true - Log "Detected .NET repository. Defaulting OutFile to true. Test environment settings would be stored into the file so you don't need to set environment variables manually." + # If no location is specified use safe default locations for the given + # environment. If no matching environment is found $Location remains an empty + # string. + if (!$Location) { + $Location = @{ + 'AzureCloud' = 'westus2'; + 'AzureUSGovernment' = 'usgovvirginia'; + 'AzureChinaCloud' = 'chinaeast2'; + 'Dogfood' = 'westus' + }[$Environment] + + Write-Verbose "Location was not set. Using default location for environment: '$Location'" } -} -# If no location is specified use safe default locations for the given -# environment. If no matching environment is found $Location remains an empty -# string. -if (!$Location) { - $Location = @{ - 'AzureCloud' = 'westus2'; - 'AzureUSGovernment' = 'usgovvirginia'; - 'AzureChinaCloud' = 'chinaeast2'; - 'Dogfood' = 'westus' - }[$Environment] - - Write-Verbose "Location was not set. Using default location for environment: '$Location'" -} + if (!$CI) { -if (!$CI) { + # Make sure the user is logged in to create a service principal. + $context = Get-AzContext; + if (!$context) { + Log "You are not logged in; connecting to 'Azure SDK Developer Playground'" + $context = (Connect-AzAccount -Subscription $defaultSubscription).Context + } - # Make sure the user is logged in to create a service principal. - $context = Get-AzContext; - if (!$context) { - Log "You are not logged in; connecting to 'Azure SDK Developer Playground'" - $context = (Connect-AzAccount -Subscription $defaultSubscription).Context - } + # If no test application ID is specified during an interactive session, create a new service principal. + if (!$TestApplicationId) { - # If no test application ID is specified during an interactive session, create a new service principal. - if (!$TestApplicationId) { - Log "TestApplicationId was not specified; creating a new service principal" - $servicePrincipal = New-AzADServicePrincipal -Role Owner + # Cache the created service principal in this session for frequent reuse. + $servicePrincipal = if ($AzureTestPrincipal) { + Log "TestApplicationId was not specified; loading the cached service principal" + $AzureTestPrincipal + } else { + Log "TestApplicationId was not specified; creating a new service principal" + $global:AzureTestPrincipal = New-AzADServicePrincipal -Role Owner - $TestApplicationId = $servicePrincipal.ApplicationId - $TestApplicationSecret = (ConvertFrom-SecureString $servicePrincipal.Secret -AsPlainText); + Log "Created service principal '$AzureTestPrincipal'" + $AzureTestPrincipal + } - # Make sure pre- and post-scripts are passed formerly required arguments. - $PSBoundParameters['TestApplicationId'] = $TestApplicationId - $PSBoundParameters['TestApplicationSecret'] = $TestApplicationSecret + $TestApplicationId = $servicePrincipal.ApplicationId + $TestApplicationSecret = (ConvertFrom-SecureString $servicePrincipal.Secret -AsPlainText); - Log "Created service principal '$TestApplicationId'" - } + # 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 + 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 ($ProvisionerApplicationId) { - $null = Disable-AzContextAutosave -Scope Process + # Log in as and run pre- and post-scripts as the provisioner service principal. + if ($ProvisionerApplicationId) { + $null = Disable-AzContextAutosave -Scope Process - Log "Logging into service principal '$ProvisionerApplicationId'" - $provisionerSecret = ConvertTo-SecureString -String $ProvisionerApplicationSecret -AsPlainText -Force - $provisionerCredential = [System.Management.Automation.PSCredential]::new($ProvisionerApplicationId, $provisionerSecret) + Log "Logging into service principal '$ProvisionerApplicationId'" + $provisionerSecret = ConvertTo-SecureString -String $ProvisionerApplicationSecret -AsPlainText -Force + $provisionerCredential = [System.Management.Automation.PSCredential]::new($ProvisionerApplicationId, $provisionerSecret) - # Use the given subscription ID if provided. - $subscriptionArgs = if ($SubscriptionId) { - @{SubscriptionId = $SubscriptionId} - } else { - @{} - } + # Use the given subscription ID if provided. + $subscriptionArgs = if ($SubscriptionId) { + @{SubscriptionId = $SubscriptionId} + } else { + @{} + } - $provisionerAccount = Retry { - Connect-AzAccount -Force:$Force -Tenant $TenantId -Credential $provisionerCredential -ServicePrincipal -Environment $Environment @subscriptionArgs - } + $provisionerAccount = Retry { + Connect-AzAccount -Force:$Force -Tenant $TenantId -Credential $provisionerCredential -ServicePrincipal -Environment $Environment @subscriptionArgs + } - $exitActions += { - Write-Verbose "Logging out of service principal '$($provisionerAccount.Context.Account)'" + $exitActions += { + Write-Verbose "Logging out of service principal '$($provisionerAccount.Context.Account)'" - # Only attempt to disconnect if the -WhatIf flag was not set. Otherwise, this call is not necessary and will fail. - if ($PSCmdlet.ShouldProcess($ProvisionerApplicationId)) { - $null = Disconnect-AzAccount -AzureContext $provisionerAccount.Context + # Only attempt to disconnect if the -WhatIf flag was not set. Otherwise, this call is not necessary and will fail. + if ($PSCmdlet.ShouldProcess($ProvisionerApplicationId)) { + $null = Disconnect-AzAccount -AzureContext $provisionerAccount.Context + } } } -} -# Get test application OID from ID if not already provided. -if ($TestApplicationId -and !$TestApplicationOid) { - $testServicePrincipal = Retry { - Get-AzADServicePrincipal -ApplicationId $TestApplicationId - } + # Get test application OID from ID if not already provided. + if ($TestApplicationId -and !$TestApplicationOid) { + $testServicePrincipal = Retry { + Get-AzADServicePrincipal -ApplicationId $TestApplicationId + } - if ($testServicePrincipal -and $testServicePrincipal.Id) { - $script:TestApplicationOid = $testServicePrincipal.Id + if ($testServicePrincipal -and $testServicePrincipal.Id) { + $script:TestApplicationOid = $testServicePrincipal.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) { - Split-Path -Leaf $ServiceDirectory -} else { - $ServiceDirectory -} - -if ($CI) { - $BaseName = 't' + (New-Guid).ToString('n').Substring(0, 16) - Write-Verbose "Generated base name '$BaseName' for CI build" -} - -$ResourceGroupName = if ($ResourceGroupName) { - $ResourceGroupName -} elseif ($CI) { - # Format the resource group name based on resource group naming recommendations and limitations. - "rg-{0}-$BaseName" -f ($serviceName -replace '[\\\/:]', '-').Substring(0, [Math]::Min($serviceName.Length, 90 - $BaseName.Length - 4)).Trim('-') -} else { - "rg-$BaseName" -} - -# Tag the resource group to be deleted after a certain number of hours if specified. -$tags = @{ - Creator = $UserName - ServiceDirectory = $ServiceDirectory -} - -if ($PSBoundParameters.ContainsKey('DeleteAfterHours')) { - $deleteAfter = [DateTime]::UtcNow.AddHours($DeleteAfterHours) - $tags.Add('DeleteAfter', $deleteAfter.ToString('o')) -} + # Determine the Azure context that the script is running in. + $context = Get-AzContext; -if ($CI) { - # Add tags for the current CI job. - $tags += @{ - BuildId = "${env:BUILD_BUILDID}" - BuildJob = "${env:AGENT_JOBNAME}" - BuildNumber = "${env:BUILD_BUILDNUMBER}" - BuildReason = "${env:BUILD_REASON}" + # If the ServiceDirectory is an absolute path use the last directory name + # (e.g. D:\foo\bar\ -> bar) + $serviceName = if (Split-Path -IsAbsolute $ServiceDirectory) { + Split-Path -Leaf $ServiceDirectory + } else { + $ServiceDirectory } - # Set the resource group name variable. - Write-Host "Setting variable 'AZURE_RESOURCEGROUP_NAME': $ResourceGroupName" - Write-Host "##vso[task.setvariable variable=AZURE_RESOURCEGROUP_NAME;]$ResourceGroupName" - if ($EnvironmentVariables.ContainsKey('AZURE_RESOURCEGROUP_NAME') -and ` - $EnvironmentVariables['AZURE_RESOURCEGROUP_NAME'] -ne $ResourceGroupName) - { - Write-Warning ("Overwriting 'EnvironmentVariables.AZURE_RESOURCEGROUP_NAME' with value " + - "'$($EnvironmentVariables['AZURE_RESOURCEGROUP_NAME'])' " + "to new value '$($ResourceGroupName)'") + $ResourceGroupName = if ($ResourceGroupName) { + $ResourceGroupName + } elseif ($CI) { + # Format the resource group name based on resource group naming recommendations and limitations. + "rg-{0}-$BaseName" -f ($serviceName -replace '[\\\/:]', '-').Substring(0, [Math]::Min($serviceName.Length, 90 - $BaseName.Length - 4)).Trim('-') + } else { + "rg-$BaseName" } - $EnvironmentVariables['AZURE_RESOURCEGROUP_NAME'] = $ResourceGroupName -} - -Log "Creating resource group '$ResourceGroupName' in location '$Location'" -$resourceGroup = Retry { - New-AzResourceGroup -Name "$ResourceGroupName" -Location $Location -Tag $tags -Force:$Force -} -if ($resourceGroup.ProvisioningState -eq 'Succeeded') { - # New-AzResourceGroup would've written an error and stopped the pipeline by default anyway. - Write-Verbose "Successfully created resource group '$($resourceGroup.ResourceGroupName)'" -} -elseif (($resourceGroup -eq $null) -and (-not $PSCmdlet.ShouldProcess($resourceGroupName))) { - # If the -WhatIf flag was passed, there will be no resource group created. Fake it. - $resourceGroup = [PSCustomObject]@{ - ResourceGroupName = $resourceGroupName - Location = $Location + # Tag the resource group to be deleted after a certain number of hours if specified. + $tags = @{ + Creator = $UserName + ServiceDirectory = $ServiceDirectory } -} - -# Populate the template parameters and merge any additional specified. -$templateParameters = @{ - baseName = $BaseName - testApplicationId = $TestApplicationId - testApplicationOid = "$TestApplicationOid" -} -if ($TenantId) { - $templateParameters.Add('tenantId', $TenantId) -} -if ($TestApplicationSecret) { - $templateParameters.Add('testApplicationSecret', $TestApplicationSecret) -} + if ($PSBoundParameters.ContainsKey('DeleteAfterHours')) { + $deleteAfter = [DateTime]::UtcNow.AddHours($DeleteAfterHours) + $tags.Add('DeleteAfter', $deleteAfter.ToString('o')) + } -MergeHashes $ArmTemplateParameters $(Get-Variable templateParameters) -MergeHashes $AdditionalParameters $(Get-Variable templateParameters) + if ($CI) { + # Add tags for the current CI job. + $tags += @{ + BuildId = "${env:BUILD_BUILDID}" + BuildJob = "${env:AGENT_JOBNAME}" + BuildNumber = "${env:BUILD_BUILDNUMBER}" + BuildReason = "${env:BUILD_REASON}" + } -# Include environment-specific parameters only if not already provided as part of the "ArmTemplateParameters" -if (($context.Environment.StorageEndpointSuffix) -and (-not ($templateParameters.ContainsKey('storageEndpointSuffix')))) { - $templateParameters.Add('storageEndpointSuffix', $context.Environment.StorageEndpointSuffix) -} + # Set the resource group name variable. + Write-Host "Setting variable 'AZURE_RESOURCEGROUP_NAME': $ResourceGroupName" + Write-Host "##vso[task.setvariable variable=AZURE_RESOURCEGROUP_NAME;]$ResourceGroupName" + if ($EnvironmentVariables.ContainsKey('AZURE_RESOURCEGROUP_NAME') -and ` + $EnvironmentVariables['AZURE_RESOURCEGROUP_NAME'] -ne $ResourceGroupName) + { + Write-Warning ("Overwriting 'EnvironmentVariables.AZURE_RESOURCEGROUP_NAME' with value " + + "'$($EnvironmentVariables['AZURE_RESOURCEGROUP_NAME'])' " + "to new value '$($ResourceGroupName)'") + } + $EnvironmentVariables['AZURE_RESOURCEGROUP_NAME'] = $ResourceGroupName + } -# Try to detect the shell based on the parent process name (e.g. launch via shebang). -$shell, $shellExportFormat = if (($parentProcessName = (Get-Process -Id $PID).Parent.ProcessName) -and $parentProcessName -eq 'cmd') { - 'cmd', 'set {0}={1}' -} elseif (@('bash', 'csh', 'tcsh', 'zsh') -contains $parentProcessName) { - 'shell', 'export {0}={1}' -} else { - 'PowerShell', '${{env:{0}}} = ''{1}''' -} + Log "Creating resource group '$ResourceGroupName' in location '$Location'" + $resourceGroup = Retry { + New-AzResourceGroup -Name "$ResourceGroupName" -Location $Location -Tag $tags -Force:$Force + } -# 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 - $templateParameterNames = $templateJson.parameters.PSObject.Properties.Name - - $templateFileParameters = $templateParameters.Clone() - foreach ($key in $templateParameters.Keys) { - if ($templateParameterNames -notcontains $key) { - Write-Verbose "Removing unnecessary parameter '$key'" - $templateFileParameters.Remove($key) + if ($resourceGroup.ProvisioningState -eq 'Succeeded') { + # New-AzResourceGroup would've written an error and stopped the pipeline by default anyway. + Write-Verbose "Successfully created resource group '$($resourceGroup.ResourceGroupName)'" + } + elseif (!$resourceGroup -and !$PSCmdlet.ShouldProcess($resourceGroupName)) { + # If the -WhatIf flag was passed, there will be no resource group created. Fake it. + $resourceGroup = [PSCustomObject]@{ + ResourceGroupName = $resourceGroupName + Location = $Location } } - $preDeploymentScript = $templateFile | Split-Path | Join-Path -ChildPath 'test-resources-pre.ps1' - if (Test-Path $preDeploymentScript) { - Log "Invoking pre-deployment script '$preDeploymentScript'" - &$preDeploymentScript -ResourceGroupName $ResourceGroupName @PSBoundParameters + # Populate the template parameters and merge any additional specified. + $templateParameters = @{ + baseName = $BaseName + testApplicationId = $TestApplicationId + testApplicationOid = "$TestApplicationOid" } - Log "Deploying template '$templateFile' to resource group '$($resourceGroup.ResourceGroupName)'" - $deployment = Retry { - New-AzResourceGroupDeployment -Name $BaseName -ResourceGroupName $resourceGroup.ResourceGroupName -TemplateFile $templateFile -TemplateParameterObject $templateFileParameters + if ($TenantId) { + $templateParameters.Add('tenantId', $TenantId) } - - 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)'" + if ($TestApplicationSecret) { + $templateParameters.Add('testApplicationSecret', $TestApplicationSecret) } - $serviceDirectoryPrefix = $serviceName.ToUpperInvariant() + "_" - - # Add default values - $deploymentOutputs = @{ - "$($serviceDirectoryPrefix)CLIENT_ID" = $TestApplicationId; - "$($serviceDirectoryPrefix)CLIENT_SECRET" = $TestApplicationSecret; - "$($serviceDirectoryPrefix)TENANT_ID" = $context.Tenant.Id; - "$($serviceDirectoryPrefix)SUBSCRIPTION_ID" = $context.Subscription.Id; - "$($serviceDirectoryPrefix)RESOURCE_GROUP" = $resourceGroup.ResourceGroupName; - "$($serviceDirectoryPrefix)LOCATION" = $resourceGroup.Location; - "$($serviceDirectoryPrefix)ENVIRONMENT" = $context.Environment.Name; - "$($serviceDirectoryPrefix)AZURE_AUTHORITY_HOST" = $context.Environment.ActiveDirectoryAuthority; - "$($serviceDirectoryPrefix)RESOURCE_MANAGER_URL" = $context.Environment.ResourceManagerUrl; - "$($serviceDirectoryPrefix)SERVICE_MANAGEMENT_URL" = $context.Environment.ServiceManagementUrl; - "$($serviceDirectoryPrefix)STORAGE_ENDPOINT_SUFFIX" = $context.Environment.StorageEndpointSuffix; + MergeHashes $ArmTemplateParameters $(Get-Variable templateParameters) + MergeHashes $AdditionalParameters $(Get-Variable templateParameters) + + # Include environment-specific parameters only if not already provided as part of the "ArmTemplateParameters" + if (($context.Environment.StorageEndpointSuffix) -and (-not ($templateParameters.ContainsKey('storageEndpointSuffix')))) { + $templateParameters.Add('storageEndpointSuffix', $context.Environment.StorageEndpointSuffix) } - MergeHashes $EnvironmentVariables $(Get-Variable deploymentOutputs) + # Try to detect the shell based on the parent process name (e.g. launch via shebang). + $shell, $shellExportFormat = if (($parentProcessName = (Get-Process -Id $PID).Parent.ProcessName) -and $parentProcessName -eq 'cmd') { + 'cmd', 'set {0}={1}' + } elseif (@('bash', 'csh', 'tcsh', 'zsh') -contains $parentProcessName) { + 'shell', 'export {0}={1}' + } else { + 'PowerShell', '${{env:{0}}} = ''{1}''' + } - foreach ($key in $deployment.Outputs.Keys) { - $variable = $deployment.Outputs[$key] + # 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 + $templateParameterNames = $templateJson.parameters.PSObject.Properties.Name + + $templateFileParameters = $templateParameters.Clone() + foreach ($key in $templateParameters.Keys) { + if ($templateParameterNames -notcontains $key) { + Write-Verbose "Removing unnecessary parameter '$key'" + $templateFileParameters.Remove($key) + } + } - # Work around bug that makes the first few characters of environment variables be lowercase. - $key = $key.ToUpperInvariant() + $preDeploymentScript = $templateFile | Split-Path | Join-Path -ChildPath 'test-resources-pre.ps1' + if (Test-Path $preDeploymentScript) { + Log "Invoking pre-deployment script '$preDeploymentScript'" + &$preDeploymentScript -ResourceGroupName $ResourceGroupName @PSBoundParameters + } - if ($variable.Type -eq 'String' -or $variable.Type -eq 'SecureString') { - $deploymentOutputs[$key] = $variable.Value + Log "Deploying template '$templateFile' to resource group '$($resourceGroup.ResourceGroupName)'" + $deployment = Retry { + $lastDebugPreference = $DebugPreference + try { + if ($CI) { + $DebugPreference = "Continue" + } + New-AzResourceGroupDeployment -Name $BaseName -ResourceGroupName $resourceGroup.ResourceGroupName -TemplateFile $templateFile -TemplateParameterObject $templateFileParameters + } catch { + Write-Output @" +##################################################### +# For help debugging live test provisioning issues, # +# see http://aka.ms/azsdk/engsys/live-test-help, # +##################################################### +"@ + throw + } finally { + $DebugPreference = $lastDebugPreference + } } - } - if ($OutFile) { - if (!$IsWindows) { - Write-Host "File option is supported only on Windows" + 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)'" } - $outputFile = "$templateFile.env" + $serviceDirectoryPrefix = $serviceName.ToUpperInvariant() + "_" + + # Add default values + $deploymentOutputs = @{ + "$($serviceDirectoryPrefix)CLIENT_ID" = $TestApplicationId; + "$($serviceDirectoryPrefix)CLIENT_SECRET" = $TestApplicationSecret; + "$($serviceDirectoryPrefix)TENANT_ID" = $context.Tenant.Id; + "$($serviceDirectoryPrefix)SUBSCRIPTION_ID" = $context.Subscription.Id; + "$($serviceDirectoryPrefix)RESOURCE_GROUP" = $resourceGroup.ResourceGroupName; + "$($serviceDirectoryPrefix)LOCATION" = $resourceGroup.Location; + "$($serviceDirectoryPrefix)ENVIRONMENT" = $context.Environment.Name; + "$($serviceDirectoryPrefix)AZURE_AUTHORITY_HOST" = $context.Environment.ActiveDirectoryAuthority; + "$($serviceDirectoryPrefix)RESOURCE_MANAGER_URL" = $context.Environment.ResourceManagerUrl; + "$($serviceDirectoryPrefix)SERVICE_MANAGEMENT_URL" = $context.Environment.ServiceManagementUrl; + "$($serviceDirectoryPrefix)STORAGE_ENDPOINT_SUFFIX" = $context.Environment.StorageEndpointSuffix; + } - $environmentText = $deploymentOutputs | ConvertTo-Json; - $bytes = ([System.Text.Encoding]::UTF8).GetBytes($environmentText) - $protectedBytes = [Security.Cryptography.ProtectedData]::Protect($bytes, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser) + MergeHashes $EnvironmentVariables $(Get-Variable deploymentOutputs) - Set-Content $outputFile -Value $protectedBytes -AsByteStream -Force + foreach ($key in $deployment.Outputs.Keys) { + $variable = $deployment.Outputs[$key] - Write-Host "Test environment settings`n $environmentText`nstored into encrypted $outputFile" - } else { + # Work around bug that makes the first few characters of environment variables be lowercase. + $key = $key.ToUpperInvariant() - if (!$CI) { - # Write an extra new line to isolate the environment variables for easy reading. - Log "Persist the following environment variables based on your detected shell ($shell):`n" + if ($variable.Type -eq 'String' -or $variable.Type -eq 'SecureString') { + $deploymentOutputs[$key] = $variable.Value + } } - foreach ($key in $deploymentOutputs.Keys) { - $value = $deploymentOutputs[$key] - $EnvironmentVariables[$key] = $value + if ($OutFile) { + if (!$IsWindows) { + Write-Host "File option is supported only on Windows" + } - if ($CI) { - # Treat all ARM template output variables as secrets since "SecureString" variables do not set values. - # In order to mask secrets but set environment variables for any given ARM template, we set variables twice as shown below. - Write-Host "Setting variable '$key': ***" - Write-Host "##vso[task.setvariable variable=_$key;issecret=true;]$($value)" - Write-Host "##vso[task.setvariable variable=$key;]$($value)" - } else { - Write-Host ($shellExportFormat -f $key, $value) + $outputFile = "$templateFile.env" + + $environmentText = $deploymentOutputs | ConvertTo-Json; + $bytes = ([System.Text.Encoding]::UTF8).GetBytes($environmentText) + $protectedBytes = [Security.Cryptography.ProtectedData]::Protect($bytes, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser) + + Set-Content $outputFile -Value $protectedBytes -AsByteStream -Force + + Write-Host "Test environment settings`n $environmentText`nstored into encrypted $outputFile" + } else { + + if (!$CI) { + # Write an extra new line to isolate the environment variables for easy reading. + Log "Persist the following environment variables based on your detected shell ($shell):`n" + } + + foreach ($key in $deploymentOutputs.Keys) { + $value = $deploymentOutputs[$key] + $EnvironmentVariables[$key] = $value + + if ($CI) { + # Treat all ARM template output variables as secrets since "SecureString" variables do not set values. + # In order to mask secrets but set environment variables for any given ARM template, we set variables twice as shown below. + Write-Host "Setting variable '$key': ***" + Write-Host "##vso[task.setvariable variable=_$key;issecret=true;]$($value)" + Write-Host "##vso[task.setvariable variable=$key;]$($value)" + } else { + Write-Host ($shellExportFormat -f $key, $value) + } + } + + if ($key) { + # Isolate the environment variables for easy reading. + Write-Host "`n" + $key = $null } } - if ($key) { - # Isolate the environment variables for easy reading. - Write-Host "`n" - $key = $null + $postDeploymentScript = $templateFile | 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 } } - $postDeploymentScript = $templateFile | 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 - } +} finally { + $exitActions.Invoke() } -$exitActions.Invoke() - # Suppress output locally if ($CI) { return $EnvironmentVariables @@ -616,12 +647,7 @@ The environment file would be scoped to the current repository directory. .EXAMPLE Connect-AzAccount -Subscription "REPLACE_WITH_SUBSCRIPTION_ID" -$testAadApp = New-AzADServicePrincipal -Role Owner -DisplayName 'azure-sdk-live-test-app' -New-TestResources.ps1 ` - -BaseName 'uuid123' ` - -ServiceDirectory 'keyvault' ` - -TestApplicationId $testAadApp.ApplicationId.ToString() ` - -TestApplicationSecret (ConvertFrom-SecureString $testAadApp.Secret -AsPlainText) +New-TestResources.ps1 -ServiceDirectory '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. diff --git a/eng/common/TestResources/New-TestResources.ps1.md b/eng/common/TestResources/New-TestResources.ps1.md index 515a51bd373cd..096c7e70aa37e 100644 --- a/eng/common/TestResources/New-TestResources.ps1.md +++ b/eng/common/TestResources/New-TestResources.ps1.md @@ -56,12 +56,7 @@ specified in $ProvisionerApplicationId and $ProvisionerApplicationSecret. ### EXAMPLE 1 ``` Connect-AzAccount -Subscription "REPLACE_WITH_SUBSCRIPTION_ID" -$testAadApp = New-AzADServicePrincipal -Role Owner -DisplayName 'azure-sdk-live-test-app' -New-TestResources.ps1 ` - -BaseName 'uuid123' ` - -ServiceDirectory 'keyvault' ` - -TestApplicationId $testAadApp.ApplicationId.ToString() ` - -TestApplicationSecret (ConvertFrom-SecureString $testAadApp.Secret -AsPlainText) +New-TestResources.ps1 -ServiceDirectory 'keyvault' ``` Run this in a desktop environment to create new AAD apps and Service Principals diff --git a/eng/common/TestResources/deploy-test-resources.yml b/eng/common/TestResources/deploy-test-resources.yml index 031c4b37cccd1..a9d693b99420e 100644 --- a/eng/common/TestResources/deploy-test-resources.yml +++ b/eng/common/TestResources/deploy-test-resources.yml @@ -1,7 +1,7 @@ parameters: ServiceDirectory: not-set ArmTemplateParameters: '@{}' - DeleteAfterHours: 24 + DeleteAfterHours: 8 Location: '' SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) diff --git a/eng/common/docgeneration/Generate-DocIndex.ps1 b/eng/common/docgeneration/Generate-DocIndex.ps1 new file mode 100644 index 0000000000000..84fd562715508 --- /dev/null +++ b/eng/common/docgeneration/Generate-DocIndex.ps1 @@ -0,0 +1,196 @@ +# Generates an index page for cataloging different versions of the Docs +[CmdletBinding()] +Param ( + $DocFx, + $RepoRoot, + $DocGenDir, + $DocOutDir = "${RepoRoot}/docfx_project", + $DocfxJsonPath = "${PSScriptRoot}\docfx.json", + $MainJsPath = "${PSScriptRoot}\templates\matthews\styles\main.js" +) +. "${PSScriptRoot}\..\scripts\common.ps1" +$GetGithubIoDocIndexFn = "Get-${Language}-GithubIoDocIndex" + +# Given the metadata url under https://github.com/Azure/azure-sdk/tree/master/_data/releases/latest, +# the function will return the csv metadata back as part of response. +function Get-CSVMetadata ([string]$MetadataUri) { + $metadataResponse = Invoke-RestMethod -Uri $MetadataUri -method "GET" -MaximumRetryCount 3 -RetryIntervalSec 10 | ConvertFrom-Csv + return $metadataResponse +} + +# Given the github io blob storage url and language regex, +# the helper function will return a list of artifact names. +function Get-BlobStorage-Artifacts($blobStorageUrl, $blobDirectoryRegex, $blobArtifactsReplacement) { + LogDebug "Reading artifact from storage blob ..." + $returnedArtifacts = @() + $pageToken = "" + Do { + $resp = "" + if (!$pageToken) { + # First page call. + $resp = Invoke-RestMethod -Method Get -Uri $blobStorageUrl + } + else { + # Next page call + $blobStorageUrlPageToken = $blobStorageUrl + "&marker=$pageToken" + $resp = Invoke-RestMethod -Method Get -Uri $blobStorageUrlPageToken + } + # Convert to xml documents. + $xmlDoc = [xml](removeBomFromString $resp) + foreach ($elem in $xmlDoc.EnumerationResults.Blobs.BlobPrefix) { + # What service return like "dotnet/Azure.AI.Anomalydetector/", needs to fetch out "Azure.AI.Anomalydetector" + $artifact = $elem.Name -replace $blobDirectoryRegex, $blobArtifactsReplacement + $returnedArtifacts += $artifact + } + # Fetch page token + $pageToken = $xmlDoc.EnumerationResults.NextMarker + } while ($pageToken) + return $returnedArtifacts + } + +# The sequence of Bom bytes differs by different encoding. +# The helper function here is only to strip the utf-8 encoding system as it is used by blob storage list api. +# Return the original string if not in BOM utf-8 sequence. +function RemoveBomFromString([string]$bomAwareString) { + if ($bomAwareString.length -le 3) { + return $bomAwareString + } + $bomPatternByteArray = [byte[]] (0xef, 0xbb, 0xbf) + # The default encoding for powershell is ISO-8859-1, so converting bytes with the encoding. + $bomAwareBytes = [Text.Encoding]::GetEncoding(28591).GetBytes($bomAwareString.Substring(0, 3)) + if (@(Compare-Object $bomPatternByteArray $bomAwareBytes -SyncWindow 0).Length -eq 0) { + return $bomAwareString.Substring(3) + } + return $bomAwareString +} + +function Get-TocMapping { + Param ( + [Parameter(Mandatory = $true)] [Object[]] $metadata, + [Parameter(Mandatory = $true)] [String[]] $artifacts + ) + # Used for sorting the toc display order + $orderServiceMapping = @{} + + foreach ($artifact in $artifacts) { + $packageInfo = $metadata | ? {$_.Package -eq $artifact} + + if ($packageInfo -and $packageInfo[0].Hide -eq 'true') { + LogDebug "The artifact $artifact set 'Hide' to 'true'." + continue + } + $serviceName = "" + $displayName = "" + if (!$packageInfo) { + LogWarning "There is no artifact $artifact. Please check csv of Azure/azure-sdk/_data/release/latest repo if this is intended. " + # If no service name retrieved, print out warning message, and put it into Other page. + $serviceName = "Other" + } + elseif (!$packageInfo[0].ServiceName) { + LogWarning "There is no service name for artifact $artifact. Please check csv of Azure/azure-sdk/_data/release/latest repo if this is intended. " + # If no service name retrieved, print out warning message, and put it into Other page. + $serviceName = "Other" + $displayName = $packageInfo[0].DisplayName.Trim() + } + else { + if ($packageInfo.Length -gt 1) { + LogWarning "There are more than 1 packages fetched out for artifact $artifact. Please check csv of Azure/azure-sdk/_data/release/latest repo if this is intended. " + } + $serviceName = $packageInfo[0].ServiceName.Trim() + $displayName = $packageInfo[0].DisplayName.Trim() + } + $orderServiceMapping[$artifact] = @($serviceName, $displayName) + } + return $orderServiceMapping +} + +function GenerateDocfxTocContent([Hashtable]$tocContent, [String]$lang) { + LogDebug "Start generating the docfx toc and build docfx site..." + + LogDebug "Initializing Default DocFx Site..." + & $($DocFx) init -q -o "${DocOutDir}" + # The line below is used for testing in local + #docfx init -q -o "${DocOutDir}" + LogDebug "Copying template and configuration..." + New-Item -Path "${DocOutDir}" -Name "templates" -ItemType "directory" -Force + Copy-Item "${DocGenDir}/templates/*" -Destination "${DocOutDir}/templates" -Force -Recurse + Copy-Item "${DocGenDir}/docfx.json" -Destination "${DocOutDir}/" -Force + $YmlPath = "${DocOutDir}/api" + New-Item -Path $YmlPath -Name "toc.yml" -Force + $visitedService = @{} + # Sort and display toc service name by alphabetical order, and then sort artifact by order. + foreach ($serviceMapping in ($tocContent.GetEnumerator() | Sort-Object Value[0], Key)) { + $artifact = $serviceMapping.Key + $serviceName = $serviceMapping.Value[0] + $displayName = $serviceMapping.Value[1] + + $fileName = ($serviceName -replace '\s', '').ToLower().Trim() + if ($visitedService.ContainsKey($serviceName)) { + if ($displayName) { + Add-Content -Path "$($YmlPath)/${fileName}.md" -Value "#### $artifact`n##### ($displayName)" + } + else { + Add-Content -Path "$($YmlPath)/${fileName}.md" -Value "#### $artifact" + } + } + else { + Add-Content -Path "$($YmlPath)/toc.yml" -Value "- name: ${serviceName}`r`n href: ${fileName}.md" + New-Item -Path $YmlPath -Name "${fileName}.md" -Force + if ($displayName) { + Add-Content -Path "$($YmlPath)/${fileName}.md" -Value "#### $artifact`n##### ($displayName)" + } + else { + Add-Content -Path "$($YmlPath)/${fileName}.md" -Value "#### $artifact" + } + $visitedService[$serviceName] = $true + } + } + + # Generate toc homepage. + LogDebug "Creating Site Title and Navigation..." + New-Item -Path "${DocOutDir}" -Name "toc.yml" -Force + Add-Content -Path "${DocOutDir}/toc.yml" -Value "- name: Azure SDK for $lang APIs`r`n href: api/`r`n homepage: api/index.md" + + LogDebug "Copying root markdowns" + Copy-Item "$($RepoRoot)/README.md" -Destination "${DocOutDir}/api/index.md" -Force + Copy-Item "$($RepoRoot)/CONTRIBUTING.md" -Destination "${DocOutDir}/api/CONTRIBUTING.md" -Force + + LogDebug "Building site..." + & $($DocFx) build "${DocOutDir}/docfx.json" + # The line below is used for testing in local + #docfx build "${DocOutDir}/docfx.json" + Copy-Item "${DocGenDir}/assets/logo.svg" -Destination "${DocOutDir}/_site/" -Force +} + +function Mutate-Files { + Param ( + [Parameter(Mandatory=$true)] [String]$appTitle, + [Parameter(Mandatory=$true)] [String]$lang, + [Parameter(Mandatory=$true)] [String]$indexhtmlloc, + [Parameter(Mandatory=$false)] [String]$packageRegex = "`"`"", + [Parameter(Mandatory=$false)] [String]$regexReplacement = "" + ) + # Update docfx.json + $docfxContent = Get-Content -Path $DocfxJsonPath -Raw + $docfxContent = $docfxContent -replace "`"_appTitle`": `"`"", "`"_appTitle`": `"$appTitle`"" + $docfxContent = $docfxContent -replace "`"_appFooter`": `"`"", "`"_appFooter`": `"$appTitle`"" + Set-Content -Path $DocfxJsonPath -Value $docfxContent + # Update main.js var lang + $mainJsContent = Get-Content -Path $MainJsPath -Raw + $mainJsContent = $mainJsContent -replace "var SELECTED_LANGUAGE = ''", "var SELECTED_LANGUAGE = '$lang'" + # Update main.js var index html + $mainJsContent = $mainJsContent -replace "var INDEX_HTML = ''", "var INDEX_HTML = '$indexhtmlloc'" + # Update main.js package regex and replacement + $mainJsContent = $mainJsContent -replace "var PACKAGE_REGEX = ''", "var PACKAGE_REGEX = $packageRegex" + $mainJsContent = $mainJsContent -replace "var PACKAGE_REPLACEMENT = ''", "var PACKAGE_REPLACEMENT = `"$regexReplacement`"" + Set-Content -Path $MainJsPath -Value $mainJsContent -NoNewline +} + +if ($GetGithubIoDocIndexFn -and (Test-Path "function:$GetGithubIoDocIndexFn")) +{ + &$GetGithubIoDocIndexFn +} +else +{ + LogWarning "The function '$GetGithubIoDocIndexFn' was not found." +} diff --git a/eng/common/docgeneration/assets/logo.svg b/eng/common/docgeneration/assets/logo.svg new file mode 100644 index 0000000000000..5da99f4048866 --- /dev/null +++ b/eng/common/docgeneration/assets/logo.svg @@ -0,0 +1,76 @@ + + + + diff --git a/eng/common/docgeneration/docfx.json b/eng/common/docgeneration/docfx.json new file mode 100644 index 0000000000000..6b113dafd3c0d --- /dev/null +++ b/eng/common/docgeneration/docfx.json @@ -0,0 +1,78 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "src/**.csproj" + ] + } + ], + "dest": "api", + "disableGitFeatures": false, + "disableDefaultFilter": false + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml", + "api/**.md", + "api/index.md" + ] + }, + { + "files": [ + "toc.yml", + "*.md" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "globalMetadataFiles": [], + "fileMetadataFiles": [], + "template": [ + "default", + "templates/matthews" + ], + "postProcessors": [], + "markdownEngineName": "markdig", + "noLangKeyword": false, + "keepFileLink": false, + "cleanupCacheHistory": false, + "disableGitFeatures": false, + "globalMetadata": { + "_appTitle": "", + "_appFooter": "", + "_enableSearch": false, + "_enableNewTab": true, + "_appFaviconPath": "https://c.s-microsoft.com/favicon.ico?v2", + "_disableContribution": true + } + } +} + + + + + + diff --git a/eng/common/docgeneration/templates/matthews/partials/affix.tmpl.partial b/eng/common/docgeneration/templates/matthews/partials/affix.tmpl.partial new file mode 100644 index 0000000000000..43a33d0120a38 --- /dev/null +++ b/eng/common/docgeneration/templates/matthews/partials/affix.tmpl.partial @@ -0,0 +1,17 @@ +{{^_disableContribution}} +
+ {{#docurl}} + + {{/docurl}} + {{#sourceurl}} + + {{/sourceurl}} +
+{{/_disableContribution}} + + diff --git a/eng/common/docgeneration/templates/matthews/partials/class.header.tmpl.partial b/eng/common/docgeneration/templates/matthews/partials/class.header.tmpl.partial new file mode 100644 index 0000000000000..49a27d827322b --- /dev/null +++ b/eng/common/docgeneration/templates/matthews/partials/class.header.tmpl.partial @@ -0,0 +1,100 @@ +

{{>partials/title}}

+
{{{summary}}}
+
{{{conceptual}}}
+ +{{#inClass}} +
+
{{__global.inheritance}}
+ {{#inheritance}} +
{{{specName.0.value}}}
+ {{/inheritance}} +
{{name.0.value}}
+
+{{/inClass}} + +{{#derivedClasses}} +
{{{specName.0.value}}}
+{{/derivedClasses}} + +{{#inheritedMembers.0}} +
+
{{__global.inheritedMembers}}
+{{/inheritedMembers.0}} +{{#inheritedMembers}} +
+ {{#definition}} + + {{/definition}} + {{^definition}} + + {{/definition}} +
+{{/inheritedMembers}} +{{#inheritedMembers.0}} +
+{{/inheritedMembers.0}} + +
{{__global.namespace}}: {{namespace}}
+
{{__global.assembly}}: {{assemblies.0}}.dll
+ +
{{__global.syntax}}
+
+
{{syntax.content.0.value}}
+
+ +{{#syntax.parameters.0}} +
{{__global.parameters}}
+ +{{/syntax.parameters.0}} +{{#syntax.parameters}} + + + +{{/syntax.parameters}} +{{#syntax.parameters.0}} +
+ {{{type.specName.0.value}}} + {{{id}}} +

{{{description}}}

+
+{{/syntax.parameters.0}} + +{{#syntax.return}} +
{{__global.returns}}
+ + + + +
+ {{{type.specName.0.value}}} +

{{{description}}}

+
+{{/syntax.return}} + +{{#syntax.typeParameters.0}} +
{{__global.typeParameters}}
+ +{{/syntax.typeParameters.0}} +{{#syntax.typeParameters}} + + + +{{/syntax.typeParameters}} +{{#syntax.typeParameters.0}} +
+ {{{id}}} +

{{{description}}}

+
+{{/syntax.typeParameters.0}} + +{{#remarks}} +
{{__global.remarks}}
+
{{{remarks}}}
+{{/remarks}} + +{{#example.0}} +
{{__global.examples}}
+{{/example.0}} +{{#example}} +{{{.}}} +{{/example}} diff --git a/eng/common/docgeneration/templates/matthews/partials/class.tmpl.partial b/eng/common/docgeneration/templates/matthews/partials/class.tmpl.partial new file mode 100644 index 0000000000000..5f00b822cc76d --- /dev/null +++ b/eng/common/docgeneration/templates/matthews/partials/class.tmpl.partial @@ -0,0 +1,210 @@ +{{>partials/class.header}} +{{#children}} +

{{>partials/classSubtitle}}

+{{#children}} + +{{^_disableContribution}} +{{#docurl}} + + + + +{{/docurl}} +{{#sourceurl}} + + + +{{/sourceurl}} +{{/_disableContribution}} + +{{#overload}} + +{{/overload}} + +

{{name.0.value}}

+ +
+
{{{summary}}}
+
{{{conceptual}}}
+
{{__global.declaration}}
+ +{{#syntax}} +
+
{{syntax.content.0.value}}
+
+ +{{#parameters.0}} +
{{__global.parameters}}
+ +{{/parameters.0}} +{{#parameters}} + + + +{{/parameters}} +{{#parameters.0}} +
+ {{{type.specName.0.value}}} + {{{id}}} +

{{{description}}}

+
+{{/parameters.0}} + +{{#return}} +
{{__global.returns}}
+ + + + +
+ {{{type.specName.0.value}}} +

{{{description}}}

+
+{{/return}} + +{{#typeParameters.0}} +
{{__global.typeParameters}}
+ +{{/typeParameters.0}} +{{#typeParameters}} + + + +{{/typeParameters}} +{{#typeParameters.0}} +
+ {{{id}}} +

{{{description}}}

+
+{{/typeParameters.0}} + +{{#fieldValue}} +
{{__global.fieldValue}}
+ + + + +
+ {{{type.specName.0.value}}} +

{{{description}}}

+
+{{/fieldValue}} + +{{#propertyValue}} +
{{__global.propertyValue}}
+ + + + +
+ {{{type.specName.0.value}}} +

{{{description}}}

+
+{{/propertyValue}} + +{{#eventType}} +
{{__global.eventType}}
+ + + + +
+ {{{type.specName.0.value}}} +

{{{description}}}

+
+{{/eventType}} +{{/syntax}} + +{{#overridden}} +
{{__global.overrides}}
+
+{{/overridden}} + +{{#implements.0}} +
{{__global.implements}}
+{{/implements.0}} +{{#implements}} + {{#definition}} +
+ {{/definition}} + {{^definition}} +
+ {{/definition}} +{{/implements}} + +{{#remarks}} +
{{__global.remarks}}
+
{{{remarks}}}
+{{/remarks}} + +{{#example.0}} +
{{__global.examples}}
+{{/example.0}} +{{#example}} +{{{.}}} +{{/example}} + +{{#exceptions.0}} +
{{__global.exceptions}}
+ +{{/exceptions.0}} +{{#exceptions}} + + + +{{/exceptions}} +{{#exceptions.0}} +
+ {{{type.specName.0.value}}} +

{{{description}}}

+
+{{/exceptions.0}} + +{{#seealso.0}} +
{{__global.seealso}}
+
+{{/seealso.0}} +{{#seealso}} + {{#isCref}} +
{{{type.specName.0.value}}}
+ {{/isCref}} + {{^isCref}} +
{{{url}}}
+ {{/isCref}} +{{/seealso}} +{{#seealso.0}} +
+{{/seealso.0}} +
+{{/children}} +{{/children}} + +{{#extensionMethods.0}} +

{{__global.extensionMethods}}

+{{/extensionMethods.0}} +{{#extensionMethods}} +
+ {{#definition}} + + {{/definition}} + {{^definition}} + + {{/definition}} +
+{{/extensionMethods}} + +{{#seealso.0}} +

{{__global.seealso}}

+
+{{/seealso.0}} +{{#seealso}} + {{#isCref}} +
{{{type.specName.0.value}}}
+ {{/isCref}} + {{^isCref}} +
{{{url}}}
+ {{/isCref}} +{{/seealso}} +{{#seealso.0}} +
+{{/seealso.0}} diff --git a/eng/common/docgeneration/templates/matthews/partials/enum.tmpl.partial b/eng/common/docgeneration/templates/matthews/partials/enum.tmpl.partial new file mode 100644 index 0000000000000..91e7ede1ac83d --- /dev/null +++ b/eng/common/docgeneration/templates/matthews/partials/enum.tmpl.partial @@ -0,0 +1,24 @@ +{{>partials/class.header}} +{{#children}} + {{#children}} +

{{name.0.value}}

+ +
+

{{{summary}}}

+
+ {{/children}} +{{/children}} + +{{#extensionMethods.0}} +

{{__global.extensionMethods}}

+{{/extensionMethods.0}} +{{#extensionMethods}} +
+ {{#definition}} + + {{/definition}} + {{^definition}} + + {{/definition}} +
+{{/extensionMethods}} diff --git a/eng/common/docgeneration/templates/matthews/partials/namespace.tmpl.partial b/eng/common/docgeneration/templates/matthews/partials/namespace.tmpl.partial new file mode 100644 index 0000000000000..f607a3dc61bd7 --- /dev/null +++ b/eng/common/docgeneration/templates/matthews/partials/namespace.tmpl.partial @@ -0,0 +1,17 @@ +

{{>partials/title}}

+
{{{summary}}}
+
{{{conceptual}}}
+
{{{remarks}}}
+{{#children}} +

{{>partials/namespaceSubtitle}}

+ + {{#children}} + + + + {{/children}} +
+

+

{{{summary}}}

+
+{{/children}} diff --git a/eng/common/docgeneration/templates/matthews/styles/main.css b/eng/common/docgeneration/templates/matthews/styles/main.css new file mode 100644 index 0000000000000..21eb0c3567f36 --- /dev/null +++ b/eng/common/docgeneration/templates/matthews/styles/main.css @@ -0,0 +1,302 @@ +@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css"); + +/* Clickability fix for selector on sm devices */ +@media (min-width: 768px) and (max-width: 991px) { + article h1:first-of-type:before { + height: 0; + margin-top: 0; + } +} + +#search { + border: none; +} + +.fa-code { + font-size: 19px; +} + +.sidetoc, +body .toc, +.sidefilter, +.sidetoggle { + background-color: #f9fbe7; +} + +.sidenav, +.toc-toggle { + padding: 0; +} + +.sidetoggle { + padding-bottom: 15px; +} + +/* Remove center align from Navbar and Collapsible section */ +.collapse.in, +.collapsing { + text-align: unset; +} + +article h4 { + border-bottom: none; + line-height: normal; +} + +@media (min-width: 768px) { + .sidetoc, .sidefilter { + margin-left: -15px; + } +} + +@media (max-width: 767px) { + .navbar-collapse { + text-align: center !important; + } + + .navbar-collapse li .active { + border-radius: 20px; + } +} + +/* Collapsible Sections + ------------------------------------------------------- */ +.expander:after { + font-family: 'Glyphicons Halflings'; + content: "\e260"; + margin-left: 5px; + color: grey; + font-size: small; +} + +.expander.collapsed:after { + content: "\e259"; +} + +/* Floating buttons + ------------------------------------------------------- */ +.fab { + width: 40px; + height: 40px; + text-align: center; + padding: 11px 0 0 0; + border: none; + outline: none; + color: #FFF; + border-radius: 100%; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); + transition:.3s; +} + +.fab:hover { + transform: scale(1.1); +} + +.fab + .fab { + margin-right: 15px; +} + +.contribution-panel { + z-index: 1000; + position: fixed; + right: 30px; + top: 70px; +} + +/* Bootstrap docs like sidebar + ------------------------------------------------------- */ +.affix h5 { + display: none; +} + +/* active & hover links */ +.affix ul > li > a:hover, +.affix ul > li.active > a, +.affix ul > li > a:focus { + color: #563d7c; + text-decoration: none; + background-color: transparent; + border-left-color: #563d7c; +} + +/* all active links */ +.affix ul > li.active > a, +.affix ul > li.active:hover > a, +.affix ul > li.active:focus >a { + font-weight: 700; +} + +/* nested active links */ +.affix ul ul > li.active > a, +.affix ul ul > li.active:hover > a, +.affix ul ul > li.active:focus > a { + font-weight: 500; +} + +/* all links */ +.affix ul > li > a { + color: #999; + border-left: 2px solid transparent; + padding: 4px 20px; + font-size: 13px; + font-weight: 400; +} + +/* nested links */ +.affix ul ul > li > a { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 30px; + font-size: 12px; +} + +/* hide inactive nested list */ +.affix ul ul { + display: none; +} + +/* show active nested list */ +.affix ul > li.active > ul { + display: block; +} + +.affix > ul > li > a:before { + content: ''; +} + +.affix ul ul > li > a:before { + content: ''; +} + +/* Style Buttons + ------------------------------------------------------- */ +.btn-warning { + background-color: #0071c5; +} + +.btn-info { + background-color: #0071c5; +} + +/* Navbar Hamburger + ------------------------------------------------------- */ +.icon-bar { + transition: 0.4s; +} + +/* Rotate first bar */ +.change .icon-bar:nth-of-type(2) { + transform: rotate(-45deg) translate(-4px, 5px) ; +} + +/* Fade out the second bar */ +.change .icon-bar:nth-of-type(3) { + opacity: 0; +} + +/* Rotate last bar */ +.change .icon-bar:nth-of-type(4) { + transform: rotate(45deg) translate(-4px, -5px) ; +} + +/* Custom Navbar + ------------------------------------------------------- */ +.navbar-inverse { + background-color: #0071c5; + opacity: 0.95; + border-color: #0071c5; +} +.navbar-inverse .navbar-brand { + color: #ffffff; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #ecdbff; +} +.navbar-inverse .navbar-text { + color: #ffffff; +} +.navbar-inverse .navbar-nav > li > a { + color: #ffffff; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #ecdbff; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #ecdbff; + background-color: #0071c5; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #ecdbff; + background-color: #0071c5; +} +.navbar-inverse .navbar-toggle { + border-color: #0071c5; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #0071c5; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border: none; +} +.navbar-inverse .navbar-link { + color: #ffffff; +} +.navbar-inverse .navbar-link:hover { + color: #ecdbff; +} +.versionarrow { + margin-left: 0.8em; + margin-top: -1.5em; + margin-bottom: -1em; + padding: 1em; +} + +.versionarrow::before { + position: absolute; + content: ''; + width: 0; + height: 0; + border: .5em solid transparent; + border-left-color: gray; + transform-origin: 0 50%; + transition: transform .1s; + margin-top: 0.2em; +} + + +.versionarrow.disable { + text-decoration: line-through; +} + +.versionarrow.down::before { + transform: rotate(90deg); + margin-top: 0em; + transition: transform .1s; +} + +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #ffffff; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ecdbff; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ecdbff; + background-color: #0071c5; + } +} \ No newline at end of file diff --git a/eng/common/docgeneration/templates/matthews/styles/main.js b/eng/common/docgeneration/templates/matthews/styles/main.js new file mode 100644 index 0000000000000..73ccd77747d0a --- /dev/null +++ b/eng/common/docgeneration/templates/matthews/styles/main.js @@ -0,0 +1,224 @@ +// Use container fluid +var containers = $(".container"); +containers.removeClass("container"); +containers.addClass("container-fluid"); + +WINDOW_CONTENTS = window.location.href.split('/') +var SELECTED_LANGUAGE = '' +var INDEX_HTML = '' +var PACKAGE_REGEX = '' +var PACKAGE_REPLACEMENT = '' + +ATTR1 = '[System.ComponentModel.EditorBrowsable]\n<' + +// Navbar Hamburger +$(function () { + $(".navbar-toggle").click(function () { + $(this).toggleClass("change"); + }) +}) + +// Select list to replace affix on small screens +$(function () { + var navItems = $(".sideaffix .level1 > li"); + + if (navItems.length == 0) { + return; + } + + var selector = $("