diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 09bbe2f736b9..1822a5b802b5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -23,13 +23,13 @@ /sdk/eventhub/ @annatisch @yunhaoling @YijunXieMS # PRLabel: %Storage -/sdk/storage/ @amishra-dev @zezha-msft @annatisch @rakshith91 @xiafu-msft @kasobol-msft +/sdk/storage/ @amishra-dev @zezha-msft @annatisch @rakshith91 @xiafu-msft @tasherif-msft @kasobol-msft -/sdk/applicationinsights/ @alexeldeib +/sdk/applicationinsights/ @alexeldeib # PRLabel: %Batch /sdk/batch/ @bgklein @xingwu1 -/sdk/cognitiveservices/azure-cognitiveservices-vision-customvision/ @areddish +/sdk/cognitiveservices/azure-cognitiveservices-vision-customvision/ @areddish # PRLabel: %KeyVault /sdk/keyvault/ @schaabs @chlowell @iscai-msft @@ -52,7 +52,7 @@ # PRLabel: %Data Factory /sdk/datafactory/ @hvermis -/sdk/datalake/ @ro-joowan +/sdk/datalake/ @ro-joowan /sdk/datadatamigration/ @vchske # PRLabel: %Event Grid @@ -88,6 +88,9 @@ # PRLabel: %Cognitive - Form Recognizer /sdk/formrecognizer/ @kristapratico @iscai-msft @rakshith91 +# PRLabel: %Tables +/sdk/tables/ @seankane-msft + # Smoke Tests /common/smoketest/ @lmazuel @chlowell @annatisch @rakshith91 @shurd @southpolesteve diff --git a/.gitignore b/.gitignore index d357979f797d..41a2c9cf82f7 100644 --- a/.gitignore +++ b/.gitignore @@ -84,7 +84,7 @@ src/build # [begoldsm] ignore virtual env if it exists. adlEnv/ - +venv/ code_reports # Azure Storage test credentials diff --git a/README.md b/README.md index bb4e912af729..3f390f79ffa8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Packages](https://img.shields.io/badge/packages-latest-blue.svg)](https://azure.github.io/azure-sdk/releases/latest/python.html) [![Dependencies](https://img.shields.io/badge/dependency-report-blue.svg)](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-python/dependencies/dependencies.html) [![DepGraph](https://img.shields.io/badge/dependency-graph-blue.svg)](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-python/dependencies/InterdependencyGraph.html) [![Python](https://img.shields.io/pypi/pyversions/azure-core.svg?maxAge=2592000)](https://pypi.python.org/pypi/azure/) [![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/python/python%20-%20core%20-%20ci?branchName=master)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=458&branchName=master) -This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our [public developer docs](https://docs.microsoft.com/en-us/python/azure/) or our versioned [developer docs](https://azure.github.io/azure-sdk-for-python). +This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our [public developer docs](https://docs.microsoft.com/python/azure/) or our versioned [developer docs](https://azure.github.io/azure-sdk-for-python). ## Getting started diff --git a/SECURITY.md b/SECURITY.md index 926b8ae4059a..dec3d3b7013b 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,7 +4,7 @@ Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below. +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below. ## Reporting Security Issues @@ -12,7 +12,7 @@ If you believe you have found a security vulnerability in any Microsoft-owned re Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/msrc/pgp-key-msrc). You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). @@ -36,6 +36,6 @@ We prefer all communications to be in English. ## Policy -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/msrc/cvd). diff --git a/common/smoketest/key_vault_base.py b/common/smoketest/key_vault_base.py index 38fe851d7922..9ed79f2e1fb2 100644 --- a/common/smoketest/key_vault_base.py +++ b/common/smoketest/key_vault_base.py @@ -1,17 +1,22 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ import os -from azure.identity import DefaultAzureCredential, KnownAuthorities +from azure.identity import AzureAuthorityHosts, DefaultAzureCredential + class KeyVaultBase: credential_type = DefaultAzureCredential host_alias_map = { - 'AzureChinaCloud': KnownAuthorities.AZURE_CHINA, - 'AzureGermanCloud': KnownAuthorities.AZURE_GERMANY, - 'AzureUSGovernment': KnownAuthorities.AZURE_GOVERNMENT, - 'AzureCloud': KnownAuthorities.AZURE_PUBLIC_CLOUD, + "AzureChinaCloud": (AzureAuthorityHosts.AZURE_CHINA, "2016-10-01"), + "AzureGermanCloud": (AzureAuthorityHosts.AZURE_GERMANY, "2016-10-01"), + "AzureUSGovernment": (AzureAuthorityHosts.AZURE_GOVERNMENT, "2016-10-01"), + "AzureCloud": (AzureAuthorityHosts.AZURE_PUBLIC_CLOUD, "7.1"), } - # Instantiate a default credential based on the credential_type - def get_default_credential(self, authority_host_alias=None): - alias = authority_host_alias or os.environ.get("AZURE_CLOUD") - authority_host = self.host_alias_map.get(alias, KnownAuthorities.AZURE_PUBLIC_CLOUD) - return self.credential_type(authority=authority_host) + def get_client_args(self, authority_host_alias=None): + alias = authority_host_alias or os.environ.get("AZURE_CLOUD", "AzureCloud") + authority_host, api_version = self.host_alias_map[alias] + credential = self.credential_type(authority=authority_host) + return {"api_version": api_version, "credential": credential, "vault_url": os.environ["AZURE_PROJECT_URL"]} diff --git a/common/smoketest/key_vault_base_async.py b/common/smoketest/key_vault_base_async.py index c6f25493c2ca..c25bc9051434 100644 --- a/common/smoketest/key_vault_base_async.py +++ b/common/smoketest/key_vault_base_async.py @@ -1,5 +1,10 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ from key_vault_base import KeyVaultBase from azure.identity.aio import DefaultAzureCredential + class KeyVaultBaseAsync(KeyVaultBase): credential_type = DefaultAzureCredential \ No newline at end of file diff --git a/common/smoketest/key_vault_certificates.py b/common/smoketest/key_vault_certificates.py index b9c21a9ffce8..dde2dc898a28 100644 --- a/common/smoketest/key_vault_certificates.py +++ b/common/smoketest/key_vault_certificates.py @@ -2,19 +2,15 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import os import uuid from azure.keyvault.certificates import CertificateClient, CertificatePolicy from key_vault_base import KeyVaultBase + class KeyVaultCertificates(KeyVaultBase): def __init__(self): - - credential = self.get_default_credential() - self.certificate_client = CertificateClient( - vault_url=os.environ["AZURE_PROJECT_URL"], credential=credential - ) - + args = self.get_client_args() + self.certificate_client = CertificateClient(**args) self.certificate_name = "cert-name-" + uuid.uuid1().hex def create_certificate(self): diff --git a/common/smoketest/key_vault_certificates_async.py b/common/smoketest/key_vault_certificates_async.py index fae70305e9ce..6c5b5e5e3043 100644 --- a/common/smoketest/key_vault_certificates_async.py +++ b/common/smoketest/key_vault_certificates_async.py @@ -2,19 +2,16 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import os import uuid from azure.keyvault.certificates import CertificatePolicy from azure.keyvault.certificates.aio import CertificateClient from key_vault_base_async import KeyVaultBaseAsync + class KeyVaultCertificates(KeyVaultBaseAsync): def __init__(self): - credential = self.get_default_credential() - self.certificate_client = CertificateClient( - vault_url=os.environ["AZURE_PROJECT_URL"], credential=credential - ) - + args = self.get_client_args() + self.certificate_client = CertificateClient(**args) self.certificate_name = "cert-name-" + uuid.uuid1().hex async def create_certificate(self): diff --git a/common/smoketest/key_vault_keys.py b/common/smoketest/key_vault_keys.py index dc712ee82a6f..d7b22af18004 100644 --- a/common/smoketest/key_vault_keys.py +++ b/common/smoketest/key_vault_keys.py @@ -2,7 +2,6 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import os import uuid from azure.keyvault.keys import KeyClient from key_vault_base import KeyVaultBase @@ -10,11 +9,8 @@ class KeyVaultKeys(KeyVaultBase): def __init__(self): - credential = self.get_default_credential() - self.key_client = KeyClient( - vault_url=os.environ["AZURE_PROJECT_URL"], credential=credential - ) - + args = self.get_client_args() + self.key_client = KeyClient(**args) self.key_name = "key-name-" + uuid.uuid1().hex def create_rsa_key(self): diff --git a/common/smoketest/key_vault_keys_async.py b/common/smoketest/key_vault_keys_async.py index 071470f2b4f4..d63c056fbe96 100644 --- a/common/smoketest/key_vault_keys_async.py +++ b/common/smoketest/key_vault_keys_async.py @@ -2,7 +2,6 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import os import uuid from azure.keyvault.keys.aio import KeyClient from key_vault_base_async import KeyVaultBaseAsync @@ -10,12 +9,8 @@ class KeyVaultKeys(KeyVaultBaseAsync): def __init__(self): - - credential = self.get_default_credential() - self.key_client = KeyClient( - vault_url=os.environ["AZURE_PROJECT_URL"], credential=credential - ) - + args = self.get_client_args() + self.key_client = KeyClient(**args) self.key_name = "key-name-" + uuid.uuid1().hex async def create_rsa_key(self): diff --git a/common/smoketest/key_vault_secrets.py b/common/smoketest/key_vault_secrets.py index 1340b546399a..6751c7ad6b33 100644 --- a/common/smoketest/key_vault_secrets.py +++ b/common/smoketest/key_vault_secrets.py @@ -2,18 +2,15 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import os import uuid from azure.keyvault.secrets import SecretClient from key_vault_base import KeyVaultBase + class KeyVaultSecrets(KeyVaultBase): def __init__(self): - credential = self.get_default_credential() - self.secret_client = SecretClient( - vault_url=os.environ["AZURE_PROJECT_URL"], credential=credential - ) - + args = self.get_client_args() + self.secret_client = SecretClient(**args) self.secret_name = "secret-name-" + uuid.uuid1().hex self.secret_Value = "secret-value" diff --git a/common/smoketest/key_vault_secrets_async.py b/common/smoketest/key_vault_secrets_async.py index 807a93d1d198..c054b0a67b8d 100644 --- a/common/smoketest/key_vault_secrets_async.py +++ b/common/smoketest/key_vault_secrets_async.py @@ -2,17 +2,15 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import os import uuid from azure.keyvault.secrets.aio import SecretClient from key_vault_base_async import KeyVaultBaseAsync + class KeyVaultSecrets(KeyVaultBaseAsync): def __init__(self): - credential = self.get_default_credential() - self.secret_client = SecretClient( - vault_url=os.environ["AZURE_PROJECT_URL"], credential=credential - ) + args = self.get_client_args() + self.secret_client = SecretClient(**args) self.secret_name = "secret-name-" + uuid.uuid1().hex self.secret_value = "secret-value" diff --git a/doc/dev/mgmt/generating-integration-test.md b/doc/dev/mgmt/generating-integration-test.md index 98de9892d535..af07d85ebb3e 100644 --- a/doc/dev/mgmt/generating-integration-test.md +++ b/doc/dev/mgmt/generating-integration-test.md @@ -123,7 +123,7 @@ now you can run live integration test: pytest -s sdk/attestation/azure-mgmt-attestation ->NOTE: To create service principal, follow instructions here: https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal +>NOTE: To create service principal, follow instructions here: https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal ## Fixing Test diff --git a/doc/dev/mgmt/tests.md b/doc/dev/mgmt/tests.md index 4c41cd5e0f40..5ec93aedec80 100644 --- a/doc/dev/mgmt/tests.md +++ b/doc/dev/mgmt/tests.md @@ -66,10 +66,10 @@ you must use an OAuth authentication method which gives you a token: Certificate authentication does not allow you to record HTTP queries for testing. -### Get a token with Azure Active Directory user/password. This is considered deprecated and should not be used anymore (https://docs.microsoft.com/en-us/python/azure/python-sdk-azure-authenticate?view=azure-python#mgmt-auth-legacy). +### Get a token with Azure Active Directory user/password. This is considered deprecated and should not be used anymore (https://docs.microsoft.com/python/azure/python-sdk-azure-authenticate?view=azure-python#mgmt-auth-legacy). 1. Connect to the [Azure Classic Portal](https://manage.windowsazure.com/) with your admin account. -2. Create a user in your default AAD https://azure.microsoft.com/en-us/documentation/articles/active-directory-create-users/ +2. Create a user in your default AAD https://azure.microsoft.com/documentation/articles/active-directory-create-users/ **You must NOT activate Multi-Factor Authentication!** 3. Go to Settings - Administrators. 4. Click on *Add* and enter the email of the new user. @@ -89,13 +89,13 @@ credentials = UserPassCredentials( ### Get a token with Active Directory application and service principal Follow this detailed tutorial to set up an Active Directory application and service principal: -https://azure.microsoft.com/en-us/documentation/articles/resource-group-create-service-principal-portal/ +https://azure.microsoft.com/documentation/articles/resource-group-create-service-principal-portal/ To use the credentials from Python, you need the application ID (a.k.a. client ID), authentication key (a.k.a. client secret), tenant ID and subscription ID from the Azure portal for use in the next step. -[This section of the above tutorial](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#get-application-id-and-authentication-key) +[This section of the above tutorial](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-create-service-principal-portal#get-application-id-and-authentication-key) describes where to find them (besides the subscription ID, which is in the "Overview" section of the "Subscriptions" blade.) diff --git a/doc/dev/release.md b/doc/dev/release.md index eb61edcef111..c65dbb72e4b7 100644 --- a/doc/dev/release.md +++ b/doc/dev/release.md @@ -16,11 +16,11 @@ Python packages are uploaded to [PyPI](https://pypi.org/). Once you've uploaded ### Production - Deploy with Azure Dev Ops -To avoid "accidental" pushes to our target repositories, [approval](https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/approvals?view=azure-devops) will be requested directly prior to the final PyPI publish. Reference this [wiki page](https://aka.ms/python-approval-groups) and click on `Release to PyPI Approvers` to add yourself to the group for PyPI publishing. +To avoid "accidental" pushes to our target repositories, [approval](https://docs.microsoft.com/azure/devops/pipelines/release/approvals/approvals?view=azure-devops) will be requested directly prior to the final PyPI publish. Reference this [wiki page](https://aka.ms/python-approval-groups) and click on `Release to PyPI Approvers` to add yourself to the group for PyPI publishing. Instead of a single central pipeline, the python SDK has moved to `service directory` associated build pipelines. These are driven by yml templates at the root of each service folder. [Example for storage service folder.](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/storage/ci.yml#L44) -As an aside, please note that the preview feature `multi-stage pipelines` must be enabled to properly interact with unified pipelines. If you aren't aware, find out how to enable by visiting [this link.](https://docs.microsoft.com/en-us/azure/devops/project/navigation/preview-features?view=azure-devops) +As an aside, please note that the preview feature `multi-stage pipelines` must be enabled to properly interact with unified pipelines. If you aren't aware, find out how to enable by visiting [this link.](https://docs.microsoft.com/azure/devops/project/navigation/preview-features?view=azure-devops) #### Releasing Through Unified Pipelines diff --git a/eng/.docsettings.yml b/eng/.docsettings.yml index cc21ada7b025..ee1371fe01df 100644 --- a/eng/.docsettings.yml +++ b/eng/.docsettings.yml @@ -48,6 +48,7 @@ known_content_issues: - ['sdk/synapse/azure-synapse-spark/README.md', '#4554'] - ['sdk/synapse/azure-synapse-artifacts/README.md', '#4554'] - ['sdk/synapse/azure-synapse-nspkg/README.md', '#4554'] + - ['sdk/anomalydetector/azure-ai-anomalydetector/README.md', '#4554'] - ['sdk/applicationinsights/azure-applicationinsights/README.md', '#4554'] - ['sdk/batch/azure-batch/README.md', '#4554'] - ['sdk/cognitiveservices/azure-cognitiveservices-anomalydetector/README.md', '#4554'] diff --git a/eng/common/README.md b/eng/common/README.md index 7e9e197fc466..227a572db2d8 100644 --- a/eng/common/README.md +++ b/eng/common/README.md @@ -4,9 +4,20 @@ The `eng/common` directory contains engineering files that are common across the It should remain relatively small and only contain textual based files like scripts, configs, or templates. It should not contain binary files as they don't play well with git. -# Updating +## Updating Any updates to files in the `eng/common` directory should be made in the [azure-sdk-tools](https://github.com/azure/azure-sdk-tools) repo. All changes made will cause a PR to created in all subscribed azure-sdk language repos which will blindly replace all contents of the `eng/common` directory in that repo. For that reason do **NOT** make changes to files in this directory in the individual azure-sdk -languages repos as they will be overwritten the next time an update is taken from the common azure-sdk-tools repo. \ No newline at end of file +languages repos as they will be overwritten the next time an update is taken from the common azure-sdk-tools repo. + +### Workflow + +The 'Sync eng/common directory' PRs will be created in the language repositories once a pull request that touches the eng/common directory is submitted against the master branch. This will make it easier for changes to be tested in each individual language repo before merging the changes in the azure-sdk-tools repo. The workflow is explained below: + +1. Create a PR against Azure/azure-sdk-tools:master. This is the **Tools PR**. +2. `azure-sdk-tools - sync - eng-common` is run automatically. It creates **Sync PRs** in each of the connected language repositories using the format `Sync eng/common directory with azure-sdk-tools for PR {Tools PR Number}`. Each **Sync PR** will contain a link back to the **Tools PR** that triggered it. +3. More changes pushed to the **Tools PR**, will automatically triggered new pipeline runs in the respective **Sync PRs**. The **Sync PRs** are used to make sure the changes would not break any of the connected pipelines. +4. Once satisfied with the changes; + - First merge all the **Sync PRs**. The **Tools PR** contains links to all the **Sync PRs** + - Finally merge the **Tools PR**. Each **Sync PR** contains the link to the corresponding **Tools PR**. \ No newline at end of file diff --git a/eng/common/TestResources/New-TestResources.ps1 b/eng/common/TestResources/New-TestResources.ps1 index 3201f5175483..0552f9dd5e7b 100644 --- a/eng/common/TestResources/New-TestResources.ps1 +++ b/eng/common/TestResources/New-TestResources.ps1 @@ -15,6 +15,9 @@ param ( [ValidatePattern('^[-a-zA-Z0-9\.\(\)_]{0,80}(?<=[a-zA-Z0-9\(\)])$')] [string] $BaseName, + [ValidatePattern('^[-\w\._\(\)]+$')] + [string] $ResourceGroupName, + [Parameter(Mandatory = $true)] [string] $ServiceDirectory, @@ -115,6 +118,7 @@ $repositoryRoot = "$PSScriptRoot/../../.." | Resolve-Path $root = [System.IO.Path]::Combine($repositoryRoot, "sdk", $ServiceDirectory) | Resolve-Path $templateFileName = 'test-resources.json' $templateFiles = @() +$environmentVariables = @{} Write-Verbose "Checking for '$templateFileName' files under '$root'" Get-ChildItem -Path $root -Filter $templateFileName -Recurse | ForEach-Object { @@ -194,14 +198,18 @@ $serviceName = if (Split-Path -IsAbsolute $ServiceDirectory) { $ServiceDirectory } -# Format the resource group name based on resource group naming recommendations and limitations. -$resourceGroupName = if ($CI) { - $BaseName = 't' + (New-Guid).ToString('n').Substring(0, 16) - Write-Verbose "Generated base name '$BaseName' for CI build" +if ($CI) { + $BaseName = 't' + (New-Guid).ToString('n').Substring(0, 16) + Write-Verbose "Generated base name '$BaseName' for CI build" +} - "rg-{0}-$BaseName" -f ($serviceName -replace '[\\\/:]', '-').Substring(0, [Math]::Min($serviceName.Length, 90 - $BaseName.Length - 4)).Trim('-') +$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" + "rg-$BaseName" } # Tag the resource group to be deleted after a certain number of hours if specified. @@ -225,13 +233,14 @@ if ($CI) { } # Set the resource group name variable. - Write-Host "Setting variable 'AZURE_RESOURCEGROUP_NAME': $resourceGroupName" - Write-Host "##vso[task.setvariable variable=AZURE_RESOURCEGROUP_NAME;]$resourceGroupName" + Write-Host "Setting variable 'AZURE_RESOURCEGROUP_NAME': $ResourceGroupName" + Write-Host "##vso[task.setvariable variable=AZURE_RESOURCEGROUP_NAME;]$ResourceGroupName" + $environmentVariables['AZURE_RESOURCEGROUP_NAME'] = $ResourceGroupName } -Log "Creating resource group '$resourceGroupName' in location '$Location'" +Log "Creating resource group '$ResourceGroupName' in location '$Location'" $resourceGroup = Retry { - New-AzResourceGroup -Name "$resourceGroupName" -Location $Location -Tag $tags -Force:$Force + New-AzResourceGroup -Name "$ResourceGroupName" -Location $Location -Tag $tags -Force:$Force } if ($resourceGroup.ProvisioningState -eq 'Succeeded') { @@ -295,7 +304,7 @@ foreach ($templateFile in $templateFiles) { $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 + &$preDeploymentScript -ResourceGroupName $ResourceGroupName @PSBoundParameters } Log "Deploying template '$templateFile' to resource group '$($resourceGroup.ResourceGroupName)'" @@ -364,6 +373,7 @@ foreach ($templateFile in $templateFiles) { 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. @@ -386,12 +396,14 @@ foreach ($templateFile in $templateFiles) { $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 -ResourceGroupName $ResourceGroupName -DeploymentOutputs $deploymentOutputs @PSBoundParameters } } $exitActions.Invoke() +return $environmentVariables + <# .SYNOPSIS Deploys live test resources defined for a service directory to Azure. @@ -422,6 +434,10 @@ the ARM template. See also https://docs.microsoft.com/azure/architecture/best-pr Note: The value specified for this parameter will be overriden and generated by New-TestResources.ps1 if $CI is specified. +.PARAMETER ResourceGroupName +Set this value to deploy directly to a Resource Group that has already been +created. + .PARAMETER ServiceDirectory A directory under 'sdk' in the repository root - optionally with subdirectories specified - in which to discover ARM templates named 'test-resources.json'. diff --git a/eng/common/TestResources/New-TestResources.ps1.md b/eng/common/TestResources/New-TestResources.ps1.md index c9a462aae3a8..d4479294d381 100644 --- a/eng/common/TestResources/New-TestResources.ps1.md +++ b/eng/common/TestResources/New-TestResources.ps1.md @@ -14,19 +14,20 @@ Deploys live test resources defined for a service directory to Azure. ### Default (Default) ``` -New-TestResources.ps1 [-BaseName] -ServiceDirectory -TestApplicationId - [-TestApplicationSecret ] [-TestApplicationOid ] [-DeleteAfterHours ] - [-Location ] [-Environment ] [-AdditionalParameters ] [-CI] [-Force] [-WhatIf] - [-Confirm] [] +New-TestResources.ps1 [-BaseName] [-ResourceGroupName ] -ServiceDirectory + -TestApplicationId [-TestApplicationSecret ] [-TestApplicationOid ] + [-DeleteAfterHours ] [-Location ] [-Environment ] [-AdditionalParameters ] + [-CI] [-Force] [-OutFile] [-WhatIf] [-Confirm] [] ``` ### Provisioner ``` -New-TestResources.ps1 [-BaseName] -ServiceDirectory -TestApplicationId - [-TestApplicationSecret ] [-TestApplicationOid ] -TenantId [-SubscriptionId ] - -ProvisionerApplicationId -ProvisionerApplicationSecret [-DeleteAfterHours ] - [-Location ] [-Environment ] [-AdditionalParameters ] [-CI] [-Force] [-WhatIf] - [-Confirm] [] +New-TestResources.ps1 [-BaseName] [-ResourceGroupName ] -ServiceDirectory + -TestApplicationId [-TestApplicationSecret ] [-TestApplicationOid ] + -TenantId [-SubscriptionId ] -ProvisionerApplicationId + -ProvisionerApplicationSecret [-DeleteAfterHours ] [-Location ] + [-Environment ] [-AdditionalParameters ] [-CI] [-Force] [-OutFile] [-WhatIf] [-Confirm] + [] ``` ## DESCRIPTION @@ -112,6 +113,22 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -ResourceGroupName +Set this value to deploy directly to a Resource Group that has already been +created. + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -ServiceDirectory A directory under 'sdk' in the repository root - optionally with subdirectories specified - in which to discover ARM templates named 'test-resources.json'. @@ -381,29 +398,32 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -WhatIf -Shows what would happen if the cmdlet runs. -The cmdlet is not run. +### -OutFile +Save test environment settings into a test-resources.json.env file next to test-resources.json. +File is protected via DPAPI. +Supported only on windows. +The environment file would be scoped to the current repository directory. ```yaml Type: SwitchParameter Parameter Sets: (All) -Aliases: wi +Aliases: Required: False Position: Named -Default value: None +Default value: False Accept pipeline input: False Accept wildcard characters: False ``` -### -Confirm -Prompts you for confirmation before running the cmdlet. +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. ```yaml Type: SwitchParameter Parameter Sets: (All) -Aliases: cf +Aliases: wi Required: False Position: Named @@ -412,15 +432,13 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -OutFile -save test environment settings into a test-resources.json.env file next to test-resources.json. -The file is protected via DPAPI. The environment file would be scoped to the current repository directory. -Note: Supported only on Windows. +### -Confirm +Prompts you for confirmation before running the cmdlet. ```yaml Type: SwitchParameter Parameter Sets: (All) -Aliases: +Aliases: cf Required: False Position: Named @@ -440,4 +458,5 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## RELATED LINKS -[Remove-TestResources.ps1](./Remove-TestResources.ps1.md) +[Remove-TestResources.ps1]() + diff --git a/eng/common/TestResources/README.md b/eng/common/TestResources/README.md index 3c0cd7c2207e..e02990d023e5 100644 --- a/eng/common/TestResources/README.md +++ b/eng/common/TestResources/README.md @@ -35,10 +35,10 @@ eng\common\TestResources\New-TestResources.ps1 ` -TestApplicationSecret (ConvertFrom-SecureString $sp.Secret -AsPlainText) ``` -If you are running this for a .NET project on Windows, the recommended method is to -add the `-OutFile` switch to the above command. This will save test environment settings -into a test-resources.json.env file next to test-resources.json. The file is protected via DPAPI. -The environment file would be scoped to the current repository directory and avoids the need to +If you are running this for a .NET project on Windows, the recommended method is to +add the `-OutFile` switch to the above command. This will save test environment settings +into a test-resources.json.env file next to test-resources.json. The file is protected via DPAPI. +The environment file would be scoped to the current repository directory and avoids the need to set environment variables or restart your IDE to recognize them. Along with some log messages, this will output environment variables based on diff --git a/eng/common/TestResources/Remove-TestResources.ps1.md b/eng/common/TestResources/Remove-TestResources.ps1.md index f9bc1803ae32..7a70923dcd0d 100644 --- a/eng/common/TestResources/Remove-TestResources.ps1.md +++ b/eng/common/TestResources/Remove-TestResources.ps1.md @@ -14,34 +14,35 @@ Deletes the resource group deployed for a service directory from Azure. ### Default (Default) ``` -Remove-TestResources.ps1 [-BaseName] [-Environment ] [-Force] [-WhatIf] [-Confirm] - [] +Remove-TestResources.ps1 [-BaseName] [-ServiceDirectory ] [-Environment ] [-Force] + [-RemoveTestResourcesRemainingArguments ] [-WhatIf] [-Confirm] [] ``` ### Default+Provisioner ``` Remove-TestResources.ps1 [-BaseName] -TenantId [-SubscriptionId ] - -ProvisionerApplicationId -ProvisionerApplicationSecret [-Environment ] [-Force] - [-WhatIf] [-Confirm] [] + -ProvisionerApplicationId -ProvisionerApplicationSecret [-ServiceDirectory ] + [-Environment ] [-Force] [-RemoveTestResourcesRemainingArguments ] [-WhatIf] [-Confirm] + [] ``` ### ResourceGroup+Provisioner ``` Remove-TestResources.ps1 -ResourceGroupName -TenantId [-SubscriptionId ] - -ProvisionerApplicationId -ProvisionerApplicationSecret [-Environment ] [-Force] - [-WhatIf] [-Confirm] [] + -ProvisionerApplicationId -ProvisionerApplicationSecret [-ServiceDirectory ] + [-Environment ] [-Force] [-RemoveTestResourcesRemainingArguments ] [-WhatIf] [-Confirm] + [] ``` ### ResourceGroup ``` -Remove-TestResources.ps1 -ResourceGroupName [-Environment ] [-Force] [-WhatIf] [-Confirm] - [] +Remove-TestResources.ps1 -ResourceGroupName [-ServiceDirectory ] [-Environment ] + [-Force] [-RemoveTestResourcesRemainingArguments ] [-WhatIf] [-Confirm] [] ``` ## DESCRIPTION Removes a resource group and all its resources previously deployed using New-TestResources.ps1. - If you are not currently logged into an account in the Az PowerShell module, you will be asked to log in with Connect-AzAccount. Alternatively, you (or a @@ -54,10 +55,9 @@ create resources. ### EXAMPLE 1 ``` Remove-TestResources.ps1 -BaseName 'uuid123' -Force -``` - Use the currently logged-in account to delete the resource group by the name of 'rg-uuid123' +``` ### EXAMPLE 2 ``` @@ -68,11 +68,10 @@ Remove-TestResources.ps1 ` -ProvisionerApplicationSecret '$(AppSecret)' ` -Force ` -Verbose ` -``` - When run in the context of an Azure DevOps pipeline, this script removes the resource group whose name is stored in the environment variable AZURE_RESOURCEGROUP_NAME. +``` ## PARAMETERS @@ -171,7 +170,7 @@ Accept wildcard characters: False ### -ServiceDirectory A directory under 'sdk' in the repository root - optionally with subdirectories -specified - specified - in which to discover pre removal script named 'remove-test-resources-pre.json'. +specified - in which to discover pre removal script named 'remove-test-resources-pre.json'. ```yaml Type: String @@ -217,6 +216,21 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -RemoveTestResourcesRemainingArguments +Captures any arguments not declared here (no parameter errors) + +```yaml +Type: Object +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -WhatIf Shows what would happen if the cmdlet runs. The cmdlet is not run. @@ -259,4 +273,5 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## RELATED LINKS -[New-TestResources.ps1](./New-TestResources.ps1.md) +[New-TestResources.ps1]() + diff --git a/eng/common/TestResources/deploy-test-resources.yml b/eng/common/TestResources/deploy-test-resources.yml index b875a806b143..87438443d6aa 100644 --- a/eng/common/TestResources/deploy-test-resources.yml +++ b/eng/common/TestResources/deploy-test-resources.yml @@ -12,8 +12,8 @@ parameters: # "TenantId": "", # "TestApplicationId": "", # "TestApplicationSecret": "", -# "ProvisionerApplicationId": "", -# "ProvisionerApplicationSecret": "", +# "ProvisionerApplicationId": "", +# "ProvisionerApplicationSecret": "", # "Environment": "AzureCloud | AzureGov | AzureChina | " # } diff --git a/eng/common/TestResources/remove-test-resources.yml b/eng/common/TestResources/remove-test-resources.yml index 767f8c8c516b..01e9f64d5516 100644 --- a/eng/common/TestResources/remove-test-resources.yml +++ b/eng/common/TestResources/remove-test-resources.yml @@ -12,8 +12,8 @@ parameters: # "TenantId": "", # "TestApplicationId": "", # "TestApplicationSecret": "", -# "ProvisionerApplicationId": "", -# "ProvisoinerApplicationSecret": "", +# "ProvisionerApplicationId": "", +# "ProvisionerApplicationSecret": "", # "Environment": "AzureCloud | AzureGov | AzureChina | " # } # The Remove-TestResources.ps1 script accommodates extra parameters so it will @@ -27,7 +27,7 @@ steps: eng/common/TestResources/Remove-TestResources.ps1 ` -ResourceGroupName "${env:AZURE_RESOURCEGROUP_NAME}" ` - -ServiceDirectory ${{ parameters.ServiceDirectory }} ` + -ServiceDirectory "${{ parameters.ServiceDirectory }}" ` @subscriptionConfiguration ` -Force ` -Verbose diff --git a/eng/common/pipelines/templates/steps/create-pull-request.yml b/eng/common/pipelines/templates/steps/create-pull-request.yml index 10af61de1100..b22d5dda2722 100644 --- a/eng/common/pipelines/templates/steps/create-pull-request.yml +++ b/eng/common/pipelines/templates/steps/create-pull-request.yml @@ -11,9 +11,12 @@ parameters: PushArgs: WorkingDirectory: $(System.DefaultWorkingDirectory) PRTitle: not-specified + PRBody: '' ScriptDirectory: eng/common/scripts GHReviewersVariable: '' GHTeamReviewersVariable: '' + # Multiple labels seperated by comma, e.g. "bug, APIView" + PRLabels: '' steps: @@ -65,10 +68,13 @@ steps: -PRBranch "${{ parameters.PRBranchName }}" -AuthToken "$(azuresdk-github-pat)" -PRTitle "${{ parameters.PRTitle }}" + -PRBody "${{ coalesce(parameters.PRBody, parameters.CommitMsg, parameters.PRTitle) }}" + -PRLabels "${{ parameters.PRLabels}}" - task: PowerShell@2 displayName: Tag a Reviewer on PR condition: and(succeeded(), eq(variables['HasChanges'], 'true')) + continueOnError: true inputs: pwsh: true workingDirectory: ${{ parameters.WorkingDirectory }} diff --git a/eng/common/pipelines/templates/steps/get-pr-owners.yml b/eng/common/pipelines/templates/steps/get-pr-owners.yml index a80d5b83b2de..e3739602b229 100644 --- a/eng/common/pipelines/templates/steps/get-pr-owners.yml +++ b/eng/common/pipelines/templates/steps/get-pr-owners.yml @@ -18,12 +18,20 @@ steps: --kusto-database-var KUSTO_DB ` --kusto-table-var KUSTO_TABLE ` --identity "$(Build.QueuedBy)" - $resolvedIdentity = $result[-1] | ConvertFrom-Json - Write-Host $resolvedIdentity + $resolvedIdentity = "" + try { $resolvedIdentity = $result[-1] | ConvertFrom-Json } catch {} - Write-Output "##vso[task.setvariable variable=${{ parameters.TargetVariable }}]$($resolvedIdentity.GithubUserName)" + if($resolvedIdentity) { + Write-Host $resolvedIdentity + + Write-Host "##vso[task.setvariable variable=${{ parameters.TargetVariable }}]$($resolvedIdentity.GithubUserName)" + } + else { + Write-Host "Unable to locate a github user for identity $(Build.QueuedBy)" + } displayName: 'Resolving Queuing User' + continueOnError: true workingDirectory: $(Build.SourcesDirectory)/tools_repo/tools/notification-configuration/identity-resolver env: APP_ID: $(notification-aad-app-id) @@ -41,6 +49,6 @@ steps: $originalValue = "$(${{ parameters.TargetVariable }})" $result = $(Build.SourcesDirectory)/eng/common/scripts/get-codeowners.ps1 -TargetDirectory /sdk/${{ parameters.ServiceDirectory }}/ -RootDirectory $(Build.SourcesDirectory) if ($result) { - Write-Output "##vso[task.setvariable variable=${{ parameters.TargetVariable }}]$originalValue,$result" + Write-Host "##vso[task.setvariable variable=${{ parameters.TargetVariable }}]$originalValue,$result" } displayName: Add CodeOwners if Present \ No newline at end of file diff --git a/eng/common/pipelines/templates/steps/replace-relative-links.yml b/eng/common/pipelines/templates/steps/replace-relative-links.yml index 7ab2d76bc3f6..fe90211c8c6c 100644 --- a/eng/common/pipelines/templates/steps/replace-relative-links.yml +++ b/eng/common/pipelines/templates/steps/replace-relative-links.yml @@ -91,7 +91,7 @@ steps: else: return match.group(0) - def replace_prefined_relative_links(match, readme_location, root_folder, build_sha, repo_id): + def replace_predefined_relative_links(match, readme_location, root_folder, build_sha, repo_id): link_path = match.group(2).strip() if is_relative_link(link_path, readme_location): @@ -133,7 +133,7 @@ steps: content = re.sub( PREDEFINED_LINK_DISCOVERY_REGEX, - lambda match, readme_location=readme_location, root_folder=root_folder, build_sha=build_sha, repo_id=repo_id: replace_prefined_relative_links( + lambda match, readme_location=readme_location, root_folder=root_folder, build_sha=build_sha, repo_id=repo_id: replace_predefined_relative_links( match, readme_location, root_folder, build_sha, repo_id ), content, diff --git a/eng/common/pipelines/templates/steps/verify-agent-os.yml b/eng/common/pipelines/templates/steps/verify-agent-os.yml index b221583bc6da..4551279e13c0 100644 --- a/eng/common/pipelines/templates/steps/verify-agent-os.yml +++ b/eng/common/pipelines/templates/steps/verify-agent-os.yml @@ -9,7 +9,7 @@ steps: script: | # Script verifies the operating system for the platform on which it is being run # Used in build pipelines to verify the build agent os - # Variable: The friendly name or image name of the os to verfy against + # Variable: The friendly name or image name of the os to verify against from __future__ import print_function import sys import platform diff --git a/eng/common/pipelines/templates/steps/verify-links.yml b/eng/common/pipelines/templates/steps/verify-links.yml index a3d385becefc..c9d76c99787e 100644 --- a/eng/common/pipelines/templates/steps/verify-links.yml +++ b/eng/common/pipelines/templates/steps/verify-links.yml @@ -2,13 +2,18 @@ parameters: Directory: 'not-specified' IgnoreLinksFile: "$(Build.SourcesDirectory)/eng/ignore-links.txt" - steps: - - task: PowerShell@2 - displayName: Link verification check - inputs: - pwsh: true - workingDirectory: $(Build.SourcesDirectory)/${{ parameters.Directory }} - filePath: eng/common/scripts/Verify-Links.ps1 - arguments: > - -urls $(dir -r -i *.md) -rootUrl "file://$(Build.SourcesDirectory)/${{ parameters.Directory }}" -recursive:$false -ignoreLinksFile ${{ parameters.IgnoreLinksFile }} +- task: PowerShell@2 + displayName: Link verification check + inputs: + pwsh: true + workingDirectory: $(Build.SourcesDirectory)/${{ parameters.Directory }} + filePath: eng/common/scripts/Verify-Links.ps1 + arguments: > + -urls $(dir -r -i *.md) + -rootUrl "file://$(Build.SourcesDirectory)/${{ parameters.Directory }}" + -recursive: $false + -ignoreLinksFile ${{ parameters.IgnoreLinksFile }} + -branchReplaceRegex "^($env:SYSTEM_PULLREQUEST_SOURCEREPOSITORYURI.*/(?:blob|tree)/)master(/.*)$" + -branchReplacementName $env:SYSTEM_PULLREQUEST_SOURCECOMMITID + -devOpsLogging: $true diff --git a/eng/common/scripts/Submit-PullRequest.ps1 b/eng/common/scripts/Submit-PullRequest.ps1 index 5edabc599a99..7f3f0a544e9a 100644 --- a/eng/common/scripts/Submit-PullRequest.ps1 +++ b/eng/common/scripts/Submit-PullRequest.ps1 @@ -15,30 +15,41 @@ The owner of the branch we want to create a pull request for. The branch which we want to create a pull request for. .PARAMETER AuthToken A personal access token +.PARAMETER PRTitle +The title of the pull request. +.PARAMETER PRBody +The body message for the pull request. +.PARAMETER PRLabels +The labels added to the PRs. Multple labels seperated by comma, e.g "bug, service" #> [CmdletBinding(SupportsShouldProcess = $true)] param( [Parameter(Mandatory = $true)] - $RepoOwner, + [string]$RepoOwner, [Parameter(Mandatory = $true)] - $RepoName, + [string]$RepoName, [Parameter(Mandatory = $true)] - $BaseBranch, + [string]$BaseBranch, [Parameter(Mandatory = $true)] - $PROwner, + [string]$PROwner, [Parameter(Mandatory = $true)] - $PRBranch, + [string]$PRBranch, [Parameter(Mandatory = $true)] - $AuthToken, + [string]$AuthToken, [Parameter(Mandatory = $true)] - $PRTitle, - $PRBody = $PRTitle + [string]$PRTitle, + + [Parameter(Mandatory = $false)] + [string]$PRBody = $PRTitle, + + [Parameter(Mandatory = $false)] + [string]$PRLabels ) $headers = @{ @@ -47,6 +58,31 @@ $headers = @{ $query = "state=open&head=${PROwner}:${PRBranch}&base=${BaseBranch}" +function AddLabels([int] $prNumber, [string] $prLabelString) +{ + # Adding labels to the pr. + if (-not $prLabelString) { + Write-Verbose "There are no labels added to the PR." + return + } + + # Parse the labels from string to array + $prLabelArray = @($prLabelString.Split(",") | % { $_.Trim() } | ? { return $_ }) + $prLabelUri = "https://api.github.com/repos/$RepoOwner/$RepoName/issues/$prNumber" + $labelRequestData = @{ + labels = $prLabelArray + } + try { + $resp = Invoke-RestMethod -Method PATCH -Headers $headers $prLabelUri -Body ($labelRequestData | ConvertTo-Json) + } + catch { + Write-Error "Invoke-RestMethod $prLabelUri failed with exception:`n$_" + } + + $resp | Write-Verbose + Write-Host -f green "Label(s) [$prLabelArray] added to pull request: https://github.com/$RepoOwner/$RepoName/pull/$prNumber" +} + try { $resp = Invoke-RestMethod -Headers $headers "https://api.github.com/repos/$RepoOwner/$RepoName/pulls?$query" } @@ -61,6 +97,7 @@ if ($resp.Count -gt 0) { # setting variable to reference the pull request by number Write-Host "##vso[task.setvariable variable=Submitted.PullRequest.Number]$($resp[0].number)" + AddLabels $resp[0].number $PRLabels } else { $data = @{ @@ -86,4 +123,6 @@ else { # setting variable to reference the pull request by number Write-Host "##vso[task.setvariable variable=Submitted.PullRequest.Number]$($resp.number)" + + AddLabels $resp.number $PRLabels } diff --git a/eng/common/scripts/Verify-Links.ps1 b/eng/common/scripts/Verify-Links.ps1 index 5da025f9d659..946655b3fcd9 100644 --- a/eng/common/scripts/Verify-Links.ps1 +++ b/eng/common/scripts/Verify-Links.ps1 @@ -13,11 +13,17 @@ param ( [string] $rootUrl = "", # list of http status codes count as broken links. Defaults to 400, 401, 404, SocketError.HostNotFound = 11001, SocketError.NoData = 11004 [array] $errorStatusCodes = @(400, 401, 404, 11001, 11004), - # flag to allow resolving relative paths or not - [bool] $resolveRelativeLinks = $true + # regex to check if the link needs to be replaced + [string] $branchReplaceRegex = "^(https://github.com/.*/(?:blob|tree)/)master(/.*)$", + # the substitute branch name or SHA commit + [string] $branchReplacementName = "", + # flag to allow checking against azure sdk link guidance. + [bool] $checkLinkGuidance = $false ) $ProgressPreference = "SilentlyContinue"; # Disable invoke-webrequest progress dialog +# Regex of the locale keywords. +$locale = "/en-us/" function NormalizeUrl([string]$url){ if (Test-Path $url) { @@ -56,6 +62,18 @@ function LogWarning } } +function LogError +{ + if ($devOpsLogging) + { + Write-Host "##vso[task.logissue type=error]$args" + } + else + { + Write-Error "$args" + } +} + function ResolveUri ([System.Uri]$referralUri, [string]$link) { # If the link is mailto, skip it. @@ -65,11 +83,13 @@ function ResolveUri ([System.Uri]$referralUri, [string]$link) } $linkUri = [System.Uri]$link; - if($resolveRelativeLinks){ + # Our link guidelines do not allow relative links so only resolve them when we are not + # validating links against our link guidelines (i.e. !$checkLinkGuideance) + if(!$checkLinkGuidance) { if (!$linkUri.IsAbsoluteUri) { # For rooted paths resolve from the baseUrl if ($link.StartsWith("/")) { - echo "rooturl = $rootUrl" + Write-Verbose "rooturl = $rootUrl" $linkUri = new-object System.Uri([System.Uri]$rootUrl, ".$link"); } else { @@ -114,13 +134,20 @@ function ParseLinks([string]$baseUri, [string]$htmlContent) function CheckLink ([System.Uri]$linkUri) { - if ($checkedLinks.ContainsKey($linkUri)) { return } + if ($checkedLinks.ContainsKey($linkUri)) { + if (!$checkedLinks[$linkUri]) { + LogWarning "broken link $linkUri" + } + return $checkedLinks[$linkUri] + } + + $linkValid = $true + Write-Verbose "Checking link $linkUri..." - Write-Verbose "Checking link $linkUri..." if ($linkUri.IsFile) { if (!(Test-Path $linkUri.LocalPath)) { LogWarning "Link to file does not exist $($linkUri.LocalPath)" - $script:badLinks += $linkUri + $linkValid = $false } } else { @@ -152,7 +179,7 @@ function CheckLink ([System.Uri]$linkUri) if ($statusCode -in $errorStatusCodes) { LogWarning "[$statusCode] broken link $linkUri" - $script:badLinks += $linkUri + $linkValid = $false } else { if ($null -ne $statusCode) { @@ -165,7 +192,22 @@ function CheckLink ([System.Uri]$linkUri) } } } - $checkedLinks[$linkUri] = $true; + + # Check if link uri includes locale info. + if ($checkLinkGuidance -and ($linkUri -match $locale)) { + LogWarning "DO NOT include locale $locale information in links: $linkUri." + $linkValid = $false + } + $checkedLinks[$linkUri] = $linkValid + return $linkValid +} + +function ReplaceGithubLink([string]$originLink) { + if (!$branchReplacementName) { + return $originLink + } + $ReplacementPattern = "`${1}$branchReplacementName`$2" + return $originLink -replace $branchReplaceRegex, $ReplacementPattern } function GetLinks([System.Uri]$pageUri) @@ -218,8 +260,6 @@ if ($PSVersionTable.PSVersion.Major -lt 6) { LogWarning "Some web requests will not work in versions of PS earlier then 6. You are running version $($PSVersionTable.PSVersion)." } - -$badLinks = @(); $ignoreLinks = @(); if (Test-Path $ignoreLinksFile) { @@ -228,6 +268,7 @@ if (Test-Path $ignoreLinksFile) $checkedPages = @{}; $checkedLinks = @{}; +$badLinks = @{}; $pageUrisToCheck = new-object System.Collections.Queue foreach ($url in $urls) { @@ -243,18 +284,38 @@ while ($pageUrisToCheck.Count -ne 0) $linkUris = GetLinks $pageUri Write-Host "Found $($linkUris.Count) links on page $pageUri"; - + $badLinksPerPage = @(); foreach ($linkUri in $linkUris) { - CheckLink $linkUri - if ($recursive) { + $linkUri = ReplaceGithubLink $linkUri + $isLinkValid = CheckLink $linkUri + if (!$isLinkValid -and !$badLinksPerPage.Contains($linkUri)) { + $badLinksPerPage += $linkUri + } + if ($recursive -and $isLinkValid) { if ($linkUri.ToString().StartsWith($baseUrl) -and !$checkedPages.ContainsKey($linkUri)) { $pageUrisToCheck.Enqueue($linkUri); } } } + if ($badLinksPerPage.Count -gt 0) { + $badLinks[$pageUri] = $badLinksPerPage + } } -Write-Host "Found $($checkedLinks.Count) links with $($badLinks.Count) broken" -$badLinks | ForEach-Object { Write-Host " $_" } +if ($badLinks.Count -gt 0) { + Write-Host "Summary of broken links:" +} +foreach ($pageLink in $badLinks.Keys) { + Write-Host "'$pageLink' has $($badLinks[$pageLink].Count) broken link(s):" + foreach ($brokenLink in $badLinks[$pageLink]) { + Write-Host " $brokenLink" + } +} +if ($badLinks.Count -gt 0) { + LogError "Found $($checkedLinks.Count) links with $($badLinks.Count) page(s) broken." +} +else { + Write-Host "Found $($checkedLinks.Count) links. No broken links found." +} exit $badLinks.Count diff --git a/eng/common/scripts/Verify-Resource-Ref.ps1 b/eng/common/scripts/Verify-Resource-Ref.ps1 new file mode 100644 index 000000000000..048f91c3afed --- /dev/null +++ b/eng/common/scripts/Verify-Resource-Ref.ps1 @@ -0,0 +1,42 @@ +. (Join-Path $PSScriptRoot common.ps1) +Install-Module -Name powershell-yaml -RequiredVersion 0.4.1 -Force -Scope CurrentUser +$ymlfiles = Get-ChildItem $RepoRoot -recurse | Where-Object {$_ -like '*.yml'} +$affectedRepos = [System.Collections.ArrayList]::new() + +foreach ($file in $ymlfiles) +{ + Write-Host "Verifying '${file}'" + $ymlContent = Get-Content $file.FullName -Raw + $ymlObject = ConvertFrom-Yaml $ymlContent -Ordered + + if ($ymlObject.Contains("resources")) + { + if ($ymlObject["resources"]["repositories"]) + { + $repositories = $ymlObject["resources"]["repositories"] + foreach ($repo in $repositories) + { + $repoName = $repo["repository"] + if (-not ($repo.Contains("ref"))) + { + $errorMessage = "File: ${file}, Repository: ${repoName}." + [void]$affectedRepos.Add($errorMessage) + } + } + } + } +} + +if ($affectedRepos.Count -gt 0) +{ + Write-Output "Ref not found in the following Repository Resources." + foreach ($errorMessage in $affectedRepos) + { + Write-Output "`t$errorMessage" + } + Write-Output "Please ensure you add a Ref: when using repository resources" + Write-Output "More Info at https://aka.ms/azsdk/engsys/tools-versioning" + exit 1 +} + +Write-Output "All repository resources in yaml files reference a valid tag" \ No newline at end of file diff --git a/eng/common/scripts/add-pullrequest-reviewers.ps1 b/eng/common/scripts/add-pullrequest-reviewers.ps1 index a80d79485f3b..3198dcb40d2c 100644 --- a/eng/common/scripts/add-pullrequest-reviewers.ps1 +++ b/eng/common/scripts/add-pullrequest-reviewers.ps1 @@ -18,6 +18,32 @@ param( $AuthToken ) +function AddMembers($memberName, $additionSet) { + $headers = @{ + Authorization = "bearer $AuthToken" + } + $uri = "https://api.github.com/repos/$RepoOwner/$RepoName/pulls/$PRNumber/requested_reviewers" + $errorOccurred = $false + + foreach ($id in $additionSet) { + try { + $postResp = @{} + $postResp[$memberName] = @($id) + $postResp = $postResp | ConvertTo-Json + + Write-Host $postResp + $resp = Invoke-RestMethod -Method Post -Headers $headers -Body $postResp -Uri $uri -MaximumRetryCount 3 + $resp | Write-Verbose + } + catch { + Write-Host "Error attempting to add $user `n$_" + $errorOccurred = $true + } + } + + return $errorOccurred +} + # at least one of these needs to be populated if (-not $GitHubUsers -and -not $GitHubTeams) { Write-Host "No user provided for addition, exiting." @@ -27,54 +53,9 @@ if (-not $GitHubUsers -and -not $GitHubTeams) { $userAdditions = @($GitHubUsers.Split(",") | % { $_.Trim() } | ? { return $_ }) $teamAdditions = @($GitHubTeams.Split(",") | % { $_.Trim() } | ? { return $_ }) -$headers = @{ - Authorization = "bearer $AuthToken" -} -$uri = "https://api.github.com/repos/$RepoOwner/$RepoName/pulls/$PRNumber/requested_reviewers" +$errorsOccurredAddingUsers = AddMembers -memberName "reviewers" -additionSet $userAdditions +$errorsOccurredAddingTeams = AddMembers -memberName "team_reviewers" -additionSet $teamAdditions -try { - $resp = Invoke-RestMethod -Headers $headers $uri -MaximumRetryCount 3 -} -catch { - Write-Error "Invoke-RestMethod [$uri] failed with exception:`n$_" +if ($errorsOccurredAddingUsers -or $errorsOccurredAddingTeams) { exit 1 } - -# the response object takes this form: https://developer.github.com/v3/pulls/review_requests/#response-1 -# before we can push a new reviewer, we need to pull the simple Ids out of the complex objects that came back in the response -$userReviewers = @($resp.users | % { return $_.login }) -$teamReviewers = @($resp.teams | % { return $_.slug }) - -if (!$userReviewers) { $modifiedUserReviewers = @() } else { $modifiedUserReviewers = $userReviewers.Clone() } -$modifiedUserReviewers += ($userAdditions | ? { !$modifiedUserReviewers.Contains($_) }) - -if ($teamReviewers) { $modifiedTeamReviewers = @() } else { $modifiedTeamReviewers = $teamReviewers.Clone() } -$modifiedTeamReviewers += ($teamAdditions | ? { !$modifiedTeamReviewers.Contains($_) }) - -$detectedUserDiffs = Compare-Object -ReferenceObject $userReviewers -DifferenceObject $modifiedUserReviewers -$detectedTeamDiffs = Compare-Object -ReferenceObject $teamReviewers -DifferenceObject $modifiedTeamReviewers - -# Compare-Object returns values when there is a difference between the comparied objects. -# we only want to run the update if there IS a difference. -if ($detectedUserDiffs -or $detectedTeamDiffs) { - $postResp = @{} - - if ($modifiedUserReviewers) { $postResp["reviewers"] = $modifiedUserReviewers } - if ($modifiedTeamReviewers) { $postResp["team_reviewers"] = $modifiedTeamReviewers } - - $postResp = $postResp | ConvertTo-Json - - try { - Write-Host $postResp - $resp = Invoke-RestMethod -Method Post -Headers $headers -Body $postResp -Uri $uri -MaximumRetryCount 3 - $resp | Write-Verbose - } - catch { - Write-Error "Unable to update PR reviewers. `n$_" - } -} -else { - $results = $GitHubUsers + $GitHubTeams - Write-Host "Reviewers $results already added. Exiting." - exit(0) -} diff --git a/eng/common/scripts/artifact-metadata-parsing.ps1 b/eng/common/scripts/artifact-metadata-parsing.ps1 index 93bd6ac5f2db..f17e59700b69 100644 --- a/eng/common/scripts/artifact-metadata-parsing.ps1 +++ b/eng/common/scripts/artifact-metadata-parsing.ps1 @@ -298,7 +298,7 @@ function ParseCArtifact($pkg, $workingDirectory) { } return New-Object PSObject -Property @{ - PackageId = 'azure-sdk-for-c' + PackageId = '' PackageVersion = $pkgVersion # Artifact info is always considered deployable for C becasue it is not # deployed anywhere. Dealing with duplicate tags happens downstream in diff --git a/eng/pipelines/aggregate-reports.yml b/eng/pipelines/aggregate-reports.yml index 629bee369cff..2dd984362df6 100644 --- a/eng/pipelines/aggregate-reports.yml +++ b/eng/pipelines/aggregate-reports.yml @@ -1,6 +1,12 @@ trigger: none -pr: none +pr: + branches: + include: + - master + paths: + include: + - eng/pipelines/aggregate-reports.yml jobs: - job: 'ValidateDependencies' @@ -26,4 +32,11 @@ jobs: destination: AzureBlob storage: azuresdkartifacts containerName: 'azure-sdk-for-python' - blobPrefix: dependencies \ No newline at end of file + blobPrefix: dependencies + + - task: PowerShell@2 + displayName: "Verify Repository Resource Refs" + inputs: + pwsh: true + workingDirectory: $(Build.SourcesDirectory) + filePath: eng/common/scripts/Verify-Resource-Ref.ps1 \ No newline at end of file diff --git a/eng/tox/allowed_pylint_failures.py b/eng/tox/allowed_pylint_failures.py index 1a7cd2a71e76..1adcea8fcdad 100644 --- a/eng/tox/allowed_pylint_failures.py +++ b/eng/tox/allowed_pylint_failures.py @@ -47,4 +47,5 @@ "azure-synapse-spark", "azure-synapse-accesscontrol", "azure-synapse-nspkg", + "azure-ai-anomalydetector", ] diff --git a/scripts/devops_tasks/common_tasks.py b/scripts/devops_tasks/common_tasks.py index 932e9b801d05..5c3ed4ca9fe0 100644 --- a/scripts/devops_tasks/common_tasks.py +++ b/scripts/devops_tasks/common_tasks.py @@ -48,7 +48,8 @@ "azure-servicefabric", "nspkg", "azure-keyvault", - "azure-synapse" + "azure-synapse", + "azure-ai-anomalydetector", ] META_PACKAGES = ["azure", "azure-mgmt", "azure-keyvault"] REGRESSION_EXCLUDED_PACKAGES = [ diff --git a/scripts/devops_tasks/git_helper.py b/scripts/devops_tasks/git_helper.py index d999bb4f463a..7a613a6f0fa9 100644 --- a/scripts/devops_tasks/git_helper.py +++ b/scripts/devops_tasks/git_helper.py @@ -15,13 +15,14 @@ # Oldest release of SDK packages that should be skipped EXCLUDED_PACKAGE_VERSIONS = { - 'azure-storage-file-share': ['12.0.0', '12.0.0b5'], - 'azure-storage-queue': ['0.37.0', '1.0.0', '1.1.0', '1.2.0rc1', '1.3.0', '1.4.0', '2.0.0', '2.0.1', '2.1.0'], - 'azure-storage-file': ['0.37.0', '1.0.0', '1.1.0', '1.2.0rc1', '1.3.0', '1.3.1', '1.4.0', '2.0.0', '2.0.1', '2.1.0'], - 'azure-storage-blob': ['0.37.0', '0.37.1', '1.0.0', '1.1.0', '1.2.0rc1', '1.3.0', '1.3.1', '1.4.0', '1.5.0', '2.0.0', '2.0.1', '2.1.0',], - 'azure-eventhub': ['0.2.0', '1.0.0', '1.1.0', '1.1.1', '1.2.0rc1', '1.2.0', '1.3.0', '1.3.1', '1.3.2', '1.3.3',], - 'azure-cosmos': ['3.0.0', '3.0.1', '3.0.2', '3.1.0', '3.1.1', '3.1.2', '3.2.0'], - 'azure-servicebus': ['0.20.0rc1', '0.20.0rc2', '0.20.0', '0.20.1', '0.20.2', '0.20.3', '0.21.0', '0.21.1', '0.50.0', '0.50.1', '0.50.2', '0.50.3'] + 'azure-storage-file-share': '12.0.0', + 'azure-storage-queue': '2.1.0', + 'azure-storage-file': '2.1.0', + 'azure-storage-blob': '2.1.0', + 'azure-eventhub': '1.3.3', + 'azure-cosmos': '3.2.0', + 'azure-servicebus': '0.50.3', + 'azure-eventgrid': '1.3.0', } # This method identifies release tag for latest or oldest released version of a given package @@ -41,7 +42,7 @@ def get_release_tag(dep_pkg_name, isLatest): # filter excluded versions if dep_pkg_name in EXCLUDED_PACKAGE_VERSIONS: - versions = [v for v in versions if v not in EXCLUDED_PACKAGE_VERSIONS[dep_pkg_name]] + versions = [v for v in versions if parse(v) > parse(EXCLUDED_PACKAGE_VERSIONS[dep_pkg_name])] logging.info("Filtered versions for {0} is: {1}".format(dep_pkg_name, versions)) if not versions: diff --git a/sdk/advisor/ci.yml b/sdk/advisor/ci.yml index 73a61c30332b..1de69ccfc421 100644 --- a/sdk/advisor/ci.yml +++ b/sdk/advisor/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: advisor Artifacts: - name: azure_mgmt_advisor - safeName: azuremgmtadvisor \ No newline at end of file + safeName: azuremgmtadvisor diff --git a/sdk/aks/ci.yml b/sdk/aks/ci.yml index f5b46456d933..c5860d4b0b70 100644 --- a/sdk/aks/ci.yml +++ b/sdk/aks/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: aks Artifacts: - name: azure_mgmt_devspaces - safeName: azuremgmtdevspaces \ No newline at end of file + safeName: azuremgmtdevspaces diff --git a/sdk/alertsmanagement/ci.yml b/sdk/alertsmanagement/ci.yml index 4e437dbbd693..f5982f943675 100644 --- a/sdk/alertsmanagement/ci.yml +++ b/sdk/alertsmanagement/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: alertsmanagement Artifacts: - name: azure_mgmt_alertsmanagement - safeName: azuremgmtalertsmanagement \ No newline at end of file + safeName: azuremgmtalertsmanagement diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/CHANGELOG.md b/sdk/anomalydetector/azure-ai-anomalydetector/CHANGELOG.md new file mode 100644 index 000000000000..5f0898b937c3 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/CHANGELOG.md @@ -0,0 +1,21 @@ +# Release History + +## 3.0.0b2 (2020-08-27) + + **Bug Fixes** + - Fixed an issue with ChangePointDetect + + **Breaking Changes** + - Renamed `entire_detect` to `detect_entire_series` + - Renamed `APIError` to `AnomalyDetectorError` + - Renamed `Request` to `DetectRequest` + - Renamed `LastDetect` to `DetectLastPoint` + - Renamed `ChangePointDetect` to `DetectChangePoint` + - Renamed `Granularity` to `TimeGranularity` + - Renamed `minutely` and `secondly` to `per_minute` and `per_second` + - Renamed `Point` to `TimeSeriesPoint` + + +## 3.0.0b1 (2020-08-17) + + - Initial Release diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/MANIFEST.in b/sdk/anomalydetector/azure-ai-anomalydetector/MANIFEST.in new file mode 100644 index 000000000000..bde85ca9d6c8 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/MANIFEST.in @@ -0,0 +1,5 @@ +recursive-include tests *.py *.yaml +include *.md +include azure/__init__.py +include azure/ai/__init__.py + diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/README.md b/sdk/anomalydetector/azure-ai-anomalydetector/README.md new file mode 100644 index 000000000000..277d153b8256 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/README.md @@ -0,0 +1,22 @@ +# Microsoft Azure SDK for Python + +This is the Microsoft Azure Cognitive Services Anomaly Detector Client Library. +This package has been tested with Python 2.7, 3.5, 3.6, 3.7 and 3.8. + +For a more complete set of Azure libraries, see the +[azure sdk python release](https://aka.ms/azsdk/python/all). + +# Usage + +For code examples, see [Cognitive Services Anomaly Detector](https://docs.microsoft.com/python/api/overview/azure/cognitive-services) +on docs.microsoft.com. + + +# Provide Feedback + +If you encounter any bugs or have suggestions, please file an issue in the +[Issues](https://github.com/Azure/azure-sdk-for-python/issues) +section of the project. + + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-cognitiveservices-anomalydetector%2FREADME.png) diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/__init__.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/__init__.py new file mode 100644 index 000000000000..0260537a02bb --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/__init__.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/__init__.py new file mode 100644 index 000000000000..0260537a02bb --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/__init__.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/__init__.py new file mode 100644 index 000000000000..a55b787999fc --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._anomaly_detector_client import AnomalyDetectorClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['AnomalyDetectorClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_anomaly_detector_client.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_anomaly_detector_client.py new file mode 100644 index 000000000000..08818e25a366 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_anomaly_detector_client.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import AzureKeyCredential + +from ._configuration import AnomalyDetectorClientConfiguration +from .operations import AnomalyDetectorClientOperationsMixin +from . import models + + +class AnomalyDetectorClient(AnomalyDetectorClientOperationsMixin): + """The Anomaly Detector API detects anomalies automatically in time series data. It supports two kinds of mode, one is for stateless using, another is for stateful using. In stateless mode, there are three functionalities. Entire Detect is for detecting the whole series with model trained by the time series, Last Detect is detecting last point with model trained by points before. ChangePoint Detect is for detecting trend changes in time series. In stateful mode, user can store time series, the stored time series will be used for detection anomalies. Under this mode, user can still use the above three functionalities by only giving a time range without preparing time series in client side. Besides the above three functionalities, stateful model also provide group based detection and labeling service. By leveraging labeling service user can provide labels for each detection result, these labels will be used for retuning or regenerating detection models. Inconsistency detection is a kind of group based detection, this detection will find inconsistency ones in a set of time series. By using anomaly detector service, business customers can discover incidents and establish a logic flow for root cause analysis. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.AzureKeyCredential + :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com). + :type endpoint: str + """ + + def __init__( + self, + credential, # type: AzureKeyCredential + endpoint, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + base_url = '{Endpoint}/anomalydetector/v1.0' + self._config = AnomalyDetectorClientConfiguration(credential, endpoint, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> AnomalyDetectorClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_configuration.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_configuration.py new file mode 100644 index 000000000000..1db866bdb626 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import AzureKeyCredential + + +class AnomalyDetectorClientConfiguration(Configuration): + """Configuration for AnomalyDetectorClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.AzureKeyCredential + :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com). + :type endpoint: str + """ + + def __init__( + self, + credential, # type: AzureKeyCredential + endpoint, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if endpoint is None: + raise ValueError("Parameter 'endpoint' must not be None.") + super(AnomalyDetectorClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.endpoint = endpoint + kwargs.setdefault('sdk_moniker', 'ai-anomalydetector/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Ocp-Apim-Subscription-Key', **kwargs) diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_metadata.json b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_metadata.json new file mode 100644 index 000000000000..3092456454e2 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_metadata.json @@ -0,0 +1,95 @@ +{ + "chosen_version": "1.0", + "total_api_version_list": ["1.0"], + "client": { + "name": "AnomalyDetectorClient", + "filename": "_anomaly_detector_client", + "description": "The Anomaly Detector API detects anomalies automatically in time series data. It supports two kinds of mode, one is for stateless using, another is for stateful using. In stateless mode, there are three functionalities. Entire Detect is for detecting the whole series with model trained by the time series, Last Detect is detecting last point with model trained by points before. ChangePoint Detect is for detecting trend changes in time series. In stateful mode, user can store time series, the stored time series will be used for detection anomalies. Under this mode, user can still use the above three functionalities by only giving a time range without preparing time series in client side. Besides the above three functionalities, stateful model also provide group based detection and labeling service. By leveraging labeling service user can provide labels for each detection result, these labels will be used for retuning or regenerating detection models. Inconsistency detection is a kind of group based detection, this detection will find inconsistency ones in a set of time series. By using anomaly detector service, business customers can discover incidents and establish a logic flow for root cause analysis.", + "base_url": null, + "custom_base_url": "\u0027{Endpoint}/anomalydetector/v1.0\u0027", + "azure_arm": false, + "has_lro_operations": false + }, + "global_parameters": { + "sync_method": { + "credential": { + "method_signature": "credential, # type: AzureKeyCredential", + "description": "Credential needed for the client to connect to Azure.", + "docstring_type": "~azure.core.credentials.AzureKeyCredential", + "required": true + }, + "endpoint": { + "method_signature": "endpoint, # type: str", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).", + "docstring_type": "str", + "required": true + } + }, + "async_method": { + "credential": { + "method_signature": "credential, # type: AzureKeyCredential", + "description": "Credential needed for the client to connect to Azure.", + "docstring_type": "~azure.core.credentials.AzureKeyCredential", + "required": true + }, + "endpoint": { + "method_signature": "endpoint, # type: str", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).", + "docstring_type": "str", + "required": true + } + }, + "constant": { + }, + "call": "credential, endpoint" + }, + "config": { + "credential": true, + "credential_scopes": null, + "credential_default_policy_type": "AzureKeyCredentialPolicy", + "credential_default_policy_type_has_async_version": false, + "credential_key_header_name": "Ocp-Apim-Subscription-Key" + }, + "operation_groups": { + }, + "operation_mixins": { + "entire_detect" : { + "sync": { + "signature": "def entire_detect(\n self,\n body, # type: \"models.Request\"\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Detect anomalies for the entire series in batch.\n\nThis operation generates a model using an entire series, each point is detected with the same\nmodel. With this method, points before and after a certain point are used to determine whether\nit is an anomaly. The entire detection can give user an overall status of the time series.\n\n:param body: Time series points and period if needed. Advanced model parameters can also be set\n in the request.\n:type body: ~azure.ai.anomalydetector.models.Request\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntireDetectResponse, or the result of cls(response)\n:rtype: ~azure.ai.anomalydetector.models.EntireDetectResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def entire_detect(\n self,\n body: \"models.Request\",\n **kwargs\n) -\u003e \"models.EntireDetectResponse\":\n", + "doc": "\"\"\"Detect anomalies for the entire series in batch.\n\nThis operation generates a model using an entire series, each point is detected with the same\nmodel. With this method, points before and after a certain point are used to determine whether\nit is an anomaly. The entire detection can give user an overall status of the time series.\n\n:param body: Time series points and period if needed. Advanced model parameters can also be set\n in the request.\n:type body: ~azure.ai.anomalydetector.models.Request\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntireDetectResponse, or the result of cls(response)\n:rtype: ~azure.ai.anomalydetector.models.EntireDetectResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "body" + }, + "last_detect" : { + "sync": { + "signature": "def last_detect(\n self,\n body, # type: \"models.Request\"\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Detect anomaly status of the latest point in time series.\n\nThis operation generates a model using points before the latest one. With this method, only\nhistorical points are used to determine whether the target point is an anomaly. The latest\npoint detecting operation matches the scenario of real-time monitoring of business metrics.\n\n:param body: Time series points and period if needed. Advanced model parameters can also be set\n in the request.\n:type body: ~azure.ai.anomalydetector.models.Request\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: LastDetectResponse, or the result of cls(response)\n:rtype: ~azure.ai.anomalydetector.models.LastDetectResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def last_detect(\n self,\n body: \"models.Request\",\n **kwargs\n) -\u003e \"models.LastDetectResponse\":\n", + "doc": "\"\"\"Detect anomaly status of the latest point in time series.\n\nThis operation generates a model using points before the latest one. With this method, only\nhistorical points are used to determine whether the target point is an anomaly. The latest\npoint detecting operation matches the scenario of real-time monitoring of business metrics.\n\n:param body: Time series points and period if needed. Advanced model parameters can also be set\n in the request.\n:type body: ~azure.ai.anomalydetector.models.Request\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: LastDetectResponse, or the result of cls(response)\n:rtype: ~azure.ai.anomalydetector.models.LastDetectResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "body" + }, + "change_point_detect" : { + "sync": { + "signature": "def change_point_detect(\n self,\n body, # type: \"models.ChangePointDetectRequest\"\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Detect change point for the entire series.\n\nEvaluate change point score of every series point.\n\n:param body: Time series points and granularity is needed. Advanced model parameters can also\n be set in the request if needed.\n:type body: ~azure.ai.anomalydetector.models.ChangePointDetectRequest\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: ChangePointDetectResponse, or the result of cls(response)\n:rtype: ~azure.ai.anomalydetector.models.ChangePointDetectResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def change_point_detect(\n self,\n body: \"models.ChangePointDetectRequest\",\n **kwargs\n) -\u003e \"models.ChangePointDetectResponse\":\n", + "doc": "\"\"\"Detect change point for the entire series.\n\nEvaluate change point score of every series point.\n\n:param body: Time series points and granularity is needed. Advanced model parameters can also\n be set in the request if needed.\n:type body: ~azure.ai.anomalydetector.models.ChangePointDetectRequest\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: ChangePointDetectResponse, or the result of cls(response)\n:rtype: ~azure.ai.anomalydetector.models.ChangePointDetectResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "body" + } + }, + "sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"Optional\", \"TypeVar\"]}}}", + "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"Optional\", \"TypeVar\"]}}}" +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/version.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_version.py similarity index 83% rename from sdk/tables/azure-data-tables/azure/data/tables/_generated/version.py rename to sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_version.py index 629812170000..976446718bdd 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/version.py +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/_version.py @@ -1,13 +1,9 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "2019-07-07" - +VERSION = "3.0.0b2" diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/__init__.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/__init__.py new file mode 100644 index 000000000000..9dac254ddfbd --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._anomaly_detector_client_async import AnomalyDetectorClient +__all__ = ['AnomalyDetectorClient'] diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/_anomaly_detector_client_async.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/_anomaly_detector_client_async.py new file mode 100644 index 000000000000..be6f209c6abf --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/_anomaly_detector_client_async.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core import AsyncPipelineClient +from azure.core.credentials import AzureKeyCredential +from msrest import Deserializer, Serializer + +from ._configuration_async import AnomalyDetectorClientConfiguration +from .operations_async import AnomalyDetectorClientOperationsMixin +from .. import models + + +class AnomalyDetectorClient(AnomalyDetectorClientOperationsMixin): + """The Anomaly Detector API detects anomalies automatically in time series data. It supports two kinds of mode, one is for stateless using, another is for stateful using. In stateless mode, there are three functionalities. Entire Detect is for detecting the whole series with model trained by the time series, Last Detect is detecting last point with model trained by points before. ChangePoint Detect is for detecting trend changes in time series. In stateful mode, user can store time series, the stored time series will be used for detection anomalies. Under this mode, user can still use the above three functionalities by only giving a time range without preparing time series in client side. Besides the above three functionalities, stateful model also provide group based detection and labeling service. By leveraging labeling service user can provide labels for each detection result, these labels will be used for retuning or regenerating detection models. Inconsistency detection is a kind of group based detection, this detection will find inconsistency ones in a set of time series. By using anomaly detector service, business customers can discover incidents and establish a logic flow for root cause analysis. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.AzureKeyCredential + :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com). + :type endpoint: str + """ + + def __init__( + self, + credential: AzureKeyCredential, + endpoint: str, + **kwargs: Any + ) -> None: + base_url = '{Endpoint}/anomalydetector/v1.0' + self._config = AnomalyDetectorClientConfiguration(credential, endpoint, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "AnomalyDetectorClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/_configuration_async.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/_configuration_async.py new file mode 100644 index 000000000000..1554cc3e4cc6 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/_configuration_async.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.credentials import AzureKeyCredential +from azure.core.pipeline import policies + +from .._version import VERSION + + +class AnomalyDetectorClientConfiguration(Configuration): + """Configuration for AnomalyDetectorClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.AzureKeyCredential + :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com). + :type endpoint: str + """ + + def __init__( + self, + credential: AzureKeyCredential, + endpoint: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if endpoint is None: + raise ValueError("Parameter 'endpoint' must not be None.") + super(AnomalyDetectorClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.endpoint = endpoint + kwargs.setdefault('sdk_moniker', 'ai-anomalydetector/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Ocp-Apim-Subscription-Key', **kwargs) diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/__init__.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/operations_async/__init__.py similarity index 69% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/__init__.py rename to sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/operations_async/__init__.py index 027b3f5c8eb6..228b2fe26d48 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/__init__.py +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/operations_async/__init__.py @@ -6,10 +6,8 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._indexes_operations_async import IndexesOperations -from ._search_service_client_operations_async import SearchServiceClientOperationsMixin +from ._anomaly_detector_client_operations_async import AnomalyDetectorClientOperationsMixin __all__ = [ - 'IndexesOperations', - 'SearchServiceClientOperationsMixin', + 'AnomalyDetectorClientOperationsMixin', ] diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/operations_async/_anomaly_detector_client_operations_async.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/operations_async/_anomaly_detector_client_operations_async.py new file mode 100644 index 000000000000..cdc004782055 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/aio/operations_async/_anomaly_detector_client_operations_async.py @@ -0,0 +1,198 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class AnomalyDetectorClientOperationsMixin: + + async def detect_entire_series( + self, + body: "models.DetectRequest", + **kwargs + ) -> "models.EntireDetectResponse": + """Detect anomalies for the entire series in batch. + + This operation generates a model using an entire series, each point is detected with the same + model. With this method, points before and after a certain point are used to determine whether + it is an anomaly. The entire detection can give user an overall status of the time series. + + :param body: Time series points and period if needed. Advanced model parameters can also be set + in the request. + :type body: ~azure.ai.anomalydetector.models.DetectRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EntireDetectResponse, or the result of cls(response) + :rtype: ~azure.ai.anomalydetector.models.EntireDetectResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EntireDetectResponse"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.detect_entire_series.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'DetectRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.AnomalyDetectorError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('EntireDetectResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + detect_entire_series.metadata = {'url': '/timeseries/entire/detect'} # type: ignore + + async def detect_last_point( + self, + body: "models.DetectRequest", + **kwargs + ) -> "models.LastDetectResponse": + """Detect anomaly status of the latest point in time series. + + This operation generates a model using points before the latest one. With this method, only + historical points are used to determine whether the target point is an anomaly. The latest + point detecting operation matches the scenario of real-time monitoring of business metrics. + + :param body: Time series points and period if needed. Advanced model parameters can also be set + in the request. + :type body: ~azure.ai.anomalydetector.models.DetectRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LastDetectResponse, or the result of cls(response) + :rtype: ~azure.ai.anomalydetector.models.LastDetectResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LastDetectResponse"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.detect_last_point.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'DetectRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.AnomalyDetectorError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('LastDetectResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + detect_last_point.metadata = {'url': '/timeseries/last/detect'} # type: ignore + + async def detect_change_point( + self, + body: "models.ChangePointDetectRequest", + **kwargs + ) -> "models.ChangePointDetectResponse": + """Detect change point for the entire series. + + Evaluate change point score of every series point. + + :param body: Time series points and granularity is needed. Advanced model parameters can also + be set in the request if needed. + :type body: ~azure.ai.anomalydetector.models.ChangePointDetectRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ChangePointDetectResponse, or the result of cls(response) + :rtype: ~azure.ai.anomalydetector.models.ChangePointDetectResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ChangePointDetectResponse"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.detect_change_point.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'ChangePointDetectRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.AnomalyDetectorError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ChangePointDetectResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + detect_change_point.metadata = {'url': '/timeseries/changepoint/detect'} # type: ignore diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/__init__.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/__init__.py new file mode 100644 index 000000000000..f81f16ff8cb1 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/__init__.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AnomalyDetectorError + from ._models_py3 import ChangePointDetectRequest + from ._models_py3 import ChangePointDetectResponse + from ._models_py3 import DetectRequest + from ._models_py3 import EntireDetectResponse + from ._models_py3 import LastDetectResponse + from ._models_py3 import TimeSeriesPoint +except (SyntaxError, ImportError): + from ._models import AnomalyDetectorError # type: ignore + from ._models import ChangePointDetectRequest # type: ignore + from ._models import ChangePointDetectResponse # type: ignore + from ._models import DetectRequest # type: ignore + from ._models import EntireDetectResponse # type: ignore + from ._models import LastDetectResponse # type: ignore + from ._models import TimeSeriesPoint # type: ignore + +from ._anomaly_detector_client_enums import ( + AnomalyDetectorErrorCodes, + TimeGranularity, +) + +__all__ = [ + 'AnomalyDetectorError', + 'ChangePointDetectRequest', + 'ChangePointDetectResponse', + 'DetectRequest', + 'EntireDetectResponse', + 'LastDetectResponse', + 'TimeSeriesPoint', + 'AnomalyDetectorErrorCodes', + 'TimeGranularity', +] diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_anomaly_detector_client_enums.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_anomaly_detector_client_enums.py new file mode 100644 index 000000000000..5dc5bbf98800 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_anomaly_detector_client_enums.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class AnomalyDetectorErrorCodes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The error code. + """ + + INVALID_CUSTOM_INTERVAL = "InvalidCustomInterval" + BAD_ARGUMENT = "BadArgument" + INVALID_GRANULARITY = "InvalidGranularity" + INVALID_PERIOD = "InvalidPeriod" + INVALID_MODEL_ARGUMENT = "InvalidModelArgument" + INVALID_SERIES = "InvalidSeries" + INVALID_JSON_FORMAT = "InvalidJsonFormat" + REQUIRED_GRANULARITY = "RequiredGranularity" + REQUIRED_SERIES = "RequiredSeries" + +class TimeGranularity(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is + used for verify whether input series is valid. + """ + + YEARLY = "yearly" + MONTHLY = "monthly" + WEEKLY = "weekly" + DAILY = "daily" + HOURLY = "hourly" + PER_MINUTE = "minutely" + PER_SECOND = "secondly" diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_models.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_models.py new file mode 100644 index 000000000000..e2eec215a189 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_models.py @@ -0,0 +1,354 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class AnomalyDetectorError(msrest.serialization.Model): + """Error information returned by the API. + + :param code: The error code. Possible values include: "InvalidCustomInterval", "BadArgument", + "InvalidGranularity", "InvalidPeriod", "InvalidModelArgument", "InvalidSeries", + "InvalidJsonFormat", "RequiredGranularity", "RequiredSeries". + :type code: str or ~azure.ai.anomalydetector.models.AnomalyDetectorErrorCodes + :param message: A message explaining the error reported by the service. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AnomalyDetectorError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ChangePointDetectRequest(msrest.serialization.Model): + """ChangePointDetectRequest. + + All required parameters must be populated in order to send to Azure. + + :param series: Required. Time series data points. Points should be sorted by timestamp in + ascending order to match the change point detection result. + :type series: list[~azure.ai.anomalydetector.models.TimeSeriesPoint] + :param granularity: Required. Can only be one of yearly, monthly, weekly, daily, hourly, + minutely or secondly. Granularity is used for verify whether input series is valid. Possible + values include: "yearly", "monthly", "weekly", "daily", "hourly", "minutely", "secondly". + :type granularity: str or ~azure.ai.anomalydetector.models.TimeGranularity + :param custom_interval: Custom Interval is used to set non-standard time interval, for example, + if the series is 5 minutes, request can be set as {"granularity":"minutely", + "customInterval":5}. + :type custom_interval: int + :param period: Optional argument, periodic value of a time series. If the value is null or does + not present, the API will determine the period automatically. + :type period: int + :param stable_trend_window: Optional argument, advanced model parameter, a default + stableTrendWindow will be used in detection. + :type stable_trend_window: int + :param threshold: Optional argument, advanced model parameter, between 0.0-1.0, the lower the + value is, the larger the trend error will be which means less change point will be accepted. + :type threshold: float + """ + + _validation = { + 'series': {'required': True}, + 'granularity': {'required': True}, + } + + _attribute_map = { + 'series': {'key': 'series', 'type': '[TimeSeriesPoint]'}, + 'granularity': {'key': 'granularity', 'type': 'str'}, + 'custom_interval': {'key': 'customInterval', 'type': 'int'}, + 'period': {'key': 'period', 'type': 'int'}, + 'stable_trend_window': {'key': 'stableTrendWindow', 'type': 'int'}, + 'threshold': {'key': 'threshold', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(ChangePointDetectRequest, self).__init__(**kwargs) + self.series = kwargs['series'] + self.granularity = kwargs['granularity'] + self.custom_interval = kwargs.get('custom_interval', None) + self.period = kwargs.get('period', None) + self.stable_trend_window = kwargs.get('stable_trend_window', None) + self.threshold = kwargs.get('threshold', None) + + +class ChangePointDetectResponse(msrest.serialization.Model): + """ChangePointDetectResponse. + + All required parameters must be populated in order to send to Azure. + + :param period: Required. Frequency extracted from the series, zero means no recurrent pattern + has been found. + :type period: int + :param is_change_point: Required. isChangePoint contains change point properties for each input + point. True means an anomaly either negative or positive has been detected. The index of the + array is consistent with the input series. + :type is_change_point: list[bool] + :param confidence_scores: Required. the change point confidence of each point. + :type confidence_scores: list[float] + """ + + _validation = { + 'period': {'required': True}, + 'is_change_point': {'required': True}, + 'confidence_scores': {'required': True}, + } + + _attribute_map = { + 'period': {'key': 'period', 'type': 'int'}, + 'is_change_point': {'key': 'isChangePoint', 'type': '[bool]'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': '[float]'}, + } + + def __init__( + self, + **kwargs + ): + super(ChangePointDetectResponse, self).__init__(**kwargs) + self.period = kwargs['period'] + self.is_change_point = kwargs['is_change_point'] + self.confidence_scores = kwargs['confidence_scores'] + + +class DetectRequest(msrest.serialization.Model): + """DetectRequest. + + All required parameters must be populated in order to send to Azure. + + :param series: Required. Time series data points. Points should be sorted by timestamp in + ascending order to match the anomaly detection result. If the data is not sorted correctly or + there is duplicated timestamp, the API will not work. In such case, an error message will be + returned. + :type series: list[~azure.ai.anomalydetector.models.TimeSeriesPoint] + :param granularity: Required. Can only be one of yearly, monthly, weekly, daily, hourly, + minutely or secondly. Granularity is used for verify whether input series is valid. Possible + values include: "yearly", "monthly", "weekly", "daily", "hourly", "minutely", "secondly". + :type granularity: str or ~azure.ai.anomalydetector.models.TimeGranularity + :param custom_interval: Custom Interval is used to set non-standard time interval, for example, + if the series is 5 minutes, request can be set as {"granularity":"minutely", + "customInterval":5}. + :type custom_interval: int + :param period: Optional argument, periodic value of a time series. If the value is null or does + not present, the API will determine the period automatically. + :type period: int + :param max_anomaly_ratio: Optional argument, advanced model parameter, max anomaly ratio in a + time series. + :type max_anomaly_ratio: float + :param sensitivity: Optional argument, advanced model parameter, between 0-99, the lower the + value is, the larger the margin value will be which means less anomalies will be accepted. + :type sensitivity: int + """ + + _validation = { + 'series': {'required': True}, + 'granularity': {'required': True}, + } + + _attribute_map = { + 'series': {'key': 'series', 'type': '[TimeSeriesPoint]'}, + 'granularity': {'key': 'granularity', 'type': 'str'}, + 'custom_interval': {'key': 'customInterval', 'type': 'int'}, + 'period': {'key': 'period', 'type': 'int'}, + 'max_anomaly_ratio': {'key': 'maxAnomalyRatio', 'type': 'float'}, + 'sensitivity': {'key': 'sensitivity', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(DetectRequest, self).__init__(**kwargs) + self.series = kwargs['series'] + self.granularity = kwargs['granularity'] + self.custom_interval = kwargs.get('custom_interval', None) + self.period = kwargs.get('period', None) + self.max_anomaly_ratio = kwargs.get('max_anomaly_ratio', None) + self.sensitivity = kwargs.get('sensitivity', None) + + +class EntireDetectResponse(msrest.serialization.Model): + """EntireDetectResponse. + + All required parameters must be populated in order to send to Azure. + + :param period: Required. Frequency extracted from the series, zero means no recurrent pattern + has been found. + :type period: int + :param expected_values: Required. ExpectedValues contain expected value for each input point. + The index of the array is consistent with the input series. + :type expected_values: list[float] + :param upper_margins: Required. UpperMargins contain upper margin of each input point. + UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - + marginScale)*upperMargin. Anomalies in response can be filtered by upperBoundary and + lowerBoundary. By adjusting marginScale value, less significant anomalies can be filtered in + client side. The index of the array is consistent with the input series. + :type upper_margins: list[float] + :param lower_margins: Required. LowerMargins contain lower margin of each input point. + LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - + marginScale)*lowerMargin. Points between the boundary can be marked as normal ones in client + side. The index of the array is consistent with the input series. + :type lower_margins: list[float] + :param is_anomaly: Required. IsAnomaly contains anomaly properties for each input point. True + means an anomaly either negative or positive has been detected. The index of the array is + consistent with the input series. + :type is_anomaly: list[bool] + :param is_negative_anomaly: Required. IsNegativeAnomaly contains anomaly status in negative + direction for each input point. True means a negative anomaly has been detected. A negative + anomaly means the point is detected as an anomaly and its real value is smaller than the + expected one. The index of the array is consistent with the input series. + :type is_negative_anomaly: list[bool] + :param is_positive_anomaly: Required. IsPositiveAnomaly contain anomaly status in positive + direction for each input point. True means a positive anomaly has been detected. A positive + anomaly means the point is detected as an anomaly and its real value is larger than the + expected one. The index of the array is consistent with the input series. + :type is_positive_anomaly: list[bool] + """ + + _validation = { + 'period': {'required': True}, + 'expected_values': {'required': True}, + 'upper_margins': {'required': True}, + 'lower_margins': {'required': True}, + 'is_anomaly': {'required': True}, + 'is_negative_anomaly': {'required': True}, + 'is_positive_anomaly': {'required': True}, + } + + _attribute_map = { + 'period': {'key': 'period', 'type': 'int'}, + 'expected_values': {'key': 'expectedValues', 'type': '[float]'}, + 'upper_margins': {'key': 'upperMargins', 'type': '[float]'}, + 'lower_margins': {'key': 'lowerMargins', 'type': '[float]'}, + 'is_anomaly': {'key': 'isAnomaly', 'type': '[bool]'}, + 'is_negative_anomaly': {'key': 'isNegativeAnomaly', 'type': '[bool]'}, + 'is_positive_anomaly': {'key': 'isPositiveAnomaly', 'type': '[bool]'}, + } + + def __init__( + self, + **kwargs + ): + super(EntireDetectResponse, self).__init__(**kwargs) + self.period = kwargs['period'] + self.expected_values = kwargs['expected_values'] + self.upper_margins = kwargs['upper_margins'] + self.lower_margins = kwargs['lower_margins'] + self.is_anomaly = kwargs['is_anomaly'] + self.is_negative_anomaly = kwargs['is_negative_anomaly'] + self.is_positive_anomaly = kwargs['is_positive_anomaly'] + + +class LastDetectResponse(msrest.serialization.Model): + """LastDetectResponse. + + All required parameters must be populated in order to send to Azure. + + :param period: Required. Frequency extracted from the series, zero means no recurrent pattern + has been found. + :type period: int + :param suggested_window: Required. Suggested input series points needed for detecting the + latest point. + :type suggested_window: int + :param expected_value: Required. Expected value of the latest point. + :type expected_value: float + :param upper_margin: Required. Upper margin of the latest point. UpperMargin is used to + calculate upperBoundary, which equals to expectedValue + (100 - marginScale)*upperMargin. If + the value of latest point is between upperBoundary and lowerBoundary, it should be treated as + normal value. By adjusting marginScale value, anomaly status of latest point can be changed. + :type upper_margin: float + :param lower_margin: Required. Lower margin of the latest point. LowerMargin is used to + calculate lowerBoundary, which equals to expectedValue - (100 - marginScale)*lowerMargin. + :type lower_margin: float + :param is_anomaly: Required. Anomaly status of the latest point, true means the latest point is + an anomaly either in negative direction or positive direction. + :type is_anomaly: bool + :param is_negative_anomaly: Required. Anomaly status in negative direction of the latest point. + True means the latest point is an anomaly and its real value is smaller than the expected one. + :type is_negative_anomaly: bool + :param is_positive_anomaly: Required. Anomaly status in positive direction of the latest point. + True means the latest point is an anomaly and its real value is larger than the expected one. + :type is_positive_anomaly: bool + """ + + _validation = { + 'period': {'required': True}, + 'suggested_window': {'required': True}, + 'expected_value': {'required': True}, + 'upper_margin': {'required': True}, + 'lower_margin': {'required': True}, + 'is_anomaly': {'required': True}, + 'is_negative_anomaly': {'required': True}, + 'is_positive_anomaly': {'required': True}, + } + + _attribute_map = { + 'period': {'key': 'period', 'type': 'int'}, + 'suggested_window': {'key': 'suggestedWindow', 'type': 'int'}, + 'expected_value': {'key': 'expectedValue', 'type': 'float'}, + 'upper_margin': {'key': 'upperMargin', 'type': 'float'}, + 'lower_margin': {'key': 'lowerMargin', 'type': 'float'}, + 'is_anomaly': {'key': 'isAnomaly', 'type': 'bool'}, + 'is_negative_anomaly': {'key': 'isNegativeAnomaly', 'type': 'bool'}, + 'is_positive_anomaly': {'key': 'isPositiveAnomaly', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(LastDetectResponse, self).__init__(**kwargs) + self.period = kwargs['period'] + self.suggested_window = kwargs['suggested_window'] + self.expected_value = kwargs['expected_value'] + self.upper_margin = kwargs['upper_margin'] + self.lower_margin = kwargs['lower_margin'] + self.is_anomaly = kwargs['is_anomaly'] + self.is_negative_anomaly = kwargs['is_negative_anomaly'] + self.is_positive_anomaly = kwargs['is_positive_anomaly'] + + +class TimeSeriesPoint(msrest.serialization.Model): + """TimeSeriesPoint. + + All required parameters must be populated in order to send to Azure. + + :param timestamp: Required. Timestamp of a data point (ISO8601 format). + :type timestamp: ~datetime.datetime + :param value: Required. The measurement of that point, should be float. + :type value: float + """ + + _validation = { + 'timestamp': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'value': {'key': 'value', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(TimeSeriesPoint, self).__init__(**kwargs) + self.timestamp = kwargs['timestamp'] + self.value = kwargs['value'] diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_models_py3.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_models_py3.py new file mode 100644 index 000000000000..4b149229f2a0 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/models/_models_py3.py @@ -0,0 +1,400 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._anomaly_detector_client_enums import * + + +class AnomalyDetectorError(msrest.serialization.Model): + """Error information returned by the API. + + :param code: The error code. Possible values include: "InvalidCustomInterval", "BadArgument", + "InvalidGranularity", "InvalidPeriod", "InvalidModelArgument", "InvalidSeries", + "InvalidJsonFormat", "RequiredGranularity", "RequiredSeries". + :type code: str or ~azure.ai.anomalydetector.models.AnomalyDetectorErrorCodes + :param message: A message explaining the error reported by the service. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[Union[str, "AnomalyDetectorErrorCodes"]] = None, + message: Optional[str] = None, + **kwargs + ): + super(AnomalyDetectorError, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ChangePointDetectRequest(msrest.serialization.Model): + """ChangePointDetectRequest. + + All required parameters must be populated in order to send to Azure. + + :param series: Required. Time series data points. Points should be sorted by timestamp in + ascending order to match the change point detection result. + :type series: list[~azure.ai.anomalydetector.models.TimeSeriesPoint] + :param granularity: Required. Can only be one of yearly, monthly, weekly, daily, hourly, + minutely or secondly. Granularity is used for verify whether input series is valid. Possible + values include: "yearly", "monthly", "weekly", "daily", "hourly", "minutely", "secondly". + :type granularity: str or ~azure.ai.anomalydetector.models.TimeGranularity + :param custom_interval: Custom Interval is used to set non-standard time interval, for example, + if the series is 5 minutes, request can be set as {"granularity":"minutely", + "customInterval":5}. + :type custom_interval: int + :param period: Optional argument, periodic value of a time series. If the value is null or does + not present, the API will determine the period automatically. + :type period: int + :param stable_trend_window: Optional argument, advanced model parameter, a default + stableTrendWindow will be used in detection. + :type stable_trend_window: int + :param threshold: Optional argument, advanced model parameter, between 0.0-1.0, the lower the + value is, the larger the trend error will be which means less change point will be accepted. + :type threshold: float + """ + + _validation = { + 'series': {'required': True}, + 'granularity': {'required': True}, + } + + _attribute_map = { + 'series': {'key': 'series', 'type': '[TimeSeriesPoint]'}, + 'granularity': {'key': 'granularity', 'type': 'str'}, + 'custom_interval': {'key': 'customInterval', 'type': 'int'}, + 'period': {'key': 'period', 'type': 'int'}, + 'stable_trend_window': {'key': 'stableTrendWindow', 'type': 'int'}, + 'threshold': {'key': 'threshold', 'type': 'float'}, + } + + def __init__( + self, + *, + series: List["TimeSeriesPoint"], + granularity: Union[str, "TimeGranularity"], + custom_interval: Optional[int] = None, + period: Optional[int] = None, + stable_trend_window: Optional[int] = None, + threshold: Optional[float] = None, + **kwargs + ): + super(ChangePointDetectRequest, self).__init__(**kwargs) + self.series = series + self.granularity = granularity + self.custom_interval = custom_interval + self.period = period + self.stable_trend_window = stable_trend_window + self.threshold = threshold + + +class ChangePointDetectResponse(msrest.serialization.Model): + """ChangePointDetectResponse. + + All required parameters must be populated in order to send to Azure. + + :param period: Required. Frequency extracted from the series, zero means no recurrent pattern + has been found. + :type period: int + :param is_change_point: Required. isChangePoint contains change point properties for each input + point. True means an anomaly either negative or positive has been detected. The index of the + array is consistent with the input series. + :type is_change_point: list[bool] + :param confidence_scores: Required. the change point confidence of each point. + :type confidence_scores: list[float] + """ + + _validation = { + 'period': {'required': True}, + 'is_change_point': {'required': True}, + 'confidence_scores': {'required': True}, + } + + _attribute_map = { + 'period': {'key': 'period', 'type': 'int'}, + 'is_change_point': {'key': 'isChangePoint', 'type': '[bool]'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': '[float]'}, + } + + def __init__( + self, + *, + period: int, + is_change_point: List[bool], + confidence_scores: List[float], + **kwargs + ): + super(ChangePointDetectResponse, self).__init__(**kwargs) + self.period = period + self.is_change_point = is_change_point + self.confidence_scores = confidence_scores + + +class DetectRequest(msrest.serialization.Model): + """DetectRequest. + + All required parameters must be populated in order to send to Azure. + + :param series: Required. Time series data points. Points should be sorted by timestamp in + ascending order to match the anomaly detection result. If the data is not sorted correctly or + there is duplicated timestamp, the API will not work. In such case, an error message will be + returned. + :type series: list[~azure.ai.anomalydetector.models.TimeSeriesPoint] + :param granularity: Required. Can only be one of yearly, monthly, weekly, daily, hourly, + minutely or secondly. Granularity is used for verify whether input series is valid. Possible + values include: "yearly", "monthly", "weekly", "daily", "hourly", "minutely", "secondly". + :type granularity: str or ~azure.ai.anomalydetector.models.TimeGranularity + :param custom_interval: Custom Interval is used to set non-standard time interval, for example, + if the series is 5 minutes, request can be set as {"granularity":"minutely", + "customInterval":5}. + :type custom_interval: int + :param period: Optional argument, periodic value of a time series. If the value is null or does + not present, the API will determine the period automatically. + :type period: int + :param max_anomaly_ratio: Optional argument, advanced model parameter, max anomaly ratio in a + time series. + :type max_anomaly_ratio: float + :param sensitivity: Optional argument, advanced model parameter, between 0-99, the lower the + value is, the larger the margin value will be which means less anomalies will be accepted. + :type sensitivity: int + """ + + _validation = { + 'series': {'required': True}, + 'granularity': {'required': True}, + } + + _attribute_map = { + 'series': {'key': 'series', 'type': '[TimeSeriesPoint]'}, + 'granularity': {'key': 'granularity', 'type': 'str'}, + 'custom_interval': {'key': 'customInterval', 'type': 'int'}, + 'period': {'key': 'period', 'type': 'int'}, + 'max_anomaly_ratio': {'key': 'maxAnomalyRatio', 'type': 'float'}, + 'sensitivity': {'key': 'sensitivity', 'type': 'int'}, + } + + def __init__( + self, + *, + series: List["TimeSeriesPoint"], + granularity: Union[str, "TimeGranularity"], + custom_interval: Optional[int] = None, + period: Optional[int] = None, + max_anomaly_ratio: Optional[float] = None, + sensitivity: Optional[int] = None, + **kwargs + ): + super(DetectRequest, self).__init__(**kwargs) + self.series = series + self.granularity = granularity + self.custom_interval = custom_interval + self.period = period + self.max_anomaly_ratio = max_anomaly_ratio + self.sensitivity = sensitivity + + +class EntireDetectResponse(msrest.serialization.Model): + """EntireDetectResponse. + + All required parameters must be populated in order to send to Azure. + + :param period: Required. Frequency extracted from the series, zero means no recurrent pattern + has been found. + :type period: int + :param expected_values: Required. ExpectedValues contain expected value for each input point. + The index of the array is consistent with the input series. + :type expected_values: list[float] + :param upper_margins: Required. UpperMargins contain upper margin of each input point. + UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - + marginScale)*upperMargin. Anomalies in response can be filtered by upperBoundary and + lowerBoundary. By adjusting marginScale value, less significant anomalies can be filtered in + client side. The index of the array is consistent with the input series. + :type upper_margins: list[float] + :param lower_margins: Required. LowerMargins contain lower margin of each input point. + LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - + marginScale)*lowerMargin. Points between the boundary can be marked as normal ones in client + side. The index of the array is consistent with the input series. + :type lower_margins: list[float] + :param is_anomaly: Required. IsAnomaly contains anomaly properties for each input point. True + means an anomaly either negative or positive has been detected. The index of the array is + consistent with the input series. + :type is_anomaly: list[bool] + :param is_negative_anomaly: Required. IsNegativeAnomaly contains anomaly status in negative + direction for each input point. True means a negative anomaly has been detected. A negative + anomaly means the point is detected as an anomaly and its real value is smaller than the + expected one. The index of the array is consistent with the input series. + :type is_negative_anomaly: list[bool] + :param is_positive_anomaly: Required. IsPositiveAnomaly contain anomaly status in positive + direction for each input point. True means a positive anomaly has been detected. A positive + anomaly means the point is detected as an anomaly and its real value is larger than the + expected one. The index of the array is consistent with the input series. + :type is_positive_anomaly: list[bool] + """ + + _validation = { + 'period': {'required': True}, + 'expected_values': {'required': True}, + 'upper_margins': {'required': True}, + 'lower_margins': {'required': True}, + 'is_anomaly': {'required': True}, + 'is_negative_anomaly': {'required': True}, + 'is_positive_anomaly': {'required': True}, + } + + _attribute_map = { + 'period': {'key': 'period', 'type': 'int'}, + 'expected_values': {'key': 'expectedValues', 'type': '[float]'}, + 'upper_margins': {'key': 'upperMargins', 'type': '[float]'}, + 'lower_margins': {'key': 'lowerMargins', 'type': '[float]'}, + 'is_anomaly': {'key': 'isAnomaly', 'type': '[bool]'}, + 'is_negative_anomaly': {'key': 'isNegativeAnomaly', 'type': '[bool]'}, + 'is_positive_anomaly': {'key': 'isPositiveAnomaly', 'type': '[bool]'}, + } + + def __init__( + self, + *, + period: int, + expected_values: List[float], + upper_margins: List[float], + lower_margins: List[float], + is_anomaly: List[bool], + is_negative_anomaly: List[bool], + is_positive_anomaly: List[bool], + **kwargs + ): + super(EntireDetectResponse, self).__init__(**kwargs) + self.period = period + self.expected_values = expected_values + self.upper_margins = upper_margins + self.lower_margins = lower_margins + self.is_anomaly = is_anomaly + self.is_negative_anomaly = is_negative_anomaly + self.is_positive_anomaly = is_positive_anomaly + + +class LastDetectResponse(msrest.serialization.Model): + """LastDetectResponse. + + All required parameters must be populated in order to send to Azure. + + :param period: Required. Frequency extracted from the series, zero means no recurrent pattern + has been found. + :type period: int + :param suggested_window: Required. Suggested input series points needed for detecting the + latest point. + :type suggested_window: int + :param expected_value: Required. Expected value of the latest point. + :type expected_value: float + :param upper_margin: Required. Upper margin of the latest point. UpperMargin is used to + calculate upperBoundary, which equals to expectedValue + (100 - marginScale)*upperMargin. If + the value of latest point is between upperBoundary and lowerBoundary, it should be treated as + normal value. By adjusting marginScale value, anomaly status of latest point can be changed. + :type upper_margin: float + :param lower_margin: Required. Lower margin of the latest point. LowerMargin is used to + calculate lowerBoundary, which equals to expectedValue - (100 - marginScale)*lowerMargin. + :type lower_margin: float + :param is_anomaly: Required. Anomaly status of the latest point, true means the latest point is + an anomaly either in negative direction or positive direction. + :type is_anomaly: bool + :param is_negative_anomaly: Required. Anomaly status in negative direction of the latest point. + True means the latest point is an anomaly and its real value is smaller than the expected one. + :type is_negative_anomaly: bool + :param is_positive_anomaly: Required. Anomaly status in positive direction of the latest point. + True means the latest point is an anomaly and its real value is larger than the expected one. + :type is_positive_anomaly: bool + """ + + _validation = { + 'period': {'required': True}, + 'suggested_window': {'required': True}, + 'expected_value': {'required': True}, + 'upper_margin': {'required': True}, + 'lower_margin': {'required': True}, + 'is_anomaly': {'required': True}, + 'is_negative_anomaly': {'required': True}, + 'is_positive_anomaly': {'required': True}, + } + + _attribute_map = { + 'period': {'key': 'period', 'type': 'int'}, + 'suggested_window': {'key': 'suggestedWindow', 'type': 'int'}, + 'expected_value': {'key': 'expectedValue', 'type': 'float'}, + 'upper_margin': {'key': 'upperMargin', 'type': 'float'}, + 'lower_margin': {'key': 'lowerMargin', 'type': 'float'}, + 'is_anomaly': {'key': 'isAnomaly', 'type': 'bool'}, + 'is_negative_anomaly': {'key': 'isNegativeAnomaly', 'type': 'bool'}, + 'is_positive_anomaly': {'key': 'isPositiveAnomaly', 'type': 'bool'}, + } + + def __init__( + self, + *, + period: int, + suggested_window: int, + expected_value: float, + upper_margin: float, + lower_margin: float, + is_anomaly: bool, + is_negative_anomaly: bool, + is_positive_anomaly: bool, + **kwargs + ): + super(LastDetectResponse, self).__init__(**kwargs) + self.period = period + self.suggested_window = suggested_window + self.expected_value = expected_value + self.upper_margin = upper_margin + self.lower_margin = lower_margin + self.is_anomaly = is_anomaly + self.is_negative_anomaly = is_negative_anomaly + self.is_positive_anomaly = is_positive_anomaly + + +class TimeSeriesPoint(msrest.serialization.Model): + """TimeSeriesPoint. + + All required parameters must be populated in order to send to Azure. + + :param timestamp: Required. Timestamp of a data point (ISO8601 format). + :type timestamp: ~datetime.datetime + :param value: Required. The measurement of that point, should be float. + :type value: float + """ + + _validation = { + 'timestamp': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'value': {'key': 'value', 'type': 'float'}, + } + + def __init__( + self, + *, + timestamp: datetime.datetime, + value: float, + **kwargs + ): + super(TimeSeriesPoint, self).__init__(**kwargs) + self.timestamp = timestamp + self.value = value diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/operations/__init__.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/operations/__init__.py new file mode 100644 index 000000000000..00fccdc398f9 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/operations/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._anomaly_detector_client_operations import AnomalyDetectorClientOperationsMixin + +__all__ = [ + 'AnomalyDetectorClientOperationsMixin', +] diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/operations/_anomaly_detector_client_operations.py b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/operations/_anomaly_detector_client_operations.py new file mode 100644 index 000000000000..faacc3f97119 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/operations/_anomaly_detector_client_operations.py @@ -0,0 +1,205 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class AnomalyDetectorClientOperationsMixin(object): + + def detect_entire_series( + self, + body, # type: "models.DetectRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.EntireDetectResponse" + """Detect anomalies for the entire series in batch. + + This operation generates a model using an entire series, each point is detected with the same + model. With this method, points before and after a certain point are used to determine whether + it is an anomaly. The entire detection can give user an overall status of the time series. + + :param body: Time series points and period if needed. Advanced model parameters can also be set + in the request. + :type body: ~azure.ai.anomalydetector.models.DetectRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EntireDetectResponse, or the result of cls(response) + :rtype: ~azure.ai.anomalydetector.models.EntireDetectResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EntireDetectResponse"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.detect_entire_series.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'DetectRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.AnomalyDetectorError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('EntireDetectResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + detect_entire_series.metadata = {'url': '/timeseries/entire/detect'} # type: ignore + + def detect_last_point( + self, + body, # type: "models.DetectRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.LastDetectResponse" + """Detect anomaly status of the latest point in time series. + + This operation generates a model using points before the latest one. With this method, only + historical points are used to determine whether the target point is an anomaly. The latest + point detecting operation matches the scenario of real-time monitoring of business metrics. + + :param body: Time series points and period if needed. Advanced model parameters can also be set + in the request. + :type body: ~azure.ai.anomalydetector.models.DetectRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LastDetectResponse, or the result of cls(response) + :rtype: ~azure.ai.anomalydetector.models.LastDetectResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LastDetectResponse"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.detect_last_point.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'DetectRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.AnomalyDetectorError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('LastDetectResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + detect_last_point.metadata = {'url': '/timeseries/last/detect'} # type: ignore + + def detect_change_point( + self, + body, # type: "models.ChangePointDetectRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.ChangePointDetectResponse" + """Detect change point for the entire series. + + Evaluate change point score of every series point. + + :param body: Time series points and granularity is needed. Advanced model parameters can also + be set in the request if needed. + :type body: ~azure.ai.anomalydetector.models.ChangePointDetectRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ChangePointDetectResponse, or the result of cls(response) + :rtype: ~azure.ai.anomalydetector.models.ChangePointDetectResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ChangePointDetectResponse"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.detect_change_point.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'ChangePointDetectRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.AnomalyDetectorError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('ChangePointDetectResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + detect_change_point.metadata = {'url': '/timeseries/changepoint/detect'} # type: ignore diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/py.typed b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/py.typed new file mode 100644 index 000000000000..e5aff4f83af8 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/sdk_packaging.toml b/sdk/anomalydetector/azure-ai-anomalydetector/sdk_packaging.toml new file mode 100644 index 000000000000..76d3e53f4bed --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/sdk_packaging.toml @@ -0,0 +1,9 @@ +[packaging] +package_name = "azure-ai-anomalydetector" +package_nspkg = "azure-ai-nspkg" +package_pprint_name = "Cognitive Services Anomaly Detector" +package_doc_id = "cognitive-services" +is_stable = false +is_arm = false +need_msrestazure = false +auto_update = false diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/setup.cfg b/sdk/anomalydetector/azure-ai-anomalydetector/setup.cfg new file mode 100644 index 000000000000..3c6e79cf31da --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/setup.py b/sdk/anomalydetector/azure-ai-anomalydetector/setup.py new file mode 100644 index 000000000000..c89f33320757 --- /dev/null +++ b/sdk/anomalydetector/azure-ai-anomalydetector/setup.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python + +#------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +#-------------------------------------------------------------------------- + +import re +import os.path +from io import open +from setuptools import find_packages, setup + +# Change the PACKAGE_NAME only to change folder and different name +PACKAGE_NAME = "azure-ai-anomalydetector" +PACKAGE_PPRINT_NAME = "Cognitive Services Anomaly Detector" + +# a-b-c => a/b/c +package_folder_path = PACKAGE_NAME.replace('-', '/') +# a-b-c => a.b.c +namespace_name = PACKAGE_NAME.replace('-', '.') + + +# Version extraction inspired from 'requests' +with open(os.path.join(package_folder_path, 'version.py') + if os.path.exists(os.path.join(package_folder_path, 'version.py')) + else os.path.join(package_folder_path, '_version.py'), 'r') as fd: + version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', + fd.read(), re.MULTILINE).group(1) + +if not version: + raise RuntimeError('Cannot find version information') + +with open('README.md', encoding='utf-8') as f: + readme = f.read() +with open('CHANGELOG.md', encoding='utf-8') as f: + changelog = f.read() + +setup( + name=PACKAGE_NAME, + version=version, + description='Microsoft Azure {} Client Library for Python'.format(PACKAGE_PPRINT_NAME), + long_description=readme + '\n\n' + changelog, + long_description_content_type='text/markdown', + license='MIT License', + author='Microsoft Corporation', + author_email='azpysdkhelp@microsoft.com', + url='https://github.com/Azure/azure-sdk-for-python', + classifiers=[ + "Development Status :: 4 - Beta", + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', + ], + zip_safe=False, + packages=find_packages(exclude=[ + 'tests', + # Exclude packages that will be covered by PEP420 or nspkg + 'azure', + 'azure.ai', + ]), + install_requires=[ + 'msrest>=0.5.0', + 'azure-common~=1.1', + 'azure-core>=1.6.0,<2.0.0', + ], + extras_require={ + ":python_version<'3.0'": ['azure-ai-nspkg'], + } +) diff --git a/sdk/anomalydetector/ci.yml b/sdk/anomalydetector/ci.yml new file mode 100644 index 000000000000..fc5aa41ede7f --- /dev/null +++ b/sdk/anomalydetector/ci.yml @@ -0,0 +1,36 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: + branches: + include: + - master + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/anomalydetector/ + - sdk/core/ + +pr: + branches: + include: + - master + - feature/* + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/anomalydetector/ + - sdk/core/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: anomalydetector + Artifacts: + - name: azure_ai_anomalydetector + safeName: azureaianomalydetector + diff --git a/sdk/apimanagement/ci.yml b/sdk/apimanagement/ci.yml index 3f652728468b..d98441ab4c6f 100644 --- a/sdk/apimanagement/ci.yml +++ b/sdk/apimanagement/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: apimanagement Artifacts: - name: azure_mgmt_apimanagement - safeName: azuremgmtapimanagement \ No newline at end of file + safeName: azuremgmtapimanagement diff --git a/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md b/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md index 0396231127f0..ec04a480f6ae 100644 --- a/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md +++ b/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md @@ -3,8 +3,11 @@ ------------------- -## 1.0.2 (Unreleased) +## 1.1.0 (Unreleased) +### Features + +- Added match condition support for `set_read_only` method #13276 ## 1.0.1 (2020-08-10) diff --git a/sdk/appconfiguration/azure-appconfiguration/README.md b/sdk/appconfiguration/azure-appconfiguration/README.md index b2777d0ca84b..6a243e12d753 100644 --- a/sdk/appconfiguration/azure-appconfiguration/README.md +++ b/sdk/appconfiguration/azure-appconfiguration/README.md @@ -294,12 +294,12 @@ see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments. -[appconfig_docs]: https://docs.microsoft.com/en-us/azure/azure-app-configuration/ +[appconfig_docs]: https://docs.microsoft.com/azure/azure-app-configuration/ [appconfig_rest]: https://github.com/Azure/AppConfiguration#rest-api-reference [azure_cli]: https://docs.microsoft.com/cli/azure [azure_sub]: https://azure.microsoft.com/free/ [configuration_client_class]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_azure_appconfiguration_client.py [package]: https://pypi.org/project/azure-appconfiguration/ -[configuration_store]: https://azure.microsoft.com/en-us/services/app-configuration/ +[configuration_store]: https://azure.microsoft.com/services/app-configuration/ [default_cred_ref]: https://aka.ms/azsdk-python-identity-default-cred-ref [azure_identity]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/identity/azure-identity diff --git a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_azure_appconfiguration_client.py b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_azure_appconfiguration_client.py index f31a837189a2..94b11741b049 100644 --- a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_azure_appconfiguration_client.py +++ b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_azure_appconfiguration_client.py @@ -508,6 +508,7 @@ def set_read_only( :type configuration_setting: :class:`ConfigurationSetting` :param read_only: set the read only setting if true, else clear the read only setting :type read_only: bool + :keyword ~azure.core.MatchConditions match_condition: the match condition to use upon the etag :keyword dict headers: if "headers" exists, its value (a dict) will be added to the http request header :return: The ConfigurationSetting returned from the service :rtype: :class:`ConfigurationSetting` @@ -529,11 +530,23 @@ def set_read_only( 404: ResourceNotFoundError } + match_condition = kwargs.pop("match_condition", MatchConditions.Unconditionally) + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + if match_condition == MatchConditions.IfModified: + error_map[412] = ResourceNotModifiedError + if match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + if match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + try: if read_only: key_value = self._impl.put_lock( key=configuration_setting.key, label=configuration_setting.label, + if_match=prep_if_match(configuration_setting.etag, match_condition), + if_none_match=prep_if_none_match(configuration_setting.etag, match_condition), error_map=error_map, **kwargs ) @@ -541,6 +554,8 @@ def set_read_only( key_value = self._impl.delete_lock( key=configuration_setting.key, label=configuration_setting.label, + if_match=prep_if_match(configuration_setting.etag, match_condition), + if_none_match=prep_if_none_match(configuration_setting.etag, match_condition), error_map=error_map, **kwargs ) diff --git a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_version.py b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_version.py index 64ee8f561b74..315754a5f1c3 100644 --- a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_version.py +++ b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_version.py @@ -3,4 +3,4 @@ # Licensed under the MIT License. # ------------------------------------ -VERSION = "1.0.2" +VERSION = "1.1.0" diff --git a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/aio/_azure_configuration_client_async.py b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/aio/_azure_configuration_client_async.py index 258c9bc2cb9d..26e7dacf4f5c 100644 --- a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/aio/_azure_configuration_client_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/aio/_azure_configuration_client_async.py @@ -526,6 +526,7 @@ async def set_read_only( :type configuration_setting: :class:`ConfigurationSetting` :param read_only: set the read only setting if true, else clear the read only setting :type read_only: bool + :keyword ~azure.core.MatchConditions match_condition: the match condition to use upon the etag :keyword dict headers: if "headers" exists, its value (a dict) will be added to the http request header :return: The ConfigurationSetting returned from the service :rtype: :class:`ConfigurationSetting` @@ -547,11 +548,23 @@ async def set_read_only( 404: ResourceNotFoundError } + match_condition = kwargs.pop("match_condition", MatchConditions.Unconditionally) + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + if match_condition == MatchConditions.IfModified: + error_map[412] = ResourceNotModifiedError + if match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + if match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + try: if read_only: key_value = await self._impl.put_lock( key=configuration_setting.key, label=configuration_setting.label, + if_match=prep_if_match(configuration_setting.etag, match_condition), + if_none_match=prep_if_none_match(configuration_setting.etag, match_condition), error_map=error_map, **kwargs ) @@ -559,6 +572,8 @@ async def set_read_only( key_value = await self._impl.delete_lock( key=configuration_setting.key, label=configuration_setting.label, + if_match=prep_if_match(configuration_setting.etag, match_condition), + if_none_match=prep_if_none_match(configuration_setting.etag, match_condition), error_map=error_map, **kwargs ) diff --git a/sdk/appconfiguration/azure-appconfiguration/samples/README.md b/sdk/appconfiguration/azure-appconfiguration/samples/README.md index 86d549dc16e4..f9bac00f7c60 100644 --- a/sdk/appconfiguration/azure-appconfiguration/samples/README.md +++ b/sdk/appconfiguration/azure-appconfiguration/samples/README.md @@ -40,4 +40,4 @@ pip install azure-appconfiguration [azure_sub]: https://azure.microsoft.com/free/ [azure_cli]: https://docs.microsoft.com/cli/azure -[configuration_store]: https://azure.microsoft.com/en-us/services/app-configuration/ +[configuration_store]: https://azure.microsoft.com/services/app-configuration/ diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/recordings/test_azure_configuration_client.test_set_read_only.yaml b/sdk/appconfiguration/azure-appconfiguration/tests/recordings/test_azure_configuration_client.test_set_read_only.yaml index 5584b9b72cd5..6e4aaab121d8 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/recordings/test_azure_configuration_client.test_set_read_only.yaml +++ b/sdk/appconfiguration/azure-appconfiguration/tests/recordings/test_azure_configuration_client.test_set_read_only.yaml @@ -9,11 +9,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:14 GMT method: GET uri: https://xyazconfig.azconfig.io/kv?key=PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309&label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: @@ -22,32 +22,26 @@ interactions: headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kvset+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:54 GMT + - Mon, 24 Aug 2020 20:28:13 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains + sync-token: + - zAJw6V16=MDotMSM0MTEzOTQy;sn=4113942 transfer-encoding: - chunked status: @@ -70,53 +64,47 @@ interactions: - application/json; charset=utf-8 If-None-Match: - '*' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQy User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 5b/E4qQlXHTRod+n+f+xjK6c/tRVR8uxoC62FjvGJPw= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:14 GMT method: PUT uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"GwoNrtK8XJSFiKR2sXgUGsYOLoE","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:47:55+00:00"}' + string: '{"etag":"3awKCOULT0Tf5tAMJxoSEpUJD4c","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:28:14+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:54 GMT + - Mon, 24 Aug 2020 20:28:13 GMT etag: - - '"GwoNrtK8XJSFiKR2sXgUGsYOLoE"' + - '"3awKCOULT0Tf5tAMJxoSEpUJD4c"' last-modified: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA0OTk=;sn=830499 + - zAJw6V16=MDotMSM0MTEzOTQz;sn=4113943 transfer-encoding: - chunked status: @@ -131,49 +119,43 @@ interactions: - gzip, deflate Connection: - keep-alive + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQz User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:14 GMT method: GET uri: https://xyazconfig.azconfig.io/kv?key=PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309&api-version=1.0 response: body: - string: '{"items":[{"etag":"GwoNrtK8XJSFiKR2sXgUGsYOLoE","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:47:55+00:00"}]}' + string: '{"items":[{"etag":"3awKCOULT0Tf5tAMJxoSEpUJD4c","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:28:14+00:00"}]}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kvset+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:54 GMT + - Mon, 24 Aug 2020 20:28:13 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA0OTk=;sn=830499 + - zAJw6V16=MDotMSM0MTEzOTQz;sn=4113943 transfer-encoding: - chunked status: @@ -190,12 +172,14 @@ interactions: - keep-alive Content-Length: - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQz User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:14 GMT method: DELETE uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?api-version=1.0 response: @@ -204,30 +188,22 @@ interactions: headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:54 GMT + - Mon, 24 Aug 2020 20:28:13 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -250,53 +226,47 @@ interactions: - application/json; charset=utf-8 If-None-Match: - '*' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQz User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 4rt07HteiPg5NxofrgzMmlQPTVbo1no7aKxDSI5uUU4= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:14 GMT method: PUT uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?api-version=1.0 response: body: - string: '{"etag":"Aixyb0uz0AfBZmLryMpee4C21BM","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":null,"content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:47:55+00:00"}' + string: '{"etag":"yP8m5bW2C86HNfWBHEJM48BH765","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":null,"content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:28:14+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:54 GMT + - Mon, 24 Aug 2020 20:28:13 GMT etag: - - '"Aixyb0uz0AfBZmLryMpee4C21BM"' + - '"yP8m5bW2C86HNfWBHEJM48BH765"' last-modified: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA1MDA=;sn=830500 + - zAJw6V16=MDotMSM0MTEzOTQ0;sn=4113944 transfer-encoding: - chunked status: @@ -313,53 +283,47 @@ interactions: - keep-alive Content-Length: - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQ0 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:14 GMT method: PUT uri: https://xyazconfig.azconfig.io/locks/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"bHjLJPX6bIK2JZx4K7WCjKqLrGo","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":true,"last_modified":"2019-11-15T17:47:55+00:00"}' + string: '{"etag":"1vUGBsW1tNJQU0Pe6uHkPFT5GbA","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":true,"last_modified":"2020-08-24T20:28:14+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:54 GMT + - Mon, 24 Aug 2020 20:28:13 GMT etag: - - '"bHjLJPX6bIK2JZx4K7WCjKqLrGo"' + - '"1vUGBsW1tNJQU0Pe6uHkPFT5GbA"' last-modified: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA1MDE=;sn=830501 + - zAJw6V16=MDotMSM0MTEzOTQ1;sn=4113945 transfer-encoding: - chunked status: @@ -380,12 +344,14 @@ interactions: - '231' Content-Type: - application/json; charset=utf-8 + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQ1 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 5b/E4qQlXHTRod+n+f+xjK6c/tRVR8uxoC62FjvGJPw= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:14 GMT method: PUT uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: @@ -396,30 +362,22 @@ interactions: headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 + - application/problem+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:54 GMT + - Mon, 24 Aug 2020 20:28:13 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains transfer-encoding: @@ -438,53 +396,47 @@ interactions: - keep-alive Content-Length: - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQ1 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:15 GMT method: DELETE uri: https://xyazconfig.azconfig.io/locks/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"Unhhk3FStUyc81XVYLybHTEf53z","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:47:55+00:00"}' + string: '{"etag":"v1unOEFarIspwC0hm6oYvETegsS","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:28:14+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:54 GMT + - Mon, 24 Aug 2020 20:28:13 GMT etag: - - '"Unhhk3FStUyc81XVYLybHTEf53z"' + - '"v1unOEFarIspwC0hm6oYvETegsS"' last-modified: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA1MDI=;sn=830502 + - zAJw6V16=MDotMSM0MTEzOTQ2;sn=4113946 transfer-encoding: - chunked status: @@ -505,53 +457,47 @@ interactions: - '220' Content-Type: - application/json; charset=utf-8 + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQ2 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - QZZY+ppIiwncsqXIARuR/wqO+l4LBXrkxE9dX6TVcBY= x-ms-date: - - Nov, 15 2019 17:47:54 GMT + - Aug, 24 2020 20:28:15 GMT method: PUT uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"DemZb4S3a112PnIDwvWv32KmgnH","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test valuea","tags":{"a":"b","c":"d"},"locked":false,"last_modified":"2019-11-15T17:47:55+00:00"}' + string: '{"etag":"4Rrb29DtYEGjVCIowJThhUukAaj","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test valuea","tags":{"a":"b","c":"d"},"locked":false,"last_modified":"2020-08-24T20:28:14+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT etag: - - '"DemZb4S3a112PnIDwvWv32KmgnH"' + - '"4Rrb29DtYEGjVCIowJThhUukAaj"' last-modified: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA1MDM=;sn=830503 + - zAJw6V16=MDotMSM0MTEzOTQ3;sn=4113947 transfer-encoding: - chunked status: @@ -568,53 +514,97 @@ interactions: - keep-alive Content-Length: - '0' + If-Match: + - '"bad"' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQ3 + User-Agent: + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + x-ms-content-sha256: + - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + x-ms-date: + - Aug, 24 2020 20:28:15 GMT + method: PUT + uri: https://xyazconfig.azconfig.io/locks/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 + response: + body: + string: '' + headers: + access-control-allow-credentials: + - 'true' + access-control-allow-origin: + - '*' + access-control-expose-headers: + - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate + connection: + - keep-alive + content-length: + - '0' + date: + - Mon, 24 Aug 2020 20:28:14 GMT + server: + - openresty/1.15.8.3 + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 412 + message: Precondition Failed +- request: + body: null + headers: + Accept: + - application/vnd.microsoft.appconfig.kv+json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQ3 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:47:55 GMT + - Aug, 24 2020 20:28:15 GMT method: DELETE uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"DemZb4S3a112PnIDwvWv32KmgnH","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test valuea","tags":{"a":"b","c":"d"},"locked":false,"last_modified":"2019-11-15T17:47:55+00:00"}' + string: '{"etag":"4Rrb29DtYEGjVCIowJThhUukAaj","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test valuea","tags":{"a":"b","c":"d"},"locked":false,"last_modified":"2020-08-24T20:28:14+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT etag: - - '"DemZb4S3a112PnIDwvWv32KmgnH"' + - '"4Rrb29DtYEGjVCIowJThhUukAaj"' last-modified: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA1MDQ=;sn=830504 + - zAJw6V16=MDotMSM0MTEzOTQ4;sn=4113948 transfer-encoding: - chunked status: @@ -631,53 +621,47 @@ interactions: - keep-alive Content-Length: - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQ4 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:47:55 GMT + - Aug, 24 2020 20:28:15 GMT method: DELETE uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?api-version=1.0 response: body: - string: '{"etag":"Aixyb0uz0AfBZmLryMpee4C21BM","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":null,"content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:47:55+00:00"}' + string: '{"etag":"yP8m5bW2C86HNfWBHEJM48BH765","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":null,"content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:28:14+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT etag: - - '"Aixyb0uz0AfBZmLryMpee4C21BM"' + - '"yP8m5bW2C86HNfWBHEJM48BH765"' last-modified: - - Fri, 15 Nov 2019 17:47:55 GMT + - Mon, 24 Aug 2020 20:28:14 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA1MDU=;sn=830505 + - zAJw6V16=MDotMSM0MTEzOTQ5;sn=4113949 transfer-encoding: - chunked status: diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/recordings/test_azure_configuration_client_async.test_set_read_only.yaml b/sdk/appconfiguration/azure-appconfiguration/tests/recordings/test_azure_configuration_client_async.test_set_read_only.yaml index 23c4a4d8996a..a8259cabe57b 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/recordings/test_azure_configuration_client_async.test_set_read_only.yaml +++ b/sdk/appconfiguration/azure-appconfiguration/tests/recordings/test_azure_configuration_client_async.test_set_read_only.yaml @@ -9,11 +9,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:03 GMT method: GET uri: https://xyazconfig.azconfig.io/kv?key=PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309&label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: @@ -22,32 +22,26 @@ interactions: headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kvset+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:02 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains + sync-token: + - zAJw6V16=MDotMSM0MTEzOTQ5;sn=4113949 transfer-encoding: - chunked status: @@ -70,53 +64,47 @@ interactions: - application/json; charset=utf-8 If-None-Match: - '*' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTQ5 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 5b/E4qQlXHTRod+n+f+xjK6c/tRVR8uxoC62FjvGJPw= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:03 GMT method: PUT uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"dS62ba68nUi7uqHKtLghEGVd7Ht","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:48:34+00:00"}' + string: '{"etag":"bXvp2yUJkFR4KsM8fxxk4KMe4bf","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:29:03+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:02 GMT etag: - - '"dS62ba68nUi7uqHKtLghEGVd7Ht"' + - '"bXvp2yUJkFR4KsM8fxxk4KMe4bf"' last-modified: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA4NDM=;sn=830843 + - zAJw6V16=MDotMSM0MTEzOTUw;sn=4113950 transfer-encoding: - chunked status: @@ -131,49 +119,43 @@ interactions: - gzip, deflate Connection: - keep-alive + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTUw User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: GET uri: https://xyazconfig.azconfig.io/kv?key=PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309&api-version=1.0 response: body: - string: '{"items":[{"etag":"dS62ba68nUi7uqHKtLghEGVd7Ht","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:48:34+00:00"}]}' + string: '{"items":[{"etag":"bXvp2yUJkFR4KsM8fxxk4KMe4bf","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:29:03+00:00"}]}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kvset+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:02 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA4NDM=;sn=830843 + - zAJw6V16=MDotMSM0MTEzOTUw;sn=4113950 transfer-encoding: - chunked status: @@ -190,12 +172,14 @@ interactions: - keep-alive Content-Length: - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTUw User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: DELETE uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?api-version=1.0 response: @@ -204,30 +188,22 @@ interactions: headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -250,53 +226,47 @@ interactions: - application/json; charset=utf-8 If-None-Match: - '*' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTUw User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 4rt07HteiPg5NxofrgzMmlQPTVbo1no7aKxDSI5uUU4= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: PUT uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?api-version=1.0 response: body: - string: '{"etag":"DwNe4RpfbjaxNEa6WD1ddj45GOV","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":null,"content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:48:35+00:00"}' + string: '{"etag":"SQd419TV4a5emfz67CSVeYtOP11","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":null,"content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:29:03+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:03 GMT etag: - - '"DwNe4RpfbjaxNEa6WD1ddj45GOV"' + - '"SQd419TV4a5emfz67CSVeYtOP11"' last-modified: - - Fri, 15 Nov 2019 17:48:35 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA4NDQ=;sn=830844 + - zAJw6V16=MDotMSM0MTEzOTUx;sn=4113951 transfer-encoding: - chunked status: @@ -313,53 +283,47 @@ interactions: - keep-alive Content-Length: - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTUx User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: PUT uri: https://xyazconfig.azconfig.io/locks/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"pCvjoheTMhynAhalKLpVrecq4AR","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":true,"last_modified":"2019-11-15T17:48:35+00:00"}' + string: '{"etag":"dBhD1mISw0XY3Q3OZ5KqekEJfWm","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":true,"last_modified":"2020-08-24T20:29:03+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:03 GMT etag: - - '"pCvjoheTMhynAhalKLpVrecq4AR"' + - '"dBhD1mISw0XY3Q3OZ5KqekEJfWm"' last-modified: - - Fri, 15 Nov 2019 17:48:35 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA4NDU=;sn=830845 + - zAJw6V16=MDotMSM0MTEzOTUy;sn=4113952 transfer-encoding: - chunked status: @@ -380,12 +344,14 @@ interactions: - '231' Content-Type: - application/json; charset=utf-8 + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTUy User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 5b/E4qQlXHTRod+n+f+xjK6c/tRVR8uxoC62FjvGJPw= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: PUT uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: @@ -396,30 +362,22 @@ interactions: headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 + - application/problem+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains transfer-encoding: @@ -438,53 +396,47 @@ interactions: - keep-alive Content-Length: - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTUy User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: DELETE uri: https://xyazconfig.azconfig.io/locks/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"BAHQUNyWlM3VtwEa61ZH06qnwbf","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:48:35+00:00"}' + string: '{"etag":"nY2ur1YHi21fmCDfzI9PKK7vRhX","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:29:03+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:03 GMT etag: - - '"BAHQUNyWlM3VtwEa61ZH06qnwbf"' + - '"nY2ur1YHi21fmCDfzI9PKK7vRhX"' last-modified: - - Fri, 15 Nov 2019 17:48:35 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA4NDY=;sn=830846 + - zAJw6V16=MDotMSM0MTEzOTUz;sn=4113953 transfer-encoding: - chunked status: @@ -505,53 +457,47 @@ interactions: - '220' Content-Type: - application/json; charset=utf-8 + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTUz User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - QZZY+ppIiwncsqXIARuR/wqO+l4LBXrkxE9dX6TVcBY= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: PUT uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"QMhUidwSWYTULNTKu8jzwWrRaSs","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test valuea","tags":{"a":"b","c":"d"},"locked":false,"last_modified":"2019-11-15T17:48:35+00:00"}' + string: '{"etag":"QdqXnMam72tIJg1aubrmPyJ8abJ","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test valuea","tags":{"a":"b","c":"d"},"locked":false,"last_modified":"2020-08-24T20:29:03+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:03 GMT etag: - - '"QMhUidwSWYTULNTKu8jzwWrRaSs"' + - '"QdqXnMam72tIJg1aubrmPyJ8abJ"' last-modified: - - Fri, 15 Nov 2019 17:48:35 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA4NDc=;sn=830847 + - zAJw6V16=MDotMSM0MTEzOTU0;sn=4113954 transfer-encoding: - chunked status: @@ -568,53 +514,97 @@ interactions: - keep-alive Content-Length: - '0' + If-Match: + - '"bad"' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTU0 + User-Agent: + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + x-ms-content-sha256: + - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + x-ms-date: + - Aug, 24 2020 20:29:04 GMT + method: PUT + uri: https://xyazconfig.azconfig.io/locks/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 + response: + body: + string: '' + headers: + access-control-allow-credentials: + - 'true' + access-control-allow-origin: + - '*' + access-control-expose-headers: + - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate + connection: + - keep-alive + content-length: + - '0' + date: + - Mon, 24 Aug 2020 20:29:03 GMT + server: + - openresty/1.15.8.3 + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 412 + message: Precondition Failed +- request: + body: null + headers: + Accept: + - application/vnd.microsoft.appconfig.kv+json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTU0 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: DELETE uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?label=test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309&api-version=1.0 response: body: - string: '{"etag":"QMhUidwSWYTULNTKu8jzwWrRaSs","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test - content type","value":"test valuea","tags":{"a":"b","c":"d"},"locked":false,"last_modified":"2019-11-15T17:48:35+00:00"}' + string: '{"etag":"QdqXnMam72tIJg1aubrmPyJ8abJ","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":"test_label1_1d7b2b28-549e-11e9-b51c-2816a84d0309","content_type":"test + content type","value":"test valuea","tags":{"a":"b","c":"d"},"locked":false,"last_modified":"2020-08-24T20:29:03+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:34 GMT + - Mon, 24 Aug 2020 20:29:03 GMT etag: - - '"QMhUidwSWYTULNTKu8jzwWrRaSs"' + - '"QdqXnMam72tIJg1aubrmPyJ8abJ"' last-modified: - - Fri, 15 Nov 2019 17:48:35 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA4NDg=;sn=830848 + - zAJw6V16=MDotMSM0MTEzOTU1;sn=4113955 transfer-encoding: - chunked status: @@ -631,53 +621,47 @@ interactions: - keep-alive Content-Length: - '0' + Sync-Token: + - zAJw6V16=MDotMSM0MTEzOTU1 User-Agent: - - azsdk-python-appconfiguration/1.0.0b5 Python/3.7.2 (Windows-10-10.0.18362-SP0) + - azsdk-python-appconfiguration/1.0.2 Python/3.8.5 (Windows-10-10.0.19041-SP0) x-ms-content-sha256: - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= x-ms-date: - - Nov, 15 2019 17:48:34 GMT + - Aug, 24 2020 20:29:04 GMT method: DELETE uri: https://xyazconfig.azconfig.io/kv/PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309?api-version=1.0 response: body: - string: '{"etag":"DwNe4RpfbjaxNEa6WD1ddj45GOV","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":null,"content_type":"test - content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2019-11-15T17:48:35+00:00"}' + string: '{"etag":"SQd419TV4a5emfz67CSVeYtOP11","key":"PYTHON_UNIT_test_key_a6af8952-54a6-11e9-b600-2816a84d0309","label":null,"content_type":"test + content type","value":"test value","tags":{"tag1":"tag1","tag2":"tag2"},"locked":false,"last_modified":"2020-08-24T20:29:03+00:00"}' headers: access-control-allow-credentials: - 'true' - access-control-allow-headers: - - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate - access-control-allow-methods: - - GET, PUT, POST, DELETE, PATCH, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, - Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-content-sha256, - x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, - x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, - x-ms-retry-after, x-ms-request-id, WWW-Authenticate + Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-useragent, + x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, + If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, + Link, Memento-Datetime, retry-after-ms, x-ms-request-id, WWW-Authenticate connection: - keep-alive content-type: - application/vnd.microsoft.appconfig.kv+json; charset=utf-8 date: - - Fri, 15 Nov 2019 17:48:35 GMT + - Mon, 24 Aug 2020 20:29:03 GMT etag: - - '"DwNe4RpfbjaxNEa6WD1ddj45GOV"' + - '"SQd419TV4a5emfz67CSVeYtOP11"' last-modified: - - Fri, 15 Nov 2019 17:48:35 GMT + - Mon, 24 Aug 2020 20:29:03 GMT server: - - openresty/1.15.8.1 + - openresty/1.15.8.3 strict-transport-security: - max-age=15724800; includeSubDomains sync-token: - - zAJw6V16=MzotMSM4MzA4NDk=;sn=830849 + - zAJw6V16=MDotMSM0MTEzOTU2;sn=4113956 transfer-encoding: - chunked status: diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_configuration_client.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_configuration_client.py index 15c592bdb10e..dd9bdd3efc85 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_configuration_client.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_configuration_client.py @@ -418,3 +418,6 @@ def test_set_read_only(self): and to_set_kv.tags == set_kv.tags and to_set_kv.etag != set_kv.etag ) + set_kv.etag = "bad" + with pytest.raises(ResourceModifiedError): + self.app_config_client.set_read_only(set_kv, True, match_condition=MatchConditions.IfNotModified) diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_configuration_client_async.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_configuration_client_async.py index 6af24c584e58..bda8b865080f 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_configuration_client_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_configuration_client_async.py @@ -420,3 +420,6 @@ def test_set_read_only(self): and to_set_kv.tags == set_kv.tags and to_set_kv.etag != set_kv.etag ) + set_kv.etag = "bad" + with pytest.raises(ResourceModifiedError): + self.app_config_client.set_read_only(set_kv, True, match_condition=MatchConditions.IfNotModified) diff --git a/sdk/appconfiguration/ci.yml b/sdk/appconfiguration/ci.yml index 722225334380..ec644e8ce1cd 100644 --- a/sdk/appconfiguration/ci.yml +++ b/sdk/appconfiguration/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -38,4 +37,4 @@ extends: - name: azure_appconfiguration safeName: azureappconfiguration - name: azure_mgmt_appconfiguration - safeName: azuremgmtappconfiguration \ No newline at end of file + safeName: azuremgmtappconfiguration diff --git a/sdk/applicationinsights/ci.yml b/sdk/applicationinsights/ci.yml index 1ebba80507a1..5c8988902bd4 100644 --- a/sdk/applicationinsights/ci.yml +++ b/sdk/applicationinsights/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/appplatform/ci.yml b/sdk/appplatform/ci.yml new file mode 100644 index 000000000000..666e9e8d4129 --- /dev/null +++ b/sdk/appplatform/ci.yml @@ -0,0 +1,33 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: + branches: + include: + - master + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/appplatform/ + +pr: + branches: + include: + - master + - feature/* + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/appplatform/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: appplatform + Artifacts: + - name: azure_mgmt_appplatform + safeName: azuremgmtappplatform \ No newline at end of file diff --git a/sdk/appservice/ci.yml b/sdk/appservice/ci.yml index 42e7dfd6b4a2..8d2568465d5c 100644 --- a/sdk/appservice/ci.yml +++ b/sdk/appservice/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: appservice Artifacts: - name: azure_mgmt_web - safeName: azuremgmtweb \ No newline at end of file + safeName: azuremgmtweb diff --git a/sdk/attestation/ci.yml b/sdk/attestation/ci.yml index 3874e7c9259c..d33cc031f420 100644 --- a/sdk/attestation/ci.yml +++ b/sdk/attestation/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: attestation Artifacts: - name: azure_mgmt_attestation - safeName: azuremgmtattestation \ No newline at end of file + safeName: azuremgmtattestation diff --git a/sdk/authorization/ci.yml b/sdk/authorization/ci.yml index 86362cc85281..2e8996d3decc 100644 --- a/sdk/authorization/ci.yml +++ b/sdk/authorization/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: authorization Artifacts: - name: azure_mgmt_authorization - safeName: azuremgmtauthorization \ No newline at end of file + safeName: azuremgmtauthorization diff --git a/sdk/automation/ci.yml b/sdk/automation/ci.yml index 1d46dbb541dc..8c62497d1e2a 100644 --- a/sdk/automation/ci.yml +++ b/sdk/automation/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: automation Artifacts: - name: azure_mgmt_automation - safeName: azuremgmtautomation \ No newline at end of file + safeName: azuremgmtautomation diff --git a/sdk/azurestack/ci.yml b/sdk/azurestack/ci.yml index f34d3623f88c..52e74fb7d926 100644 --- a/sdk/azurestack/ci.yml +++ b/sdk/azurestack/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: azurestack Artifacts: - name: azure_mgmt_azurestack - safeName: azuremgmtazurestack \ No newline at end of file + safeName: azuremgmtazurestack diff --git a/sdk/azurestackhci/ci.yml b/sdk/azurestackhci/ci.yml index 5a135ee88b53..cc5492e9c3ec 100644 --- a/sdk/azurestackhci/ci.yml +++ b/sdk/azurestackhci/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: azurestackhci Artifacts: - name: azure_mgmt_azurestackhci - safeName: azuremgmtazurestackhci \ No newline at end of file + safeName: azuremgmtazurestackhci diff --git a/sdk/batch/ci.yml b/sdk/batch/ci.yml index 64c476bad2d6..7a866d35397e 100644 --- a/sdk/batch/ci.yml +++ b/sdk/batch/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -32,4 +31,4 @@ extends: - name: azure_mgmt_batch safeName: azuremgmtbatch - name: azure_batch - safeName: azurebatch \ No newline at end of file + safeName: azurebatch diff --git a/sdk/billing/ci.yml b/sdk/billing/ci.yml index eb74f53a5d52..75649b447fc7 100644 --- a/sdk/billing/ci.yml +++ b/sdk/billing/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: billing Artifacts: - name: azure_mgmt_billing - safeName: azuremgmtbilling \ No newline at end of file + safeName: azuremgmtbilling diff --git a/sdk/botservice/ci.yml b/sdk/botservice/ci.yml index a6f4b76d8389..ebd2e2536797 100644 --- a/sdk/botservice/ci.yml +++ b/sdk/botservice/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: botservice Artifacts: - name: azure_mgmt_botservice - safeName: azuremgmtbotservice \ No newline at end of file + safeName: azuremgmtbotservice diff --git a/sdk/cdn/ci.yml b/sdk/cdn/ci.yml index 0ba4721f286e..a65de72c4c67 100644 --- a/sdk/cdn/ci.yml +++ b/sdk/cdn/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: cdn Artifacts: - name: azure_mgmt_cdn - safeName: azuremgmtcdn \ No newline at end of file + safeName: azuremgmtcdn diff --git a/sdk/cognitiveservices/ci.yml b/sdk/cognitiveservices/ci.yml index ed18c333acba..0834f7467519 100644 --- a/sdk/cognitiveservices/ci.yml +++ b/sdk/cognitiveservices/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -76,4 +75,4 @@ extends: - name: azure_cognitiveservices_vision_face safeName: azurecognitiveservicesvisionface - name: azure_mgmt_cognitiveservices - safeName: azuremgmtcognitiveservices \ No newline at end of file + safeName: azuremgmtcognitiveservices diff --git a/sdk/commerce/ci.yml b/sdk/commerce/ci.yml index 359652cd14ee..cb92fe6131a7 100644 --- a/sdk/commerce/ci.yml +++ b/sdk/commerce/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: commerce Artifacts: - name: azure_mgmt_commerce - safeName: azuremgmtcommerce \ No newline at end of file + safeName: azuremgmtcommerce diff --git a/sdk/compute/ci.yml b/sdk/compute/ci.yml index 152fbcd9f428..a5b673b3109e 100644 --- a/sdk/compute/ci.yml +++ b/sdk/compute/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -32,4 +31,4 @@ extends: - name: azure_mgmt_compute safeName: azuremgmtcompute - name: azure_mgmt_imagebuilder - safeName: azuremgmtimagebuilder \ No newline at end of file + safeName: azuremgmtimagebuilder diff --git a/sdk/consumption/ci.yml b/sdk/consumption/ci.yml index 9dbf6fee08d8..9910c5223246 100644 --- a/sdk/consumption/ci.yml +++ b/sdk/consumption/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: consumption Artifacts: - name: azure_mgmt_consumption - safeName: azuremgmtconsumption \ No newline at end of file + safeName: azuremgmtconsumption diff --git a/sdk/containerinstance/ci.yml b/sdk/containerinstance/ci.yml index 22cf24aa2174..e0f0f191484b 100644 --- a/sdk/containerinstance/ci.yml +++ b/sdk/containerinstance/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: containerinstance Artifacts: - name: azure_mgmt_containerinstance - safeName: azuremgmtcontainerinstance \ No newline at end of file + safeName: azuremgmtcontainerinstance diff --git a/sdk/containerregistry/ci.yml b/sdk/containerregistry/ci.yml index e842532e182b..34a0699c0b11 100644 --- a/sdk/containerregistry/ci.yml +++ b/sdk/containerregistry/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: containerregistry Artifacts: - name: azure_mgmt_containerregistry - safeName: azuremgmtcontainerregistry \ No newline at end of file + safeName: azuremgmtcontainerregistry diff --git a/sdk/containerservice/ci.yml b/sdk/containerservice/ci.yml index c8de7f67cf30..d9d920d2882a 100644 --- a/sdk/containerservice/ci.yml +++ b/sdk/containerservice/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: containerservice Artifacts: - name: azure_mgmt_containerservice - safeName: azuremgmtcontainerservice \ No newline at end of file + safeName: azuremgmtcontainerservice diff --git a/sdk/core/azure-core-tracing-opencensus/README.md b/sdk/core/azure-core-tracing-opencensus/README.md index 173b4ecf4bfa..11676f2d1c9e 100644 --- a/sdk/core/azure-core-tracing-opencensus/README.md +++ b/sdk/core/azure-core-tracing-opencensus/README.md @@ -45,7 +45,7 @@ with tracer.span(name="MyApplication") as span: ## Troubleshooting -This client raises exceptions defined in [Azure Core](https://docs.microsoft.com/en-us/python/api/azure-core/azure.core.exceptions?view=azure-python). +This client raises exceptions defined in [Azure Core](https://docs.microsoft.com/python/api/azure-core/azure.core.exceptions?view=azure-python). ## Next steps diff --git a/sdk/core/azure-core-tracing-opentelemetry/README.md b/sdk/core/azure-core-tracing-opentelemetry/README.md index ac2a0722bda7..d30f6f19f02c 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/README.md +++ b/sdk/core/azure-core-tracing-opentelemetry/README.md @@ -78,7 +78,7 @@ Azure Exporter can be found in the [package](https://pypi.org/project/openteleme ## Troubleshooting -This client raises exceptions defined in [Azure Core](https://docs.microsoft.com/en-us/python/api/azure-core/azure.core.exceptions?view=azure-python). +This client raises exceptions defined in [Azure Core](https://docs.microsoft.com/python/api/azure-core/azure.core.exceptions?view=azure-python). ## Next steps diff --git a/sdk/core/azure-core/azure/core/pipeline/transport/_base.py b/sdk/core/azure-core/azure/core/pipeline/transport/_base.py index eee08d7fa859..4aca84c7ae2b 100644 --- a/sdk/core/azure-core/azure/core/pipeline/transport/_base.py +++ b/sdk/core/azure-core/azure/core/pipeline/transport/_base.py @@ -147,7 +147,7 @@ def _urljoin(base_url, stub_url): :rtype: str """ parsed = urlparse(base_url) - parsed = parsed._replace(path=parsed.path + "/" + stub_url) + parsed = parsed._replace(path=parsed.path.rstrip("/") + "/" + stub_url) return parsed.geturl() diff --git a/sdk/core/azure-core/tests/test_basic_transport.py b/sdk/core/azure-core/tests/test_basic_transport.py index 6ccbb4125a66..647828ee53d1 100644 --- a/sdk/core/azure-core/tests/test_basic_transport.py +++ b/sdk/core/azure-core/tests/test_basic_transport.py @@ -14,7 +14,7 @@ import mock from azure.core.pipeline.transport import HttpRequest, HttpResponse, RequestsTransport -from azure.core.pipeline.transport._base import HttpClientTransportResponse, HttpTransport, _deserialize_response +from azure.core.pipeline.transport._base import HttpClientTransportResponse, HttpTransport, _deserialize_response, _urljoin from azure.core.pipeline.policies import HeadersPolicy from azure.core.pipeline import Pipeline import logging @@ -88,6 +88,13 @@ def test_http_request_serialization(): assert serialized == expected +def test_url_join(): + assert _urljoin('devstoreaccount1', '') == 'devstoreaccount1/' + assert _urljoin('devstoreaccount1', 'testdir/') == 'devstoreaccount1/testdir/' + assert _urljoin('devstoreaccount1/', '') == 'devstoreaccount1/' + assert _urljoin('devstoreaccount1/', 'testdir/') == 'devstoreaccount1/testdir/' + + def test_http_client_response(): # Create a core request request = HttpRequest("GET", "www.httpbin.org") diff --git a/sdk/core/azure-servicemanagement-legacy/README.md b/sdk/core/azure-servicemanagement-legacy/README.md index bb3a8445abf2..586ab2f5f614 100644 --- a/sdk/core/azure-servicemanagement-legacy/README.md +++ b/sdk/core/azure-servicemanagement-legacy/README.md @@ -231,7 +231,7 @@ section of the project. # Learn More [Microsoft Azure Python Developer -Center](http://azure.microsoft.com/en-us/develop/python/) +Center](http://azure.microsoft.com/develop/python/) ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-servicemanagement-legacy%2FREADME.png) diff --git a/sdk/core/azure/CHANGELOG.md b/sdk/core/azure/CHANGELOG.md index 4295ce1e8de3..e91b8608b75b 100644 --- a/sdk/core/azure/CHANGELOG.md +++ b/sdk/core/azure/CHANGELOG.md @@ -28,9 +28,9 @@ Example:: Configuration from the CLI is: -- [az login](https://docs.microsoft.com/en-us/cli/azure/authenticate-azure-cli): access to credentials -- [az account set --subscriptions](https://docs.microsoft.com/en-us/cli/azure/manage-azure-subscriptions-azure-cli): access to subscription_id -- [az cloud set --name](https://docs.microsoft.com/en-us/cli/azure/cloud#set): access to base_url (sovereign cloud, Government, Germany, etc.) +- [az login](https://docs.microsoft.com/cli/azure/authenticate-azure-cli): access to credentials +- [az account set --subscriptions](https://docs.microsoft.com/cli/azure/manage-azure-subscriptions-azure-cli): access to subscription_id +- [az cloud set --name](https://docs.microsoft.com/cli/azure/cloud#set): access to base_url (sovereign cloud, Government, Germany, etc.) Note: CLI and SDK are versioned separately. We do recommend using two different virtual environments. Information will be shared automatically since the CLI saves it in the $HOME folder. You do need the `azure-cli-core` package in your SDK environment to use this feature. @@ -648,8 +648,8 @@ The upgrade to this new version causes some breaking changes for Python SDK user See MSDN documentation for details on REST API changes: -* in '2013-08-15': https://msdn.microsoft.com/en-us/library/azure/dn592124.aspx -* in '2014-02-14': https://msdn.microsoft.com/en-us/library/azure/dd894041.aspx +* in '2013-08-15': https://msdn.microsoft.com/library/azure/dn592124.aspx +* in '2014-02-14': https://msdn.microsoft.com/library/azure/dd894041.aspx The other changes in this release are: diff --git a/sdk/core/ci.yml b/sdk/core/ci.yml index 3ae71b2b6598..01d0d5665b94 100644 --- a/sdk/core/ci.yml +++ b/sdk/core/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -42,4 +41,4 @@ extends: - name: azure_core_tracing_opentelemetry safeName: azurecorecoretracingtelemetry - name: azure_common - safeName: azurecommon \ No newline at end of file + safeName: azurecommon diff --git a/sdk/cosmos/README.md b/sdk/cosmos/README.md index 78238458b168..f6cd10f7be07 100644 --- a/sdk/cosmos/README.md +++ b/sdk/cosmos/README.md @@ -2,11 +2,11 @@ Azure Cosmos DB is a globally distributed, multi-model database service that supports document, key-value, wide-column, and graph databases. For more information, go to [https://www.gotcosmos.com/](https://www.gotcosmos.com/) . -Use the Azure Cosmos DB SQL API SDKs for application development and database management. For all other APIs, please check the [documentation](https://docs.microsoft.com/en-us/azure/cosmos-db/introduction) to evaluate the best SDK for your project. +Use the Azure Cosmos DB SQL API SDKs for application development and database management. For all other APIs, please check the [documentation](https://docs.microsoft.com/azure/cosmos-db/introduction) to evaluate the best SDK for your project. ## Contents of this folder -### azure-cosmos +### [azure-cosmos](./azure-cosmos) This is the Azure Cosmos DB SQL API SDK for Python to manage databases and the JSON documents they contain in this NoSQL database service. High level capabilities are: @@ -17,7 +17,7 @@ This is the Azure Cosmos DB SQL API SDK for Python to manage databases and the J Use this package if you are creating an application or exploring data. -### azure-mgmt-cosmosdb +### [azure-mgmt-cosmosdb](./azure-mgmt-cosmosdb) This is the Microsoft Azure Cosmos DB Management Client Library. High level capabilities are: @@ -34,7 +34,7 @@ This is the Microsoft Azure Cosmos DB Management Client Library. High level capa Use this package if you are creating an account level management application. -### azure-mgmt-documentdb +### [azure-mgmt-documentdb](./azure-mgmt-documentdb) Legacy DocumentDB SDK. diff --git a/sdk/cosmos/azure-cosmos/CHANGELOG.md b/sdk/cosmos/azure-cosmos/CHANGELOG.md index e2940d239b72..90015159104c 100644 --- a/sdk/cosmos/azure-cosmos/CHANGELOG.md +++ b/sdk/cosmos/azure-cosmos/CHANGELOG.md @@ -1,3 +1,9 @@ +## 4.1.1 (unreleased) + +**Bug fixes** +- Fixed bug where continuation token is not honored when query_iterable is used to get results by page. Issue #13265. + + ## 4.1.0 (2020-08-10) - Added deprecation warning for "lazy" indexing mode. The backend no longer allows creating containers with this mode and will set them to consistent instead. diff --git a/sdk/cosmos/azure-cosmos/Contributing.md b/sdk/cosmos/azure-cosmos/Contributing.md index cf989a63218f..f195f755d8d2 100644 --- a/sdk/cosmos/azure-cosmos/Contributing.md +++ b/sdk/cosmos/azure-cosmos/Contributing.md @@ -1 +1 @@ -Please read the contributing guidelines from the [Azure Team](https://azure.microsoft.com/en-us/blog/simple-contribution-to-azure-documentation-and-sdk/) \ No newline at end of file +Please read the contributing guidelines from the [Azure Team](https://azure.microsoft.com/blog/simple-contribution-to-azure-documentation-and-sdk/) \ No newline at end of file diff --git a/sdk/cosmos/azure-cosmos/README.md b/sdk/cosmos/azure-cosmos/README.md index 82506d3112e5..cbe4a8ae2651 100644 --- a/sdk/cosmos/azure-cosmos/README.md +++ b/sdk/cosmos/azure-cosmos/README.md @@ -11,14 +11,16 @@ Use the Azure Cosmos DB SQL API SDK for Python to manage databases and the JSON [SDK source code][source_code] | [Package (PyPI)][cosmos_pypi] | [API reference documentation][ref_cosmos_sdk] | [Product documentation][cosmos_docs] | [Samples][cosmos_samples] +> This SDK is used for the [SQL API](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-getting-started). For all other APIs, please check the [Azure Cosmos DB documentation](https://docs.microsoft.com/en-us/azure/cosmos-db/introduction) to evaluate the best SDK for your project. ## Getting started + ### Prerequisites + * Azure subscription - [Create a free account][azure_sub] * Azure [Cosmos DB account][cosmos_account] - SQL API * [Python 2.7 or 3.5.3+][python] - If you need a Cosmos DB SQL API account, you can create one with this [Azure CLI][azure_cli] command: ```Bash @@ -39,6 +41,7 @@ Although not required, you can keep your base system and Azure SDK environments python3 -m venv azure-cosmosdb-sdk-environment source azure-cosmosdb-sdk-environment/bin/activate ``` + ### Authenticate the client Interaction with Cosmos DB starts with an instance of the [CosmosClient][ref_cosmosclient] class. You need an **account**, its **URI**, and one of its **account keys** to instantiate the client object. @@ -52,6 +55,7 @@ ACCT_NAME= export ACCOUNT_URI=$(az cosmosdb show --resource-group $RES_GROUP --name $ACCT_NAME --query documentEndpoint --output tsv) export ACCOUNT_KEY=$(az cosmosdb list-keys --resource-group $RES_GROUP --name $ACCT_NAME --query primaryMasterKey --output tsv) ``` + ### Create the client Once you've populated the `ACCOUNT_URI` and `ACCOUNT_KEY` environment variables, you can create the [CosmosClient][ref_cosmosclient]. @@ -77,12 +81,26 @@ Once you've initialized a [CosmosClient][ref_cosmosclient], you can interact wit For more information about these resources, see [Working with Azure Cosmos databases, containers and items][cosmos_resources]. +## Limitations + +As of August 2020 the features below are not yet supported. + +* Bulk/Batch processing +* Group By queries +* Direct TCP Mode access +* Language Native async i/o + +## Limitations Workaround + +If you want to use Python SDK to perform bulk inserts to Cosmos DB, the best alternative is to use [stored procedures](https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-write-stored-procedures-triggers-udfs) to write multiple items with the same partition key. + ## Examples The following sections provide several code snippets covering some of the most common Cosmos DB tasks, including: * [Create a database](#create-a-database "Create a database") * [Create a container](#create-a-container "Create a container") +* [Create an analytical store enabled container](#create-an-analytical-store-enabled-container "Create a container") * [Get an existing container](#get-an-existing-container "Get an existing container") * [Insert data](#insert-data "Insert data") * [Delete data](#delete-data "Delete data") @@ -131,6 +149,29 @@ except exceptions.CosmosHttpResponseError: raise ``` +### Create an analytical store enabled container + +This example creates a container with [Analytical Store](https://docs.microsoft.com/en-us/azure/cosmos-db/analytical-store-introduction) enabled, for reporting, BI, AI, and Advanced Analytics with [Azure Synapse Link](https://docs.microsoft.com/en-us/azure/cosmos-db/synapse-link). + +The options for analytical_storage_ttl are: + ++ 0 or Null or not informed: Not enabled. ++ -1: The data will be stored infinitely. ++ Any other number: the actual ttl, in seconds. + + +```Python +container_name = 'products' +try: + container = database.create_container(id=container_name, partition_key=PartitionKey(path="/productName"),analytical_storage_ttl=-1) +except exceptions.CosmosResourceExistsError: + container = database.get_container_client(container_name) +except exceptions.CosmosHttpResponseError: + raise +``` + +The preceding snippet also handles the [CosmosHttpResponseError][ref_httpfailure] exception if the container creation failed. For more information on error handling and troubleshooting, see the [Troubleshooting](#troubleshooting "Troubleshooting") section. + The preceding snippet also handles the [CosmosHttpResponseError][ref_httpfailure] exception if the container creation failed. For more information on error handling and troubleshooting, see the [Troubleshooting](#troubleshooting "Troubleshooting") section. ### Get an existing container diff --git a/sdk/cosmos/azure-cosmos/azure/cosmos/_execution_context/base_execution_context.py b/sdk/cosmos/azure-cosmos/azure/cosmos/_execution_context/base_execution_context.py index c125e870b3a4..3897e5a8a6b1 100644 --- a/sdk/cosmos/azure-cosmos/azure/cosmos/_execution_context/base_execution_context.py +++ b/sdk/cosmos/azure-cosmos/azure/cosmos/_execution_context/base_execution_context.py @@ -24,6 +24,7 @@ """ from collections import deque +import copy from .. import _retry_utility from .. import http_constants @@ -43,13 +44,18 @@ def __init__(self, client, options): self._client = client self._options = options self._is_change_feed = "changeFeed" in options and options["changeFeed"] is True - self._continuation = None - if "continuation" in options and self._is_change_feed: - self._continuation = options["continuation"] + self._continuation = self._get_initial_continuation() self._has_started = False self._has_finished = False self._buffer = deque() + def _get_initial_continuation(self): + if "continuation" in self._options: + if "enableCrossPartitionQuery" in self._options: + raise ValueError("continuation tokens are not supported for cross-partition queries.") + return self._options["continuation"] + return None + def _has_more_pages(self): return not self._has_started or self._continuation @@ -112,8 +118,9 @@ def _fetch_items_helper_no_retries(self, fetch_function): while self._continuation or not self._has_started: if not self._has_started: self._has_started = True - self._options["continuation"] = self._continuation - (fetched_items, response_headers) = fetch_function(self._options) + new_options = copy.deepcopy(self._options) + new_options["continuation"] = self._continuation + (fetched_items, response_headers) = fetch_function(new_options) continuation_key = http_constants.HttpHeaders.Continuation # Use Etag as continuation token for change feed queries. if self._is_change_feed: diff --git a/sdk/cosmos/azure-cosmos/samples/README.md b/sdk/cosmos/azure-cosmos/samples/README.md index 82a25c029b2e..b6ed3f5db83e 100644 --- a/sdk/cosmos/azure-cosmos/samples/README.md +++ b/sdk/cosmos/azure-cosmos/samples/README.md @@ -48,7 +48,7 @@ The following are code samples that show common scenario operations with the Azu ## Prerequisites * Python 2.7 or 3.5.3+ * You must have an [Azure subscription](https://azure.microsoft.com/free/) and an -[Azure Cosmos DB account](https://docs.microsoft.com/en-us/azure/cosmos-db/create-sql-api-python#create-a-database-account) to run these samples. +[Azure Cosmos DB account](https://docs.microsoft.com/azure/cosmos-db/create-sql-api-python#create-a-database-account) to run these samples. ## Setup diff --git a/sdk/cosmos/azure-cosmos/samples/container_management.py b/sdk/cosmos/azure-cosmos/samples/container_management.py index 9f0177f82b14..ff29c8b3e454 100644 --- a/sdk/cosmos/azure-cosmos/samples/container_management.py +++ b/sdk/cosmos/azure-cosmos/samples/container_management.py @@ -24,6 +24,7 @@ # 2.4 - Create container with unique key # 2.5 - Create Container with partition key V2 # 2.6 - Create Container with partition key V1 +# 2.7 - Create Container with analytical store enabled # # 3. Manage Container Provisioned Throughput # 3.1 - Get Container provisioned throughput (RU/s) @@ -67,8 +68,8 @@ def find_container(db, id): def create_container(db, id): - """ Execute the most basic Create of container. - This will create a container with 400 RUs throughput and default indexing policy """ + """ Execute basic container creation. + This will create containers with 400 RUs with different indexing, partitioning, and storage options """ partition_key = PartitionKey(path='/id', kind='Hash') print("\n2.1 Create Container - Basic") @@ -84,9 +85,8 @@ def create_container(db, id): try: coll = { - "id": "container_custom_index_policy", + "id": id+"_container_custom_index_policy", "indexingPolicy": { - "indexingMode": "lazy", "automatic": False } } @@ -107,9 +107,8 @@ def create_container(db, id): print("\n2.3 Create Container - With custom provisioned throughput") try: - coll = {"id": "container_custom_throughput"} container = db.create_container( - id=coll['id'], + id=id+"_container_custom_throughput", partition_key=partition_key, offer_throughput=400 ) @@ -122,7 +121,7 @@ def create_container(db, id): try: container = db.create_container( - id="container_unique_keys", + id= id+"_container_unique_keys", partition_key=partition_key, unique_key_policy={'uniqueKeys': [{'paths': ['/field1/field2', '/field3']}]} ) @@ -138,7 +137,7 @@ def create_container(db, id): try: container = db.create_container( - id="container_partition_key_v2", + id=id+"_container_partition_key_v2", partition_key=PartitionKey(path='/id', kind='Hash') ) properties = container.read() @@ -152,7 +151,7 @@ def create_container(db, id): try: container = db.create_container( - id="container_partition_key_v1", + id=id+"_container_partition_key_v1", partition_key=PartitionKey(path='/id', kind='Hash', version=1) ) properties = container.read() @@ -162,6 +161,22 @@ def create_container(db, id): except exceptions.CosmosResourceExistsError: print('A container with id \'container_partition_key_v1\' already exists') + print("\n2.7 Create Container - With analytical store enabled") + + try: + container = db.create_container( + id=id+"_container_analytical_store", + partition_key=PartitionKey(path='/id', kind='Hash'),analytical_storage_ttl=-1 + + ) + properties = container.read() + print('Container with id \'{0}\' created'.format(container.id)) + print('Partition Key - \'{0}\''.format(properties['partitionKey'])) + + except exceptions.CosmosResourceExistsError: + print('A container with id \'_container_analytical_store\' already exists') + + def manage_provisioned_throughput(db, id): print("\n3.1 Get Container provisioned throughput (RU/s)") diff --git a/sdk/cosmos/azure-cosmos/samples/index_management.py b/sdk/cosmos/azure-cosmos/samples/index_management.py index 169b2410d7f1..810c312beecb 100644 --- a/sdk/cosmos/azure-cosmos/samples/index_management.py +++ b/sdk/cosmos/azure-cosmos/samples/index_management.py @@ -22,7 +22,6 @@ # excludedPaths # # We can toggle 'automatic' to eiher be True or False depending upon whether we want to have indexing over all columns by default or not. -# indexingMode can be either of consistent, lazy or none # # We can provide options while creating documents. indexingDirective is one such, # by which we can tell whether it should be included or excluded in the index of the parent container. diff --git a/sdk/cosmos/azure-cosmos/test/test_query.py b/sdk/cosmos/azure-cosmos/test/test_query.py index 59204ef863ea..44d59975c46c 100644 --- a/sdk/cosmos/azure-cosmos/test/test_query.py +++ b/sdk/cosmos/azure-cosmos/test/test_query.py @@ -522,6 +522,42 @@ def test_distinct_on_different_types_and_field_orders(self): _QueryExecutionContextBase.__next__ = self.OriginalExecuteFunction _QueryExecutionContextBase.next = self.OriginalExecuteFunction + def test_paging_with_continuation_token(self): + created_collection = self.config.create_multi_partition_collection_with_custom_pk_if_not_exist(self.client) + + document_definition = {'pk': 'pk', 'id': '1'} + created_collection.create_item(body=document_definition) + document_definition = {'pk': 'pk', 'id': '2'} + created_collection.create_item(body=document_definition) + + query = 'SELECT * from c' + query_iterable = created_collection.query_items( + query=query, + partition_key='pk', + max_item_count=1 + ) + pager = query_iterable.by_page() + pager.next() + token = pager.continuation_token + second_page = list(pager.next())[0] + + pager = query_iterable.by_page(token) + second_page_fetched_with_continuation_token = list(pager.next())[0] + + self.assertEqual(second_page['id'], second_page_fetched_with_continuation_token['id']) + + def test_cross_partition_query_with_continuation_token_fails(self): + created_collection = self.config.create_multi_partition_collection_with_custom_pk_if_not_exist(self.client) + query = 'SELECT * from c' + query_iterable = created_collection.query_items( + query=query, + enable_cross_partition_query=True, + max_item_count=1, + ) + + with self.assertRaises(ValueError): + pager = query_iterable.by_page("fake_continuation_token") + def _validate_distinct_on_different_types_and_field_orders(self, collection, query, expected_results, get_mock_result): self.count = 0 self.get_mock_result = get_mock_result diff --git a/sdk/cosmos/ci.yml b/sdk/cosmos/ci.yml index 9bf34906107e..e1ab974e44f7 100644 --- a/sdk/cosmos/ci.yml +++ b/sdk/cosmos/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: include: @@ -33,4 +32,4 @@ extends: - name: azure_cosmos safeName: azurecosmos - name: azure_mgmt_cosmosdb - safeName: azuremgmtcosmosdb \ No newline at end of file + safeName: azuremgmtcosmosdb diff --git a/sdk/costmanagement/ci.yml b/sdk/costmanagement/ci.yml index dfdc78353159..b20de777438a 100644 --- a/sdk/costmanagement/ci.yml +++ b/sdk/costmanagement/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/customproviders/ci.yml b/sdk/customproviders/ci.yml index fcc43213231c..76f8fa58dcb1 100644 --- a/sdk/customproviders/ci.yml +++ b/sdk/customproviders/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: customproviders Artifacts: - name: azure_mgmt_customproviders - safeName: azuremgmtcustomproviders \ No newline at end of file + safeName: azuremgmtcustomproviders diff --git a/sdk/databox/ci.yml b/sdk/databox/ci.yml index 732c6fa933fd..bea9658daf21 100644 --- a/sdk/databox/ci.yml +++ b/sdk/databox/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: databox Artifacts: - name: azure_mgmt_databox - safeName: azuremgmtdatabox \ No newline at end of file + safeName: azuremgmtdatabox diff --git a/sdk/databoxedge/ci.yml b/sdk/databoxedge/ci.yml index 3f2a4d183443..b2d2c8d042d6 100644 --- a/sdk/databoxedge/ci.yml +++ b/sdk/databoxedge/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: databoxedge Artifacts: - name: azure_mgmt_databoxedge - safeName: azuremgmtdataboxedge \ No newline at end of file + safeName: azuremgmtdataboxedge diff --git a/sdk/databricks/ci.yml b/sdk/databricks/ci.yml index 8384153fa15e..07aba7052b0a 100644 --- a/sdk/databricks/ci.yml +++ b/sdk/databricks/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: include: @@ -29,4 +28,4 @@ extends: ServiceDirectory: databricks Artifacts: - name: azure_mgmt_databricks - safeName: azuremgmtdatabricks \ No newline at end of file + safeName: azuremgmtdatabricks diff --git a/sdk/datafactory/ci.yml b/sdk/datafactory/ci.yml index 038a4c70027b..b836d5151858 100644 --- a/sdk/datafactory/ci.yml +++ b/sdk/datafactory/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: datafactory Artifacts: - name: azure_mgmt_datafactory - safeName: azuremgmtdatafactory \ No newline at end of file + safeName: azuremgmtdatafactory diff --git a/sdk/datalake/ci.yml b/sdk/datalake/ci.yml index eb41659fc32a..7660e35173b2 100644 --- a/sdk/datalake/ci.yml +++ b/sdk/datalake/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -32,4 +31,4 @@ extends: - name: azure_mgmt_datalake_analytics safeName: azuremgmtdatalakeanalytics - name: azure_mgmt_datalake_store - safeName: azuremgmtdatalakestore \ No newline at end of file + safeName: azuremgmtdatalakestore diff --git a/sdk/datamigration/ci.yml b/sdk/datamigration/ci.yml index 6fac5f9a9222..577288b3fbe2 100644 --- a/sdk/datamigration/ci.yml +++ b/sdk/datamigration/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: datamigration Artifacts: - name: azure_mgmt_datamigration - safeName: azuremgmtdatamigration \ No newline at end of file + safeName: azuremgmtdatamigration diff --git a/sdk/datashare/ci.yml b/sdk/datashare/ci.yml index ffef09f9c328..d0e741c9352f 100644 --- a/sdk/datashare/ci.yml +++ b/sdk/datashare/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: datashare Artifacts: - name: azure_mgmt_datashare - safeName: azuremgmtdatashare \ No newline at end of file + safeName: azuremgmtdatashare diff --git a/sdk/deploymentmanager/ci.yml b/sdk/deploymentmanager/ci.yml index 6c84822f7176..44efee8085c5 100644 --- a/sdk/deploymentmanager/ci.yml +++ b/sdk/deploymentmanager/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: deploymentmanager Artifacts: - name: azure_mgmt_deploymentmanager - safeName: azuremgmtdeploymentmanager \ No newline at end of file + safeName: azuremgmtdeploymentmanager diff --git a/sdk/devtestlabs/ci.yml b/sdk/devtestlabs/ci.yml index 7ab1586304e0..4b42e00a1d68 100644 --- a/sdk/devtestlabs/ci.yml +++ b/sdk/devtestlabs/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: devtestlabs Artifacts: - name: azure_mgmt_devtestlabs - safeName: azuremgmtdevtestlabs \ No newline at end of file + safeName: azuremgmtdevtestlabs diff --git a/sdk/digitaltwins/ci.yml b/sdk/digitaltwins/ci.yml index 0b73eac0d8ff..4b62b08e6731 100644 --- a/sdk/digitaltwins/ci.yml +++ b/sdk/digitaltwins/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/edgegateway/ci.yml b/sdk/edgegateway/ci.yml index c0c43c3b9edb..02e13e3d82f3 100644 --- a/sdk/edgegateway/ci.yml +++ b/sdk/edgegateway/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: edgegateway Artifacts: - name: azure_mgmt_edgegateway - safeName: azuremgmtedgegateway \ No newline at end of file + safeName: azuremgmtedgegateway diff --git a/sdk/eventgrid/azure-eventgrid/CHANGELOG.md b/sdk/eventgrid/azure-eventgrid/CHANGELOG.md index 2fc7fda8852b..a4a05abba5b4 100644 --- a/sdk/eventgrid/azure-eventgrid/CHANGELOG.md +++ b/sdk/eventgrid/azure-eventgrid/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History +## 2.0.0b1 (Unreleased) + + - Placeholder - NEEDS TO BE CHANGED + ## 1.3.0 (2019-05-20) - Event Schemas for new event types from IotHub, Media Services, diff --git a/sdk/eventgrid/azure-eventgrid/MANIFEST.in b/sdk/eventgrid/azure-eventgrid/MANIFEST.in index cad40fe06b5f..abba13db8db2 100644 --- a/sdk/eventgrid/azure-eventgrid/MANIFEST.in +++ b/sdk/eventgrid/azure-eventgrid/MANIFEST.in @@ -1,4 +1,5 @@ recursive-include tests *.py *.yaml +recursive-include samples *.py include *.md include azure/__init__.py diff --git a/sdk/eventgrid/azure-eventgrid/README.md b/sdk/eventgrid/azure-eventgrid/README.md index 5aa35412bfe1..67a40b44a789 100644 --- a/sdk/eventgrid/azure-eventgrid/README.md +++ b/sdk/eventgrid/azure-eventgrid/README.md @@ -1,22 +1,21 @@ -## Microsoft Azure SDK for Python +# Microsoft Azure SDK for Python This is the Microsoft Azure Event Grid Client Library. +This package has been tested with Python 2.7, 3.5, 3.6, 3.7 and 3.8. +For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all). -This package has been tested with Python 2.7, 3.4, 3.5, 3.6 and 3.7. -For a more complete set of Azure libraries, see the -[azure sdk python release](https://aka.ms/azsdk/python/all). +# Usage -## Usage - -For code examples, see [Event -Grid](https://docs.microsoft.com/python/api/overview/azure/event-grid) +For code examples, see [Event Grid](https://docs.microsoft.com/python/api/overview/azure/event-grid) on docs.microsoft.com. -## Provide Feedback -If you encounter any bugs or have suggestions, please file an issue in -the [Issues](https://github.com/Azure/azure-sdk-for-python/issues) +# Provide Feedback + +If you encounter any bugs or have suggestions, please file an issue in the +[Issues](https://github.com/Azure/azure-sdk-for-python/issues) section of the project. -![image](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-eventgrid%2FREADME.png) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-eventgrid%2FREADME.png) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/__init__.py index 336c61d76ffd..6637f8f6b70c 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/__init__.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/__init__.py @@ -1,18 +1,17 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------- -from .event_grid_client import EventGridClient -from .version import VERSION - -__all__ = ['EventGridClient'] +from ._publisher_client import EventGridPublisherClient +from ._consumer import EventGridConsumer +from ._helpers import generate_shared_access_signature +from ._models import CloudEvent, CustomEvent, EventGridEvent, DeserializedEvent, StorageBlobCreatedEventData +from ._shared_access_signature_credential import EventGridSharedAccessSignatureCredential +from ._version import VERSION +__all__ = ['EventGridPublisherClient', 'EventGridConsumer', + 'CloudEvent', 'CustomEvent', 'DeserializedEvent', 'EventGridEvent', 'StorageBlobCreatedEventData', + 'generate_shared_access_signature', 'EventGridSharedAccessSignatureCredential'] __version__ = VERSION - diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_constants.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_constants.py new file mode 100644 index 000000000000..e762ff44804a --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_constants.py @@ -0,0 +1,9 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +EVENTGRID_KEY_HEADER = 'aeg-sas-key' +EVENTGRID_TOKEN_HEADER = 'aeg-sas-token' +DEFAULT_API_VERSION = "2018-01-01" +SAFE_ENCODE = '~()*!.\'' diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_consumer.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_consumer.py new file mode 100644 index 000000000000..def40ea69c4b --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_consumer.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING +import json +import six +import logging + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + +_LOGGER = logging.getLogger(__name__) + +from ._models import DeserializedEvent + +class EventGridConsumer(object): + """ + A consumer responsible for deserializing event handler messages, to allow for access to strongly typed Event objects. + """ + + def deserialize_event(self, event, **kwargs): + # type: (Union[str, dict, bytes]) -> models.DeserializedEvent + """Single event following CloudEvent/EventGridEvent schema will be parsed and returned as DeserializedEvent. + :param event: The event to be deserialized. + :type event: Union[str, dict, bytes] + :rtype: models.DeserializedEvent + + :raise: :class:`ValueError`, when events do not follow CloudEvent or EventGridEvent schema. + """ + encode = kwargs.pop('encoding', 'utf-8') + try: + if isinstance(event, six.binary_type): + event = json.loads(event.decode(encode)) + elif isinstance(event, six.string_types): + event = json.loads(event) + return DeserializedEvent(event) + except Exception as err: + _LOGGER.error('Error: cannot deserialize event. Event does not have a valid format. Event must be a string, dict, or bytes following the CloudEvent/EventGridEvent schema.') + _LOGGER.error('Your event: {}'.format(event)) + _LOGGER.error(err) + raise ValueError('Error: cannot deserialize event. Event does not have a valid format. Event must be a string, dict, or bytes following the CloudEvent/EventGridEvent schema.') diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_event_mappings.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_event_mappings.py new file mode 100644 index 000000000000..dc14a40bfacc --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_event_mappings.py @@ -0,0 +1,85 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +from ._generated import models + +_event_mappings = { + "Microsoft.AppConfiguration.KeyValueDeleted": models.AppConfigurationKeyValueDeletedEventData, + "Microsoft.AppConfiguration.KeyValueModified": models.AppConfigurationKeyValueModifiedEventData, + "Microsoft.ContainerRegistry.ImagePushed": models.ContainerRegistryImagePushedEventData, + "Microsoft.ContainerRegistry.ImageDeleted": models.ContainerRegistryImageDeletedEventData, + "Microsoft.ContainerRegistry.ChartDeleted": models.ContainerRegistryChartDeletedEventData, + "Microsoft.ContainerRegistry.ChartPushed": models.ContainerRegistryChartPushedEventData, + "Microsoft.Devices.DeviceCreated": models.IotHubDeviceCreatedEventData, + "Microsoft.Devices.DeviceDeleted": models.IotHubDeviceDeletedEventData, + "Microsoft.Devices.DeviceConnected": models.IotHubDeviceConnectedEventData, + "Microsoft.Devices.DeviceDisconnected": models.IotHubDeviceDisconnectedEventData, + "Microsoft.Devices.DeviceTelemetry": models.IotHubDeviceTelemetryEventData, + "Microsoft.EventGrid.SubscriptionValidationEvent": models.SubscriptionValidationEventData, + "Microsoft.EventGrid.SubscriptionDeletedEvent": models.SubscriptionDeletedEventData, + "Microsoft.EventHub.CaptureFileCreated": models.EventHubCaptureFileCreatedEventData, + "Microsoft.MachineLearningServices.DatasetDriftDetected": models.MachineLearningServicesDatasetDriftDetectedEventData, + "Microsoft.MachineLearningServices.ModelDeployed": models.MachineLearningServicesModelDeployedEventData, + "Microsoft.MachineLearningServices.ModelRegistered": models.MachineLearningServicesModelRegisteredEventData, + "Microsoft.MachineLearningServices.RunCompleted": models.MachineLearningServicesRunCompletedEventData, + "Microsoft.MachineLearningServices.RunStatusChanged": models.MachineLearningServicesRunStatusChangedEventData, + "Microsoft.Maps.GeofenceEntered": models.MapsGeofenceEnteredEventData, + "Microsoft.Maps.GeofenceExited": models.MapsGeofenceExitedEventData, + "Microsoft.Maps.GeofenceResult": models.MapsGeofenceResultEventData, + "Microsoft.Media.JobStateChange": models.MediaJobStateChangeEventData, + "Microsoft.Media.JobOutputStateChange": models.MediaJobOutputStateChangeEventData, + "Microsoft.Media.JobScheduled": models.MediaJobScheduledEventData, + "Microsoft.Media.JobProcessing": models.MediaJobProcessingEventData, + "Microsoft.Media.JobCanceling": models.MediaJobCancelingEventData, + "Microsoft.Media.JobFinished": models.MediaJobFinishedEventData, + "Microsoft.Media.JobCanceled": models.MediaJobCanceledEventData, + "Microsoft.Media.JobErrored": models.MediaJobErroredEventData, + "Microsoft.Media.JobOutputCanceled": models.MediaJobOutputCanceledEventData, + "Microsoft.Media.JobOutputCanceling": models.MediaJobOutputCancelingEventData, + "Microsoft.Media.JobOutputErrored": models.MediaJobOutputErroredEventData, + "Microsoft.Media.JobOutputFinished": models.MediaJobOutputFinishedEventData, + "Microsoft.Media.JobOutputProcessing": models.MediaJobOutputProcessingEventData, + "Microsoft.Media.JobOutputScheduled": models.MediaJobOutputScheduledEventData, + "Microsoft.Media.JobOutputProgress": models.MediaJobOutputProgressEventData, + "Microsoft.Media.LiveEventEncoderConnected": models.MediaLiveEventEncoderConnectedEventData, + "Microsoft.Media.LiveEventConnectionRejected": models.MediaLiveEventConnectionRejectedEventData, + "Microsoft.Media.LiveEventEncoderDisconnected": models.MediaLiveEventEncoderDisconnectedEventData, + "Microsoft.Media.LiveEventIncomingStreamReceived": models.MediaLiveEventIncomingStreamReceivedEventData, + "Microsoft.Media.LiveEventIncomingStreamsOutOfSync": models.MediaLiveEventIncomingStreamsOutOfSyncEventData, + "Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync": models.MediaLiveEventIncomingVideoStreamsOutOfSyncEventData, + "Microsoft.Media.LiveEventIncomingDataChunkDropped": models.MediaLiveEventIncomingDataChunkDroppedEventData, + "Microsoft.Media.LiveEventIngestHeartbeat": models.MediaLiveEventIngestHeartbeatEventData, + "Microsoft.Media.LiveEventTrackDiscontinuityDetected": models.MediaLiveEventTrackDiscontinuityDetectedEventData, + "Microsoft.Resources.ResourceWriteSuccess": models.ResourceWriteSuccessData, + "Microsoft.Resources.ResourceWriteFailure": models.ResourceWriteFailureData, + "Microsoft.Resources.ResourceWriteCancel": models.ResourceWriteCancelData, + "Microsoft.Resources.ResourceDeleteSuccess": models.ResourceDeleteSuccessData, + "Microsoft.Resources.ResourceDeleteFailure": models.ResourceDeleteFailureData, + "Microsoft.Resources.ResourceDeleteCancel": models.ResourceDeleteCancelData, + "Microsoft.Resources.ResourceActionSuccess": models.ResourceActionSuccessData, + "Microsoft.Resources.ResourceActionFailure": models.ResourceActionFailureData, + "Microsoft.Resources.ResourceActionCancel": models.ResourceActionCancelData, + "Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners": models.ServiceBusActiveMessagesAvailableWithNoListenersEventData, + "Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListener": models.ServiceBusDeadletterMessagesAvailableWithNoListenersEventData, + "Microsoft.Storage.BlobCreated": models.StorageBlobCreatedEventData, + "Microsoft.Storage.BlobDeleted": models.StorageBlobDeletedEventData, + "Microsoft.Storage.BlobRenamed": models.StorageBlobRenamedEventData, + "Microsoft.Storage.DirectoryCreated": models.StorageDirectoryCreatedEventData, + "Microsoft.Storage.DirectoryDeleted": models.StorageDirectoryDeletedEventData, + "Microsoft.Storage.DirectoryRenamed": models.StorageDirectoryRenamedEventData, + "Microsoft.Storage.LifecyclePolicyCompleted": models.StorageLifecyclePolicyCompletedEventData, + "Microsoft.Web.AppUpdated": models.WebAppUpdatedEventData, + "Microsoft.Web.BackupOperationStarted": models.WebBackupOperationStartedEventData, + "Microsoft.Web.BackupOperationCompleted": models.WebBackupOperationCompletedEventData, + "Microsoft.Web.BackupOperationFailed": models.WebBackupOperationFailedEventData, + "Microsoft.Web.RestoreOperationStarted": models.WebRestoreOperationStartedEventData, + "Microsoft.Web.RestoreOperationCompleted": models.WebRestoreOperationCompletedEventData, + "Microsoft.Web.RestoreOperationFailed": models.WebRestoreOperationFailedEventData, + "Microsoft.Web.SlotSwapStarted": models.WebSlotSwapStartedEventData, + "Microsoft.Web.SlotSwapCompleted": models.WebSlotSwapCompletedEventData, + "Microsoft.Web.SlotSwapFailed": models.WebSlotSwapFailedEventData, + "Microsoft.Web.SlotSwapWithPreviewStarted": models.WebSlotSwapWithPreviewStartedEventData, + "Microsoft.Web.SlotSwapWithPreviewCancelled": models.WebSlotSwapWithPreviewCancelledEventData, + "Microsoft.Web.AppServicePlanUpdated": models.WebAppServicePlanUpdatedEventData, +} \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/__init__.py new file mode 100644 index 000000000000..54198998f87f --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._event_grid_publisher_client import EventGridPublisherClient +__all__ = ['EventGridPublisherClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/_configuration.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/_configuration.py similarity index 76% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/_configuration.py rename to sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/_configuration.py index 2a23ee76017d..10b08816d1b6 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/_configuration.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/_configuration.py @@ -17,29 +17,23 @@ VERSION = "unknown" -class SearchServiceClientConfiguration(Configuration): - """Configuration for SearchServiceClient. +class EventGridPublisherClientConfiguration(Configuration): + """Configuration for EventGridPublisherClient. Note that all parameters used to create this instance are saved as instance attributes. - :param endpoint: The endpoint URL of the search service. - :type endpoint: str """ def __init__( self, - endpoint, # type: str **kwargs # type: Any ): # type: (...) -> None - if endpoint is None: - raise ValueError("Parameter 'endpoint' must not be None.") - super(SearchServiceClientConfiguration, self).__init__(**kwargs) + super(EventGridPublisherClientConfiguration, self).__init__(**kwargs) - self.endpoint = endpoint - self.api_version = "2020-06-30" - kwargs.setdefault('sdk_moniker', 'searchserviceclient/{}'.format(VERSION)) + self.api_version = "2018-01-01" + kwargs.setdefault('sdk_moniker', 'eventgridpublisherclient/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -51,6 +45,7 @@ def _configure( self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/_search_service_client.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/_event_grid_publisher_client.py similarity index 58% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/_search_service_client.py rename to sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/_event_grid_publisher_client.py index 402639609341..48b2bba0ac58 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/_search_service_client.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/_event_grid_publisher_client.py @@ -8,53 +8,43 @@ from typing import TYPE_CHECKING -from msrest import Deserializer, Serializer from azure.core import PipelineClient - -from ._configuration import SearchServiceClientConfiguration -from .operations import IndexesOperations -from .operations import SearchServiceClientOperationsMixin -from . import models +from msrest import Deserializer, Serializer if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from typing import Any +from ._configuration import EventGridPublisherClientConfiguration +from .operations import EventGridPublisherClientOperationsMixin +from . import models -class SearchServiceClient(SearchServiceClientOperationsMixin): - """Client that can be used to manage and query indexes and documents, - as well as manage other resources, on a search service. +class EventGridPublisherClient(EventGridPublisherClientOperationsMixin): + """EventGrid Python Publisher Client. - :param endpoint: The endpoint URL of the search service. - :type endpoint: str - :keyword int polling_interval: Default waiting time between two polls - for LRO operations if no Retry-After header is present. """ def __init__( self, - endpoint, # type: str **kwargs # type: Any - ): # pylint: disable=missing-client-constructor-parameter-credential + ): # type: (...) -> None - base_url = '{endpoint}' - self._config = SearchServiceClientConfiguration(endpoint, **kwargs) + base_url = 'https://{topicHostname}' + self._config = EventGridPublisherClientConfiguration(**kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) - self.indexes = IndexesOperations( - self._client, self._config, self._serialize, self._deserialize) def close(self): # type: () -> None self._client.close() def __enter__(self): - # type: () -> SearchServiceClient + # type: () -> EventGridPublisherClient self._client.__enter__() return self diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/__init__.py new file mode 100644 index 000000000000..6a44d89d724a --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._event_grid_publisher_client_async import EventGridPublisherClient +__all__ = ['EventGridPublisherClient'] diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/_configuration_async.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/_configuration_async.py similarity index 75% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/_configuration_async.py rename to sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/_configuration_async.py index 8d0da5ed7352..2fe719e6da1c 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/_configuration_async.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/_configuration_async.py @@ -13,28 +13,22 @@ VERSION = "unknown" -class SearchServiceClientConfiguration(Configuration): - """Configuration for SearchServiceClient. +class EventGridPublisherClientConfiguration(Configuration): + """Configuration for EventGridPublisherClient. Note that all parameters used to create this instance are saved as instance attributes. - :param endpoint: The endpoint URL of the search service. - :type endpoint: str """ def __init__( self, - endpoint: str, **kwargs: Any ) -> None: - if endpoint is None: - raise ValueError("Parameter 'endpoint' must not be None.") - super(SearchServiceClientConfiguration, self).__init__(**kwargs) + super(EventGridPublisherClientConfiguration, self).__init__(**kwargs) - self.endpoint = endpoint - self.api_version = "2020-06-30" - kwargs.setdefault('sdk_moniker', 'searchserviceclient/{}'.format(VERSION)) + self.api_version = "2018-01-01" + kwargs.setdefault('sdk_moniker', 'eventgridpublisherclient/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -45,6 +39,7 @@ def _configure( self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/_event_grid_publisher_client_async.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/_event_grid_publisher_client_async.py new file mode 100644 index 000000000000..acd4bdd2a0ea --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/_event_grid_publisher_client_async.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import EventGridPublisherClientConfiguration +from .operations_async import EventGridPublisherClientOperationsMixin +from .. import models + + +class EventGridPublisherClient(EventGridPublisherClientOperationsMixin): + """EventGrid Python Publisher Client. + + """ + + def __init__( + self, + **kwargs: Any + ) -> None: + base_url = 'https://{topicHostname}' + self._config = EventGridPublisherClientConfiguration(**kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "EventGridPublisherClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/operations_async/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/operations_async/__init__.py new file mode 100644 index 000000000000..f0c46bab822e --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/operations_async/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._event_grid_publisher_client_operations_async import EventGridPublisherClientOperationsMixin + +__all__ = [ + 'EventGridPublisherClientOperationsMixin', +] diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/operations_async/_event_grid_publisher_client_operations_async.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/operations_async/_event_grid_publisher_client_operations_async.py new file mode 100644 index 000000000000..15c54919f3af --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/aio/operations_async/_event_grid_publisher_client_operations_async.py @@ -0,0 +1,185 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class EventGridPublisherClientOperationsMixin: + + async def publish_events( + self, + topic_hostname: str, + events: List["models.EventGridEvent"], + **kwargs + ) -> None: + """Publishes a batch of events to an Azure Event Grid topic. + + :param topic_hostname: The host name of the topic, e.g. topic1.westus2-1.eventgrid.azure.net. + :type topic_hostname: str + :param events: An array of events to be published to Event Grid. + :type events: list[~event_grid_publisher_client.models.EventGridEvent] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-01-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.publish_events.metadata['url'] # type: ignore + path_format_arguments = { + 'topicHostname': self._serialize.url("topic_hostname", topic_hostname, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(events, '[EventGridEvent]') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response) + + if cls: + return cls(pipeline_response, None, {}) + + publish_events.metadata = {'url': '/api/events'} # type: ignore + + async def publish_cloud_event_events( + self, + topic_hostname: str, + events: List["models.CloudEvent"], + **kwargs + ) -> None: + """Publishes a batch of events to an Azure Event Grid topic. + + :param topic_hostname: The host name of the topic, e.g. topic1.westus2-1.eventgrid.azure.net. + :type topic_hostname: str + :param events: An array of events to be published to Event Grid. + :type events: list[~event_grid_publisher_client.models.CloudEvent] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-01-01" + content_type = kwargs.pop("content_type", "application/cloudevents-batch+json; charset=utf-8") + + # Construct URL + url = self.publish_cloud_event_events.metadata['url'] # type: ignore + path_format_arguments = { + 'topicHostname': self._serialize.url("topic_hostname", topic_hostname, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(events, '[CloudEvent]') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response) + + if cls: + return cls(pipeline_response, None, {}) + + publish_cloud_event_events.metadata = {'url': '/api/events'} # type: ignore + + async def publish_custom_event_events( + self, + topic_hostname: str, + events: List[object], + **kwargs + ) -> None: + """Publishes a batch of events to an Azure Event Grid topic. + + :param topic_hostname: The host name of the topic, e.g. topic1.westus2-1.eventgrid.azure.net. + :type topic_hostname: str + :param events: An array of events to be published to Event Grid. + :type events: list[object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-01-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.publish_custom_event_events.metadata['url'] # type: ignore + path_format_arguments = { + 'topicHostname': self._serialize.url("topic_hostname", topic_hostname, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(events, '[object]') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response) + + if cls: + return cls(pipeline_response, None, {}) + + publish_custom_event_events.metadata = {'url': '/api/events'} # type: ignore diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/__init__.py new file mode 100644 index 000000000000..884541520e44 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/__init__.py @@ -0,0 +1,443 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AppConfigurationKeyValueDeletedEventData + from ._models_py3 import AppConfigurationKeyValueModifiedEventData + from ._models_py3 import AppEventTypeDetail + from ._models_py3 import AppServicePlanEventTypeDetail + from ._models_py3 import ChatEventBaseProperties + from ._models_py3 import ChatMemberAddedToThreadWithUserEventData + from ._models_py3 import ChatMemberRemovedFromThreadForWithUserEventData + from ._models_py3 import ChatMessageDeletedEventData + from ._models_py3 import ChatMessageEditedEventData + from ._models_py3 import ChatMessageEventBaseProperties + from ._models_py3 import ChatMessageReceivedEventData + from ._models_py3 import ChatThreadCreatedWithUserEventData + from ._models_py3 import ChatThreadEventBaseProperties + from ._models_py3 import ChatThreadMemberProperties + from ._models_py3 import ChatThreadPropertiesUpdatedPerUserEventData + from ._models_py3 import ChatThreadWithUserDeletedEventData + from ._models_py3 import CloudEvent + from ._models_py3 import ContainerRegistryArtifactEventData + from ._models_py3 import ContainerRegistryArtifactEventTarget + from ._models_py3 import ContainerRegistryChartDeletedEventData + from ._models_py3 import ContainerRegistryChartPushedEventData + from ._models_py3 import ContainerRegistryEventActor + from ._models_py3 import ContainerRegistryEventData + from ._models_py3 import ContainerRegistryEventRequest + from ._models_py3 import ContainerRegistryEventSource + from ._models_py3 import ContainerRegistryEventTarget + from ._models_py3 import ContainerRegistryImageDeletedEventData + from ._models_py3 import ContainerRegistryImagePushedEventData + from ._models_py3 import DeviceConnectionStateEventInfo + from ._models_py3 import DeviceConnectionStateEventProperties + from ._models_py3 import DeviceLifeCycleEventProperties + from ._models_py3 import DeviceTelemetryEventProperties + from ._models_py3 import DeviceTwinInfo + from ._models_py3 import DeviceTwinInfoProperties + from ._models_py3 import DeviceTwinInfoX509Thumbprint + from ._models_py3 import DeviceTwinMetadata + from ._models_py3 import DeviceTwinProperties + from ._models_py3 import EventGridEvent + from ._models_py3 import EventHubCaptureFileCreatedEventData + from ._models_py3 import IotHubDeviceConnectedEventData + from ._models_py3 import IotHubDeviceCreatedEventData + from ._models_py3 import IotHubDeviceDeletedEventData + from ._models_py3 import IotHubDeviceDisconnectedEventData + from ._models_py3 import IotHubDeviceTelemetryEventData + from ._models_py3 import KeyVaultCertificateExpiredEventData + from ._models_py3 import KeyVaultCertificateNearExpiryEventData + from ._models_py3 import KeyVaultCertificateNewVersionCreatedEventData + from ._models_py3 import KeyVaultKeyExpiredEventData + from ._models_py3 import KeyVaultKeyNearExpiryEventData + from ._models_py3 import KeyVaultKeyNewVersionCreatedEventData + from ._models_py3 import KeyVaultSecretExpiredEventData + from ._models_py3 import KeyVaultSecretNearExpiryEventData + from ._models_py3 import KeyVaultSecretNewVersionCreatedEventData + from ._models_py3 import MachineLearningServicesDatasetDriftDetectedEventData + from ._models_py3 import MachineLearningServicesModelDeployedEventData + from ._models_py3 import MachineLearningServicesModelRegisteredEventData + from ._models_py3 import MachineLearningServicesRunCompletedEventData + from ._models_py3 import MachineLearningServicesRunStatusChangedEventData + from ._models_py3 import MapsGeofenceEnteredEventData + from ._models_py3 import MapsGeofenceEventProperties + from ._models_py3 import MapsGeofenceExitedEventData + from ._models_py3 import MapsGeofenceGeometry + from ._models_py3 import MapsGeofenceResultEventData + from ._models_py3 import MediaJobCanceledEventData + from ._models_py3 import MediaJobCancelingEventData + from ._models_py3 import MediaJobError + from ._models_py3 import MediaJobErrorDetail + from ._models_py3 import MediaJobErroredEventData + from ._models_py3 import MediaJobFinishedEventData + from ._models_py3 import MediaJobOutput + from ._models_py3 import MediaJobOutputAsset + from ._models_py3 import MediaJobOutputCanceledEventData + from ._models_py3 import MediaJobOutputCancelingEventData + from ._models_py3 import MediaJobOutputErroredEventData + from ._models_py3 import MediaJobOutputFinishedEventData + from ._models_py3 import MediaJobOutputProcessingEventData + from ._models_py3 import MediaJobOutputProgressEventData + from ._models_py3 import MediaJobOutputScheduledEventData + from ._models_py3 import MediaJobOutputStateChangeEventData + from ._models_py3 import MediaJobProcessingEventData + from ._models_py3 import MediaJobScheduledEventData + from ._models_py3 import MediaJobStateChangeEventData + from ._models_py3 import MediaLiveEventConnectionRejectedEventData + from ._models_py3 import MediaLiveEventEncoderConnectedEventData + from ._models_py3 import MediaLiveEventEncoderDisconnectedEventData + from ._models_py3 import MediaLiveEventIncomingDataChunkDroppedEventData + from ._models_py3 import MediaLiveEventIncomingStreamReceivedEventData + from ._models_py3 import MediaLiveEventIncomingStreamsOutOfSyncEventData + from ._models_py3 import MediaLiveEventIncomingVideoStreamsOutOfSyncEventData + from ._models_py3 import MediaLiveEventIngestHeartbeatEventData + from ._models_py3 import MediaLiveEventTrackDiscontinuityDetectedEventData + from ._models_py3 import RedisExportRDBCompletedEventData + from ._models_py3 import RedisImportRDBCompletedEventData + from ._models_py3 import RedisPatchingCompletedEventData + from ._models_py3 import RedisScalingCompletedEventData + from ._models_py3 import ResourceActionCancelData + from ._models_py3 import ResourceActionFailureData + from ._models_py3 import ResourceActionSuccessData + from ._models_py3 import ResourceDeleteCancelData + from ._models_py3 import ResourceDeleteFailureData + from ._models_py3 import ResourceDeleteSuccessData + from ._models_py3 import ResourceWriteCancelData + from ._models_py3 import ResourceWriteFailureData + from ._models_py3 import ResourceWriteSuccessData + from ._models_py3 import SMSDeliveryAttemptProperties + from ._models_py3 import SMSDeliveryReportReceivedEventData + from ._models_py3 import SMSEventBaseProperties + from ._models_py3 import SMSReceivedEventData + from ._models_py3 import ServiceBusActiveMessagesAvailableWithNoListenersEventData + from ._models_py3 import ServiceBusDeadletterMessagesAvailableWithNoListenersEventData + from ._models_py3 import SignalRServiceClientConnectionConnectedEventData + from ._models_py3 import SignalRServiceClientConnectionDisconnectedEventData + from ._models_py3 import StorageBlobCreatedEventData + from ._models_py3 import StorageBlobDeletedEventData + from ._models_py3 import StorageBlobRenamedEventData + from ._models_py3 import StorageDirectoryCreatedEventData + from ._models_py3 import StorageDirectoryDeletedEventData + from ._models_py3 import StorageDirectoryRenamedEventData + from ._models_py3 import StorageLifecyclePolicyActionSummaryDetail + from ._models_py3 import StorageLifecyclePolicyCompletedEventData + from ._models_py3 import SubscriptionDeletedEventData + from ._models_py3 import SubscriptionValidationEventData + from ._models_py3 import SubscriptionValidationResponse + from ._models_py3 import WebAppServicePlanUpdatedEventData + from ._models_py3 import WebAppServicePlanUpdatedEventDataSku + from ._models_py3 import WebAppUpdatedEventData + from ._models_py3 import WebBackupOperationCompletedEventData + from ._models_py3 import WebBackupOperationFailedEventData + from ._models_py3 import WebBackupOperationStartedEventData + from ._models_py3 import WebRestoreOperationCompletedEventData + from ._models_py3 import WebRestoreOperationFailedEventData + from ._models_py3 import WebRestoreOperationStartedEventData + from ._models_py3 import WebSlotSwapCompletedEventData + from ._models_py3 import WebSlotSwapFailedEventData + from ._models_py3 import WebSlotSwapStartedEventData + from ._models_py3 import WebSlotSwapWithPreviewCancelledEventData + from ._models_py3 import WebSlotSwapWithPreviewStartedEventData +except (SyntaxError, ImportError): + from ._models import AppConfigurationKeyValueDeletedEventData # type: ignore + from ._models import AppConfigurationKeyValueModifiedEventData # type: ignore + from ._models import AppEventTypeDetail # type: ignore + from ._models import AppServicePlanEventTypeDetail # type: ignore + from ._models import ChatEventBaseProperties # type: ignore + from ._models import ChatMemberAddedToThreadWithUserEventData # type: ignore + from ._models import ChatMemberRemovedFromThreadForWithUserEventData # type: ignore + from ._models import ChatMessageDeletedEventData # type: ignore + from ._models import ChatMessageEditedEventData # type: ignore + from ._models import ChatMessageEventBaseProperties # type: ignore + from ._models import ChatMessageReceivedEventData # type: ignore + from ._models import ChatThreadCreatedWithUserEventData # type: ignore + from ._models import ChatThreadEventBaseProperties # type: ignore + from ._models import ChatThreadMemberProperties # type: ignore + from ._models import ChatThreadPropertiesUpdatedPerUserEventData # type: ignore + from ._models import ChatThreadWithUserDeletedEventData # type: ignore + from ._models import CloudEvent # type: ignore + from ._models import ContainerRegistryArtifactEventData # type: ignore + from ._models import ContainerRegistryArtifactEventTarget # type: ignore + from ._models import ContainerRegistryChartDeletedEventData # type: ignore + from ._models import ContainerRegistryChartPushedEventData # type: ignore + from ._models import ContainerRegistryEventActor # type: ignore + from ._models import ContainerRegistryEventData # type: ignore + from ._models import ContainerRegistryEventRequest # type: ignore + from ._models import ContainerRegistryEventSource # type: ignore + from ._models import ContainerRegistryEventTarget # type: ignore + from ._models import ContainerRegistryImageDeletedEventData # type: ignore + from ._models import ContainerRegistryImagePushedEventData # type: ignore + from ._models import DeviceConnectionStateEventInfo # type: ignore + from ._models import DeviceConnectionStateEventProperties # type: ignore + from ._models import DeviceLifeCycleEventProperties # type: ignore + from ._models import DeviceTelemetryEventProperties # type: ignore + from ._models import DeviceTwinInfo # type: ignore + from ._models import DeviceTwinInfoProperties # type: ignore + from ._models import DeviceTwinInfoX509Thumbprint # type: ignore + from ._models import DeviceTwinMetadata # type: ignore + from ._models import DeviceTwinProperties # type: ignore + from ._models import EventGridEvent # type: ignore + from ._models import EventHubCaptureFileCreatedEventData # type: ignore + from ._models import IotHubDeviceConnectedEventData # type: ignore + from ._models import IotHubDeviceCreatedEventData # type: ignore + from ._models import IotHubDeviceDeletedEventData # type: ignore + from ._models import IotHubDeviceDisconnectedEventData # type: ignore + from ._models import IotHubDeviceTelemetryEventData # type: ignore + from ._models import KeyVaultCertificateExpiredEventData # type: ignore + from ._models import KeyVaultCertificateNearExpiryEventData # type: ignore + from ._models import KeyVaultCertificateNewVersionCreatedEventData # type: ignore + from ._models import KeyVaultKeyExpiredEventData # type: ignore + from ._models import KeyVaultKeyNearExpiryEventData # type: ignore + from ._models import KeyVaultKeyNewVersionCreatedEventData # type: ignore + from ._models import KeyVaultSecretExpiredEventData # type: ignore + from ._models import KeyVaultSecretNearExpiryEventData # type: ignore + from ._models import KeyVaultSecretNewVersionCreatedEventData # type: ignore + from ._models import MachineLearningServicesDatasetDriftDetectedEventData # type: ignore + from ._models import MachineLearningServicesModelDeployedEventData # type: ignore + from ._models import MachineLearningServicesModelRegisteredEventData # type: ignore + from ._models import MachineLearningServicesRunCompletedEventData # type: ignore + from ._models import MachineLearningServicesRunStatusChangedEventData # type: ignore + from ._models import MapsGeofenceEnteredEventData # type: ignore + from ._models import MapsGeofenceEventProperties # type: ignore + from ._models import MapsGeofenceExitedEventData # type: ignore + from ._models import MapsGeofenceGeometry # type: ignore + from ._models import MapsGeofenceResultEventData # type: ignore + from ._models import MediaJobCanceledEventData # type: ignore + from ._models import MediaJobCancelingEventData # type: ignore + from ._models import MediaJobError # type: ignore + from ._models import MediaJobErrorDetail # type: ignore + from ._models import MediaJobErroredEventData # type: ignore + from ._models import MediaJobFinishedEventData # type: ignore + from ._models import MediaJobOutput # type: ignore + from ._models import MediaJobOutputAsset # type: ignore + from ._models import MediaJobOutputCanceledEventData # type: ignore + from ._models import MediaJobOutputCancelingEventData # type: ignore + from ._models import MediaJobOutputErroredEventData # type: ignore + from ._models import MediaJobOutputFinishedEventData # type: ignore + from ._models import MediaJobOutputProcessingEventData # type: ignore + from ._models import MediaJobOutputProgressEventData # type: ignore + from ._models import MediaJobOutputScheduledEventData # type: ignore + from ._models import MediaJobOutputStateChangeEventData # type: ignore + from ._models import MediaJobProcessingEventData # type: ignore + from ._models import MediaJobScheduledEventData # type: ignore + from ._models import MediaJobStateChangeEventData # type: ignore + from ._models import MediaLiveEventConnectionRejectedEventData # type: ignore + from ._models import MediaLiveEventEncoderConnectedEventData # type: ignore + from ._models import MediaLiveEventEncoderDisconnectedEventData # type: ignore + from ._models import MediaLiveEventIncomingDataChunkDroppedEventData # type: ignore + from ._models import MediaLiveEventIncomingStreamReceivedEventData # type: ignore + from ._models import MediaLiveEventIncomingStreamsOutOfSyncEventData # type: ignore + from ._models import MediaLiveEventIncomingVideoStreamsOutOfSyncEventData # type: ignore + from ._models import MediaLiveEventIngestHeartbeatEventData # type: ignore + from ._models import MediaLiveEventTrackDiscontinuityDetectedEventData # type: ignore + from ._models import RedisExportRDBCompletedEventData # type: ignore + from ._models import RedisImportRDBCompletedEventData # type: ignore + from ._models import RedisPatchingCompletedEventData # type: ignore + from ._models import RedisScalingCompletedEventData # type: ignore + from ._models import ResourceActionCancelData # type: ignore + from ._models import ResourceActionFailureData # type: ignore + from ._models import ResourceActionSuccessData # type: ignore + from ._models import ResourceDeleteCancelData # type: ignore + from ._models import ResourceDeleteFailureData # type: ignore + from ._models import ResourceDeleteSuccessData # type: ignore + from ._models import ResourceWriteCancelData # type: ignore + from ._models import ResourceWriteFailureData # type: ignore + from ._models import ResourceWriteSuccessData # type: ignore + from ._models import SMSDeliveryAttemptProperties # type: ignore + from ._models import SMSDeliveryReportReceivedEventData # type: ignore + from ._models import SMSEventBaseProperties # type: ignore + from ._models import SMSReceivedEventData # type: ignore + from ._models import ServiceBusActiveMessagesAvailableWithNoListenersEventData # type: ignore + from ._models import ServiceBusDeadletterMessagesAvailableWithNoListenersEventData # type: ignore + from ._models import SignalRServiceClientConnectionConnectedEventData # type: ignore + from ._models import SignalRServiceClientConnectionDisconnectedEventData # type: ignore + from ._models import StorageBlobCreatedEventData # type: ignore + from ._models import StorageBlobDeletedEventData # type: ignore + from ._models import StorageBlobRenamedEventData # type: ignore + from ._models import StorageDirectoryCreatedEventData # type: ignore + from ._models import StorageDirectoryDeletedEventData # type: ignore + from ._models import StorageDirectoryRenamedEventData # type: ignore + from ._models import StorageLifecyclePolicyActionSummaryDetail # type: ignore + from ._models import StorageLifecyclePolicyCompletedEventData # type: ignore + from ._models import SubscriptionDeletedEventData # type: ignore + from ._models import SubscriptionValidationEventData # type: ignore + from ._models import SubscriptionValidationResponse # type: ignore + from ._models import WebAppServicePlanUpdatedEventData # type: ignore + from ._models import WebAppServicePlanUpdatedEventDataSku # type: ignore + from ._models import WebAppUpdatedEventData # type: ignore + from ._models import WebBackupOperationCompletedEventData # type: ignore + from ._models import WebBackupOperationFailedEventData # type: ignore + from ._models import WebBackupOperationStartedEventData # type: ignore + from ._models import WebRestoreOperationCompletedEventData # type: ignore + from ._models import WebRestoreOperationFailedEventData # type: ignore + from ._models import WebRestoreOperationStartedEventData # type: ignore + from ._models import WebSlotSwapCompletedEventData # type: ignore + from ._models import WebSlotSwapFailedEventData # type: ignore + from ._models import WebSlotSwapStartedEventData # type: ignore + from ._models import WebSlotSwapWithPreviewCancelledEventData # type: ignore + from ._models import WebSlotSwapWithPreviewStartedEventData # type: ignore + +from ._event_grid_publisher_client_enums import ( + AppAction, + AppServicePlanAction, + AsyncStatus, + MediaJobErrorCategory, + MediaJobErrorCode, + MediaJobRetry, + MediaJobState, + StampKind, +) + +__all__ = [ + 'AppConfigurationKeyValueDeletedEventData', + 'AppConfigurationKeyValueModifiedEventData', + 'AppEventTypeDetail', + 'AppServicePlanEventTypeDetail', + 'ChatEventBaseProperties', + 'ChatMemberAddedToThreadWithUserEventData', + 'ChatMemberRemovedFromThreadForWithUserEventData', + 'ChatMessageDeletedEventData', + 'ChatMessageEditedEventData', + 'ChatMessageEventBaseProperties', + 'ChatMessageReceivedEventData', + 'ChatThreadCreatedWithUserEventData', + 'ChatThreadEventBaseProperties', + 'ChatThreadMemberProperties', + 'ChatThreadPropertiesUpdatedPerUserEventData', + 'ChatThreadWithUserDeletedEventData', + 'CloudEvent', + 'ContainerRegistryArtifactEventData', + 'ContainerRegistryArtifactEventTarget', + 'ContainerRegistryChartDeletedEventData', + 'ContainerRegistryChartPushedEventData', + 'ContainerRegistryEventActor', + 'ContainerRegistryEventData', + 'ContainerRegistryEventRequest', + 'ContainerRegistryEventSource', + 'ContainerRegistryEventTarget', + 'ContainerRegistryImageDeletedEventData', + 'ContainerRegistryImagePushedEventData', + 'DeviceConnectionStateEventInfo', + 'DeviceConnectionStateEventProperties', + 'DeviceLifeCycleEventProperties', + 'DeviceTelemetryEventProperties', + 'DeviceTwinInfo', + 'DeviceTwinInfoProperties', + 'DeviceTwinInfoX509Thumbprint', + 'DeviceTwinMetadata', + 'DeviceTwinProperties', + 'EventGridEvent', + 'EventHubCaptureFileCreatedEventData', + 'IotHubDeviceConnectedEventData', + 'IotHubDeviceCreatedEventData', + 'IotHubDeviceDeletedEventData', + 'IotHubDeviceDisconnectedEventData', + 'IotHubDeviceTelemetryEventData', + 'KeyVaultCertificateExpiredEventData', + 'KeyVaultCertificateNearExpiryEventData', + 'KeyVaultCertificateNewVersionCreatedEventData', + 'KeyVaultKeyExpiredEventData', + 'KeyVaultKeyNearExpiryEventData', + 'KeyVaultKeyNewVersionCreatedEventData', + 'KeyVaultSecretExpiredEventData', + 'KeyVaultSecretNearExpiryEventData', + 'KeyVaultSecretNewVersionCreatedEventData', + 'MachineLearningServicesDatasetDriftDetectedEventData', + 'MachineLearningServicesModelDeployedEventData', + 'MachineLearningServicesModelRegisteredEventData', + 'MachineLearningServicesRunCompletedEventData', + 'MachineLearningServicesRunStatusChangedEventData', + 'MapsGeofenceEnteredEventData', + 'MapsGeofenceEventProperties', + 'MapsGeofenceExitedEventData', + 'MapsGeofenceGeometry', + 'MapsGeofenceResultEventData', + 'MediaJobCanceledEventData', + 'MediaJobCancelingEventData', + 'MediaJobError', + 'MediaJobErrorDetail', + 'MediaJobErroredEventData', + 'MediaJobFinishedEventData', + 'MediaJobOutput', + 'MediaJobOutputAsset', + 'MediaJobOutputCanceledEventData', + 'MediaJobOutputCancelingEventData', + 'MediaJobOutputErroredEventData', + 'MediaJobOutputFinishedEventData', + 'MediaJobOutputProcessingEventData', + 'MediaJobOutputProgressEventData', + 'MediaJobOutputScheduledEventData', + 'MediaJobOutputStateChangeEventData', + 'MediaJobProcessingEventData', + 'MediaJobScheduledEventData', + 'MediaJobStateChangeEventData', + 'MediaLiveEventConnectionRejectedEventData', + 'MediaLiveEventEncoderConnectedEventData', + 'MediaLiveEventEncoderDisconnectedEventData', + 'MediaLiveEventIncomingDataChunkDroppedEventData', + 'MediaLiveEventIncomingStreamReceivedEventData', + 'MediaLiveEventIncomingStreamsOutOfSyncEventData', + 'MediaLiveEventIncomingVideoStreamsOutOfSyncEventData', + 'MediaLiveEventIngestHeartbeatEventData', + 'MediaLiveEventTrackDiscontinuityDetectedEventData', + 'RedisExportRDBCompletedEventData', + 'RedisImportRDBCompletedEventData', + 'RedisPatchingCompletedEventData', + 'RedisScalingCompletedEventData', + 'ResourceActionCancelData', + 'ResourceActionFailureData', + 'ResourceActionSuccessData', + 'ResourceDeleteCancelData', + 'ResourceDeleteFailureData', + 'ResourceDeleteSuccessData', + 'ResourceWriteCancelData', + 'ResourceWriteFailureData', + 'ResourceWriteSuccessData', + 'SMSDeliveryAttemptProperties', + 'SMSDeliveryReportReceivedEventData', + 'SMSEventBaseProperties', + 'SMSReceivedEventData', + 'ServiceBusActiveMessagesAvailableWithNoListenersEventData', + 'ServiceBusDeadletterMessagesAvailableWithNoListenersEventData', + 'SignalRServiceClientConnectionConnectedEventData', + 'SignalRServiceClientConnectionDisconnectedEventData', + 'StorageBlobCreatedEventData', + 'StorageBlobDeletedEventData', + 'StorageBlobRenamedEventData', + 'StorageDirectoryCreatedEventData', + 'StorageDirectoryDeletedEventData', + 'StorageDirectoryRenamedEventData', + 'StorageLifecyclePolicyActionSummaryDetail', + 'StorageLifecyclePolicyCompletedEventData', + 'SubscriptionDeletedEventData', + 'SubscriptionValidationEventData', + 'SubscriptionValidationResponse', + 'WebAppServicePlanUpdatedEventData', + 'WebAppServicePlanUpdatedEventDataSku', + 'WebAppUpdatedEventData', + 'WebBackupOperationCompletedEventData', + 'WebBackupOperationFailedEventData', + 'WebBackupOperationStartedEventData', + 'WebRestoreOperationCompletedEventData', + 'WebRestoreOperationFailedEventData', + 'WebRestoreOperationStartedEventData', + 'WebSlotSwapCompletedEventData', + 'WebSlotSwapFailedEventData', + 'WebSlotSwapStartedEventData', + 'WebSlotSwapWithPreviewCancelledEventData', + 'WebSlotSwapWithPreviewStartedEventData', + 'AppAction', + 'AppServicePlanAction', + 'AsyncStatus', + 'MediaJobErrorCategory', + 'MediaJobErrorCode', + 'MediaJobRetry', + 'MediaJobState', + 'StampKind', +] diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_event_grid_publisher_client_enums.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_event_grid_publisher_client_enums.py new file mode 100644 index 000000000000..ae2189a9dc2b --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_event_grid_publisher_client_enums.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class AppAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of action of the operation. + """ + + RESTARTED = "Restarted" #: Web app was restarted. + STOPPED = "Stopped" #: Web app was stopped. + CHANGED_APP_SETTINGS = "ChangedAppSettings" #: There was an operation to change app setting on the web app. + STARTED = "Started" #: The job has started. + COMPLETED = "Completed" #: The job has completed. + FAILED = "Failed" #: The job has failed to complete. + +class AppServicePlanAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of action on the app service plan. + """ + + UPDATED = "Updated" #: App Service plan is being updated. + +class AsyncStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Asynchronous operation status of the operation on the app service plan. + """ + + STARTED = "Started" #: Async operation has started. + COMPLETED = "Completed" #: Async operation has completed. + FAILED = "Failed" #: Async operation failed to complete. + +class MediaJobErrorCategory(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Helps with categorization of errors. + """ + + SERVICE = "Service" #: The error is service related. + DOWNLOAD = "Download" #: The error is download related. + UPLOAD = "Upload" #: The error is upload related. + CONFIGURATION = "Configuration" #: The error is configuration related. + CONTENT = "Content" #: The error is related to data in the input files. + +class MediaJobErrorCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Error code describing the error. + """ + + SERVICE_ERROR = "ServiceError" #: Fatal service error, please contact support. + SERVICE_TRANSIENT_ERROR = "ServiceTransientError" #: Transient error, please retry, if retry is unsuccessful, please contact support. + DOWNLOAD_NOT_ACCESSIBLE = "DownloadNotAccessible" #: While trying to download the input files, the files were not accessible, please check the availability of the source. + DOWNLOAD_TRANSIENT_ERROR = "DownloadTransientError" #: While trying to download the input files, there was an issue during transfer (storage service, network errors), see details and check your source. + UPLOAD_NOT_ACCESSIBLE = "UploadNotAccessible" #: While trying to upload the output files, the destination was not reachable, please check the availability of the destination. + UPLOAD_TRANSIENT_ERROR = "UploadTransientError" #: While trying to upload the output files, there was an issue during transfer (storage service, network errors), see details and check your destination. + CONFIGURATION_UNSUPPORTED = "ConfigurationUnsupported" #: There was a problem with the combination of input files and the configuration settings applied, fix the configuration settings and retry with the same input, or change input to match the configuration. + CONTENT_MALFORMED = "ContentMalformed" #: There was a problem with the input content (for example: zero byte files, or corrupt/non-decodable files), check the input files. + CONTENT_UNSUPPORTED = "ContentUnsupported" #: There was a problem with the format of the input (not valid media file, or an unsupported file/codec), check the validity of the input files. + +class MediaJobRetry(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates that it may be possible to retry the Job. If retry is unsuccessful, please contact + Azure support via Azure Portal. + """ + + DO_NOT_RETRY = "DoNotRetry" #: Issue needs to be investigated and then the job resubmitted with corrections or retried once the underlying issue has been corrected. + MAY_RETRY = "MayRetry" #: Issue may be resolved after waiting for a period of time and resubmitting the same Job. + +class MediaJobState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The previous state of the Job. + """ + + CANCELED = "Canceled" #: The job was canceled. This is a final state for the job. + CANCELING = "Canceling" #: The job is in the process of being canceled. This is a transient state for the job. + ERROR = "Error" #: The job has encountered an error. This is a final state for the job. + FINISHED = "Finished" #: The job is finished. This is a final state for the job. + PROCESSING = "Processing" #: The job is processing. This is a transient state for the job. + QUEUED = "Queued" #: The job is in a queued state, waiting for resources to become available. This is a transient state. + SCHEDULED = "Scheduled" #: The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states. + +class StampKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Kind of environment where app service plan is. + """ + + PUBLIC = "Public" #: App Service Plan is running on a public stamp. + ASE_V1 = "AseV1" #: App Service Plan is running on an App Service Environment V1. + ASE_V2 = "AseV2" #: App Service Plan is running on an App Service Environment V2. diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_models.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_models.py new file mode 100644 index 000000000000..5562dadfd074 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_models.py @@ -0,0 +1,5528 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import msrest.serialization + + +class AppConfigurationKeyValueDeletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.AppConfiguration.KeyValueDeleted event. + + :param key: The key used to identify the key-value that was deleted. + :type key: str + :param label: The label, if any, used to identify the key-value that was deleted. + :type label: str + :param etag: The etag representing the key-value that was deleted. + :type etag: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AppConfigurationKeyValueDeletedEventData, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.label = kwargs.get('label', None) + self.etag = kwargs.get('etag', None) + + +class AppConfigurationKeyValueModifiedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.AppConfiguration.KeyValueModified event. + + :param key: The key used to identify the key-value that was modified. + :type key: str + :param label: The label, if any, used to identify the key-value that was modified. + :type label: str + :param etag: The etag representing the new state of the key-value. + :type etag: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AppConfigurationKeyValueModifiedEventData, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.label = kwargs.get('label', None) + self.etag = kwargs.get('etag', None) + + +class AppEventTypeDetail(msrest.serialization.Model): + """Detail of action on the app. + + :param action: Type of action of the operation. Possible values include: "Restarted", + "Stopped", "ChangedAppSettings", "Started", "Completed", "Failed". + :type action: str or ~event_grid_publisher_client.models.AppAction + """ + + _attribute_map = { + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AppEventTypeDetail, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + + +class AppServicePlanEventTypeDetail(msrest.serialization.Model): + """Detail of action on the app service plan. + + :param stamp_kind: Kind of environment where app service plan is. Possible values include: + "Public", "AseV1", "AseV2". + :type stamp_kind: str or ~event_grid_publisher_client.models.StampKind + :param action: Type of action on the app service plan. Possible values include: "Updated". + :type action: str or ~event_grid_publisher_client.models.AppServicePlanAction + :param status: Asynchronous operation status of the operation on the app service plan. Possible + values include: "Started", "Completed", "Failed". + :type status: str or ~event_grid_publisher_client.models.AsyncStatus + """ + + _attribute_map = { + 'stamp_kind': {'key': 'stampKind', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AppServicePlanEventTypeDetail, self).__init__(**kwargs) + self.stamp_kind = kwargs.get('stamp_kind', None) + self.action = kwargs.get('action', None) + self.status = kwargs.get('status', None) + + +class ChatEventBaseProperties(msrest.serialization.Model): + """Schema of common properties of all chat events. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatEventBaseProperties, self).__init__(**kwargs) + self.recipient_id = kwargs.get('recipient_id', None) + self.transaction_id = kwargs.get('transaction_id', None) + self.thread_id = kwargs.get('thread_id', None) + + +class ChatThreadEventBaseProperties(ChatEventBaseProperties): + """Schema of common properties of all chat thread events. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatThreadEventBaseProperties, self).__init__(**kwargs) + self.create_time = kwargs.get('create_time', None) + self.version = kwargs.get('version', None) + + +class ChatMemberAddedToThreadWithUserEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMemberAddedToThreadWithUser event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param time: The time at which the user was added to the thread. + :type time: ~datetime.datetime + :param added_by: The MRI of the user who added the user. + :type added_by: str + :param member: The details of the user who was added. + :type member: ~event_grid_publisher_client.models.ChatThreadMemberProperties + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'added_by': {'key': 'addedBy', 'type': 'str'}, + 'member': {'key': 'member', 'type': 'ChatThreadMemberProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatMemberAddedToThreadWithUserEventData, self).__init__(**kwargs) + self.time = kwargs.get('time', None) + self.added_by = kwargs.get('added_by', None) + self.member = kwargs.get('member', None) + + +class ChatMemberRemovedFromThreadForWithUserEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMemberRemovedFromThreadForWithUser event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param time: The time at which the user was removed to the thread. + :type time: ~datetime.datetime + :param removed_by: The MRI of the user who removed the user. + :type removed_by: str + :param member: The details of the user who was removed. + :type member: ~event_grid_publisher_client.models.ChatThreadMemberProperties + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'removed_by': {'key': 'removedBy', 'type': 'str'}, + 'member': {'key': 'member', 'type': 'ChatThreadMemberProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatMemberRemovedFromThreadForWithUserEventData, self).__init__(**kwargs) + self.time = kwargs.get('time', None) + self.removed_by = kwargs.get('removed_by', None) + self.member = kwargs.get('member', None) + + +class ChatMessageEventBaseProperties(ChatEventBaseProperties): + """Schema of common properties of all chat message events. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param message_id: The chat message id. + :type message_id: str + :param collapse_id: The collapse id is used to identify the message threads. + :type collapse_id: str + :param client_message_id: The messaged Id generated by the sending client. + :type client_message_id: str + :param sender_id: The MRI of the sender. + :type sender_id: str + :param sender_display_name: The display name of the sender. + :type sender_display_name: str + :param compose_time: The original compose time of the message. + :type compose_time: ~datetime.datetime + :param message_type: The type of the message. + :type message_type: str + :param version: The version of the message. + :type version: int + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'collapse_id': {'key': 'collapseId', 'type': 'str'}, + 'client_message_id': {'key': 'clientMessageId', 'type': 'str'}, + 'sender_id': {'key': 'senderId', 'type': 'str'}, + 'sender_display_name': {'key': 'senderDisplayName', 'type': 'str'}, + 'compose_time': {'key': 'composeTime', 'type': 'iso-8601'}, + 'message_type': {'key': 'messageType', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatMessageEventBaseProperties, self).__init__(**kwargs) + self.message_id = kwargs.get('message_id', None) + self.collapse_id = kwargs.get('collapse_id', None) + self.client_message_id = kwargs.get('client_message_id', None) + self.sender_id = kwargs.get('sender_id', None) + self.sender_display_name = kwargs.get('sender_display_name', None) + self.compose_time = kwargs.get('compose_time', None) + self.message_type = kwargs.get('message_type', None) + self.version = kwargs.get('version', None) + + +class ChatMessageDeletedEventData(ChatMessageEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageDeleted event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param message_id: The chat message id. + :type message_id: str + :param collapse_id: The collapse id is used to identify the message threads. + :type collapse_id: str + :param client_message_id: The messaged Id generated by the sending client. + :type client_message_id: str + :param sender_id: The MRI of the sender. + :type sender_id: str + :param sender_display_name: The display name of the sender. + :type sender_display_name: str + :param compose_time: The original compose time of the message. + :type compose_time: ~datetime.datetime + :param message_type: The type of the message. + :type message_type: str + :param version: The version of the message. + :type version: int + :param delete_time: The time at which the message was deleted. + :type delete_time: ~datetime.datetime + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'collapse_id': {'key': 'collapseId', 'type': 'str'}, + 'client_message_id': {'key': 'clientMessageId', 'type': 'str'}, + 'sender_id': {'key': 'senderId', 'type': 'str'}, + 'sender_display_name': {'key': 'senderDisplayName', 'type': 'str'}, + 'compose_time': {'key': 'composeTime', 'type': 'iso-8601'}, + 'message_type': {'key': 'messageType', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + 'delete_time': {'key': 'deleteTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatMessageDeletedEventData, self).__init__(**kwargs) + self.delete_time = kwargs.get('delete_time', None) + + +class ChatMessageEditedEventData(ChatMessageEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageEdited event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param message_id: The chat message id. + :type message_id: str + :param collapse_id: The collapse id is used to identify the message threads. + :type collapse_id: str + :param client_message_id: The messaged Id generated by the sending client. + :type client_message_id: str + :param sender_id: The MRI of the sender. + :type sender_id: str + :param sender_display_name: The display name of the sender. + :type sender_display_name: str + :param compose_time: The original compose time of the message. + :type compose_time: ~datetime.datetime + :param message_type: The type of the message. + :type message_type: str + :param version: The version of the message. + :type version: int + :param message_body: The body of the chat message. + :type message_body: str + :param edit_time: The time at which the message was edited. + :type edit_time: ~datetime.datetime + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'collapse_id': {'key': 'collapseId', 'type': 'str'}, + 'client_message_id': {'key': 'clientMessageId', 'type': 'str'}, + 'sender_id': {'key': 'senderId', 'type': 'str'}, + 'sender_display_name': {'key': 'senderDisplayName', 'type': 'str'}, + 'compose_time': {'key': 'composeTime', 'type': 'iso-8601'}, + 'message_type': {'key': 'messageType', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + 'message_body': {'key': 'messageBody', 'type': 'str'}, + 'edit_time': {'key': 'editTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatMessageEditedEventData, self).__init__(**kwargs) + self.message_body = kwargs.get('message_body', None) + self.edit_time = kwargs.get('edit_time', None) + + +class ChatMessageReceivedEventData(ChatMessageEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageReceived event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param message_id: The chat message id. + :type message_id: str + :param collapse_id: The collapse id is used to identify the message threads. + :type collapse_id: str + :param client_message_id: The messaged Id generated by the sending client. + :type client_message_id: str + :param sender_id: The MRI of the sender. + :type sender_id: str + :param sender_display_name: The display name of the sender. + :type sender_display_name: str + :param compose_time: The original compose time of the message. + :type compose_time: ~datetime.datetime + :param message_type: The type of the message. + :type message_type: str + :param version: The version of the message. + :type version: int + :param message_body: The body of the chat message. + :type message_body: str + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'collapse_id': {'key': 'collapseId', 'type': 'str'}, + 'client_message_id': {'key': 'clientMessageId', 'type': 'str'}, + 'sender_id': {'key': 'senderId', 'type': 'str'}, + 'sender_display_name': {'key': 'senderDisplayName', 'type': 'str'}, + 'compose_time': {'key': 'composeTime', 'type': 'iso-8601'}, + 'message_type': {'key': 'messageType', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + 'message_body': {'key': 'messageBody', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatMessageReceivedEventData, self).__init__(**kwargs) + self.message_body = kwargs.get('message_body', None) + + +class ChatThreadCreatedWithUserEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadCreatedWithUser event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param created_by: The MRI of the creator of the thread. + :type created_by: str + :param thread_type: The type of the thread. + :type thread_type: str + :param properties: The thread properties. + :type properties: dict[str, object] + :param members: The list of properties of users who are part of the thread. + :type members: list[~event_grid_publisher_client.models.ChatThreadMemberProperties] + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'thread_type': {'key': 'threadType', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{object}'}, + 'members': {'key': 'members', 'type': '[ChatThreadMemberProperties]'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatThreadCreatedWithUserEventData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.thread_type = kwargs.get('thread_type', None) + self.properties = kwargs.get('properties', None) + self.members = kwargs.get('members', None) + + +class ChatThreadMemberProperties(msrest.serialization.Model): + """Schema of the chat thread member. + + :param friendly_name: The name of the user. + :type friendly_name: str + :param member_id: The MRI of the user. + :type member_id: str + """ + + _attribute_map = { + 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, + 'member_id': {'key': 'memberId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatThreadMemberProperties, self).__init__(**kwargs) + self.friendly_name = kwargs.get('friendly_name', None) + self.member_id = kwargs.get('member_id', None) + + +class ChatThreadPropertiesUpdatedPerUserEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param edited_by: The MRI of the user who updated the thread properties. + :type edited_by: str + :param edit_time: The time at which the properties of the thread were updated. + :type edit_time: ~datetime.datetime + :param properties: The updated thread properties. + :type properties: dict[str, object] + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'edited_by': {'key': 'editedBy', 'type': 'str'}, + 'edit_time': {'key': 'editTime', 'type': 'iso-8601'}, + 'properties': {'key': 'properties', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatThreadPropertiesUpdatedPerUserEventData, self).__init__(**kwargs) + self.edited_by = kwargs.get('edited_by', None) + self.edit_time = kwargs.get('edit_time', None) + self.properties = kwargs.get('properties', None) + + +class ChatThreadWithUserDeletedEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadWithUserDeleted event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param deleted_by: The MRI of the user who deleted the thread. + :type deleted_by: str + :param delete_time: The deletion time of the thread. + :type delete_time: ~datetime.datetime + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'deleted_by': {'key': 'deletedBy', 'type': 'str'}, + 'delete_time': {'key': 'deleteTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(ChatThreadWithUserDeletedEventData, self).__init__(**kwargs) + self.deleted_by = kwargs.get('deleted_by', None) + self.delete_time = kwargs.get('delete_time', None) + + +class CloudEvent(msrest.serialization.Model): + """Properties of an event published to an Event Grid topic using the CloudEvent 1.0 Schema. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param id: Required. An identifier for the event. The combination of id and source must be + unique for each distinct event. + :type id: str + :param source: Required. Identifies the context in which an event happened. The combination of + id and source must be unique for each distinct event. + :type source: str + :param data: Event data specific to the event type. + :type data: object + :param data_base64: Event data specific to the event type, encoded as a base64 string. + :type data_base64: bytearray + :param type: Required. Type of event related to the originating occurrence. + :type type: str + :param time: The time (in UTC) the event was generated, in RFC3339 format. + :type time: ~datetime.datetime + :param specversion: Required. The version of the CloudEvents specification which the event + uses. + :type specversion: str + :param dataschema: Identifies the schema that data adheres to. + :type dataschema: str + :param datacontenttype: Content type of data value. + :type datacontenttype: str + :param subject: This describes the subject of the event in the context of the event producer + (identified by source). + :type subject: str + """ + + _validation = { + 'id': {'required': True}, + 'source': {'required': True}, + 'type': {'required': True}, + 'specversion': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'object'}, + 'data_base64': {'key': 'data_base64', 'type': 'bytearray'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'specversion': {'key': 'specversion', 'type': 'str'}, + 'dataschema': {'key': 'dataschema', 'type': 'str'}, + 'datacontenttype': {'key': 'datacontenttype', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CloudEvent, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.id = kwargs['id'] + self.source = kwargs['source'] + self.data = kwargs.get('data', None) + self.data_base64 = kwargs.get('data_base64', None) + self.type = kwargs['type'] + self.time = kwargs.get('time', None) + self.specversion = kwargs['specversion'] + self.dataschema = kwargs.get('dataschema', None) + self.datacontenttype = kwargs.get('datacontenttype', None) + self.subject = kwargs.get('subject', None) + + +class ContainerRegistryArtifactEventData(msrest.serialization.Model): + """The content of the event request message. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryArtifactEventTarget + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryArtifactEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.timestamp = kwargs.get('timestamp', None) + self.action = kwargs.get('action', None) + self.target = kwargs.get('target', None) + + +class ContainerRegistryArtifactEventTarget(msrest.serialization.Model): + """The target of the event. + + :param media_type: The MIME type of the artifact. + :type media_type: str + :param size: The size in bytes of the artifact. + :type size: long + :param digest: The digest of the artifact. + :type digest: str + :param repository: The repository name of the artifact. + :type repository: str + :param tag: The tag of the artifact. + :type tag: str + :param name: The name of the artifact. + :type name: str + :param version: The version of the artifact. + :type version: str + """ + + _attribute_map = { + 'media_type': {'key': 'mediaType', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'long'}, + 'digest': {'key': 'digest', 'type': 'str'}, + 'repository': {'key': 'repository', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryArtifactEventTarget, self).__init__(**kwargs) + self.media_type = kwargs.get('media_type', None) + self.size = kwargs.get('size', None) + self.digest = kwargs.get('digest', None) + self.repository = kwargs.get('repository', None) + self.tag = kwargs.get('tag', None) + self.name = kwargs.get('name', None) + self.version = kwargs.get('version', None) + + +class ContainerRegistryChartDeletedEventData(ContainerRegistryArtifactEventData): + """Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ChartDeleted event. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryArtifactEventTarget + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryChartDeletedEventData, self).__init__(**kwargs) + + +class ContainerRegistryChartPushedEventData(ContainerRegistryArtifactEventData): + """Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ChartPushed event. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryArtifactEventTarget + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryChartPushedEventData, self).__init__(**kwargs) + + +class ContainerRegistryEventActor(msrest.serialization.Model): + """The agent that initiated the event. For most situations, this could be from the authorization context of the request. + + :param name: The subject or username associated with the request context that generated the + event. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryEventActor, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class ContainerRegistryEventData(msrest.serialization.Model): + """The content of the event request message. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryEventTarget + :param request: The request that generated the event. + :type request: ~event_grid_publisher_client.models.ContainerRegistryEventRequest + :param actor: The agent that initiated the event. For most situations, this could be from the + authorization context of the request. + :type actor: ~event_grid_publisher_client.models.ContainerRegistryEventActor + :param source: The registry node that generated the event. Put differently, while the actor + initiates the event, the source generates it. + :type source: ~event_grid_publisher_client.models.ContainerRegistryEventSource + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, + 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, + 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, + 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.timestamp = kwargs.get('timestamp', None) + self.action = kwargs.get('action', None) + self.target = kwargs.get('target', None) + self.request = kwargs.get('request', None) + self.actor = kwargs.get('actor', None) + self.source = kwargs.get('source', None) + + +class ContainerRegistryEventRequest(msrest.serialization.Model): + """The request that generated the event. + + :param id: The ID of the request that initiated the event. + :type id: str + :param addr: The IP or hostname and possibly port of the client connection that initiated the + event. This is the RemoteAddr from the standard http request. + :type addr: str + :param host: The externally accessible hostname of the registry instance, as specified by the + http host header on incoming requests. + :type host: str + :param method: The request method that generated the event. + :type method: str + :param useragent: The user agent header of the request. + :type useragent: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'addr': {'key': 'addr', 'type': 'str'}, + 'host': {'key': 'host', 'type': 'str'}, + 'method': {'key': 'method', 'type': 'str'}, + 'useragent': {'key': 'useragent', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryEventRequest, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.addr = kwargs.get('addr', None) + self.host = kwargs.get('host', None) + self.method = kwargs.get('method', None) + self.useragent = kwargs.get('useragent', None) + + +class ContainerRegistryEventSource(msrest.serialization.Model): + """The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. + + :param addr: The IP or hostname and the port of the registry node that generated the event. + Generally, this will be resolved by os.Hostname() along with the running port. + :type addr: str + :param instance_id: The running instance of an application. Changes after each restart. + :type instance_id: str + """ + + _attribute_map = { + 'addr': {'key': 'addr', 'type': 'str'}, + 'instance_id': {'key': 'instanceID', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryEventSource, self).__init__(**kwargs) + self.addr = kwargs.get('addr', None) + self.instance_id = kwargs.get('instance_id', None) + + +class ContainerRegistryEventTarget(msrest.serialization.Model): + """The target of the event. + + :param media_type: The MIME type of the referenced object. + :type media_type: str + :param size: The number of bytes of the content. Same as Length field. + :type size: long + :param digest: The digest of the content, as defined by the Registry V2 HTTP API Specification. + :type digest: str + :param length: The number of bytes of the content. Same as Size field. + :type length: long + :param repository: The repository name. + :type repository: str + :param url: The direct URL to the content. + :type url: str + :param tag: The tag name. + :type tag: str + """ + + _attribute_map = { + 'media_type': {'key': 'mediaType', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'long'}, + 'digest': {'key': 'digest', 'type': 'str'}, + 'length': {'key': 'length', 'type': 'long'}, + 'repository': {'key': 'repository', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryEventTarget, self).__init__(**kwargs) + self.media_type = kwargs.get('media_type', None) + self.size = kwargs.get('size', None) + self.digest = kwargs.get('digest', None) + self.length = kwargs.get('length', None) + self.repository = kwargs.get('repository', None) + self.url = kwargs.get('url', None) + self.tag = kwargs.get('tag', None) + + +class ContainerRegistryImageDeletedEventData(ContainerRegistryEventData): + """Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ImageDeleted event. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryEventTarget + :param request: The request that generated the event. + :type request: ~event_grid_publisher_client.models.ContainerRegistryEventRequest + :param actor: The agent that initiated the event. For most situations, this could be from the + authorization context of the request. + :type actor: ~event_grid_publisher_client.models.ContainerRegistryEventActor + :param source: The registry node that generated the event. Put differently, while the actor + initiates the event, the source generates it. + :type source: ~event_grid_publisher_client.models.ContainerRegistryEventSource + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, + 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, + 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, + 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryImageDeletedEventData, self).__init__(**kwargs) + + +class ContainerRegistryImagePushedEventData(ContainerRegistryEventData): + """Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ImagePushed event. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryEventTarget + :param request: The request that generated the event. + :type request: ~event_grid_publisher_client.models.ContainerRegistryEventRequest + :param actor: The agent that initiated the event. For most situations, this could be from the + authorization context of the request. + :type actor: ~event_grid_publisher_client.models.ContainerRegistryEventActor + :param source: The registry node that generated the event. Put differently, while the actor + initiates the event, the source generates it. + :type source: ~event_grid_publisher_client.models.ContainerRegistryEventSource + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, + 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, + 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, + 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerRegistryImagePushedEventData, self).__init__(**kwargs) + + +class DeviceConnectionStateEventInfo(msrest.serialization.Model): + """Information about the device connection state event. + + :param sequence_number: Sequence number is string representation of a hexadecimal number. + string compare can be used to identify the larger number because both in ASCII and HEX numbers + come after alphabets. If you are converting the string to hex, then the number is a 256 bit + number. + :type sequence_number: str + """ + + _attribute_map = { + 'sequence_number': {'key': 'sequenceNumber', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceConnectionStateEventInfo, self).__init__(**kwargs) + self.sequence_number = kwargs.get('sequence_number', None) + + +class DeviceConnectionStateEventProperties(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a device connection state event (DeviceConnected, DeviceDisconnected). + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param module_id: The unique identifier of the module. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type module_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param device_connection_state_event_info: Information about the device connection state event. + :type device_connection_state_event_info: + ~event_grid_publisher_client.models.DeviceConnectionStateEventInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'module_id': {'key': 'moduleId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceConnectionStateEventProperties, self).__init__(**kwargs) + self.device_id = kwargs.get('device_id', None) + self.module_id = kwargs.get('module_id', None) + self.hub_name = kwargs.get('hub_name', None) + self.device_connection_state_event_info = kwargs.get('device_connection_state_event_info', None) + + +class DeviceLifeCycleEventProperties(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a device life cycle event (DeviceCreated, DeviceDeleted). + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param twin: Information about the device twin, which is the cloud representation of + application device metadata. + :type twin: ~event_grid_publisher_client.models.DeviceTwinInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceLifeCycleEventProperties, self).__init__(**kwargs) + self.device_id = kwargs.get('device_id', None) + self.hub_name = kwargs.get('hub_name', None) + self.twin = kwargs.get('twin', None) + + +class DeviceTelemetryEventProperties(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a device telemetry event (DeviceTelemetry). + + :param body: The content of the message from the device. + :type body: object + :param properties: Application properties are user-defined strings that can be added to the + message. These fields are optional. + :type properties: dict[str, str] + :param system_properties: System properties help identify contents and source of the messages. + :type system_properties: dict[str, str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'object'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'system_properties': {'key': 'systemProperties', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceTelemetryEventProperties, self).__init__(**kwargs) + self.body = kwargs.get('body', None) + self.properties = kwargs.get('properties', None) + self.system_properties = kwargs.get('system_properties', None) + + +class DeviceTwinInfo(msrest.serialization.Model): + """Information about the device twin, which is the cloud representation of application device metadata. + + :param authentication_type: Authentication type used for this device: either SAS, SelfSigned, + or CertificateAuthority. + :type authentication_type: str + :param cloud_to_device_message_count: Count of cloud to device messages sent to this device. + :type cloud_to_device_message_count: float + :param connection_state: Whether the device is connected or disconnected. + :type connection_state: str + :param device_id: The unique identifier of the device twin. + :type device_id: str + :param etag: A piece of information that describes the content of the device twin. Each etag is + guaranteed to be unique per device twin. + :type etag: str + :param last_activity_time: The ISO8601 timestamp of the last activity. + :type last_activity_time: str + :param properties: Properties JSON element. + :type properties: ~event_grid_publisher_client.models.DeviceTwinInfoProperties + :param status: Whether the device twin is enabled or disabled. + :type status: str + :param status_update_time: The ISO8601 timestamp of the last device twin status update. + :type status_update_time: str + :param version: An integer that is incremented by one each time the device twin is updated. + :type version: float + :param x509_thumbprint: The thumbprint is a unique value for the x509 certificate, commonly + used to find a particular certificate in a certificate store. The thumbprint is dynamically + generated using the SHA1 algorithm, and does not physically exist in the certificate. + :type x509_thumbprint: ~event_grid_publisher_client.models.DeviceTwinInfoX509Thumbprint + """ + + _attribute_map = { + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + 'cloud_to_device_message_count': {'key': 'cloudToDeviceMessageCount', 'type': 'float'}, + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'last_activity_time': {'key': 'lastActivityTime', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeviceTwinInfoProperties'}, + 'status': {'key': 'status', 'type': 'str'}, + 'status_update_time': {'key': 'statusUpdateTime', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'float'}, + 'x509_thumbprint': {'key': 'x509Thumbprint', 'type': 'DeviceTwinInfoX509Thumbprint'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceTwinInfo, self).__init__(**kwargs) + self.authentication_type = kwargs.get('authentication_type', None) + self.cloud_to_device_message_count = kwargs.get('cloud_to_device_message_count', None) + self.connection_state = kwargs.get('connection_state', None) + self.device_id = kwargs.get('device_id', None) + self.etag = kwargs.get('etag', None) + self.last_activity_time = kwargs.get('last_activity_time', None) + self.properties = kwargs.get('properties', None) + self.status = kwargs.get('status', None) + self.status_update_time = kwargs.get('status_update_time', None) + self.version = kwargs.get('version', None) + self.x509_thumbprint = kwargs.get('x509_thumbprint', None) + + +class DeviceTwinInfoProperties(msrest.serialization.Model): + """Properties JSON element. + + :param desired: A portion of the properties that can be written only by the application back- + end, and read by the device. + :type desired: ~event_grid_publisher_client.models.DeviceTwinProperties + :param reported: A portion of the properties that can be written only by the device, and read + by the application back-end. + :type reported: ~event_grid_publisher_client.models.DeviceTwinProperties + """ + + _attribute_map = { + 'desired': {'key': 'desired', 'type': 'DeviceTwinProperties'}, + 'reported': {'key': 'reported', 'type': 'DeviceTwinProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceTwinInfoProperties, self).__init__(**kwargs) + self.desired = kwargs.get('desired', None) + self.reported = kwargs.get('reported', None) + + +class DeviceTwinInfoX509Thumbprint(msrest.serialization.Model): + """The thumbprint is a unique value for the x509 certificate, commonly used to find a particular certificate in a certificate store. The thumbprint is dynamically generated using the SHA1 algorithm, and does not physically exist in the certificate. + + :param primary_thumbprint: Primary thumbprint for the x509 certificate. + :type primary_thumbprint: str + :param secondary_thumbprint: Secondary thumbprint for the x509 certificate. + :type secondary_thumbprint: str + """ + + _attribute_map = { + 'primary_thumbprint': {'key': 'primaryThumbprint', 'type': 'str'}, + 'secondary_thumbprint': {'key': 'secondaryThumbprint', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceTwinInfoX509Thumbprint, self).__init__(**kwargs) + self.primary_thumbprint = kwargs.get('primary_thumbprint', None) + self.secondary_thumbprint = kwargs.get('secondary_thumbprint', None) + + +class DeviceTwinMetadata(msrest.serialization.Model): + """Metadata information for the properties JSON document. + + :param last_updated: The ISO8601 timestamp of the last time the properties were updated. + :type last_updated: str + """ + + _attribute_map = { + 'last_updated': {'key': 'lastUpdated', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceTwinMetadata, self).__init__(**kwargs) + self.last_updated = kwargs.get('last_updated', None) + + +class DeviceTwinProperties(msrest.serialization.Model): + """A portion of the properties that can be written only by the application back-end, and read by the device. + + :param metadata: Metadata information for the properties JSON document. + :type metadata: ~event_grid_publisher_client.models.DeviceTwinMetadata + :param version: Version of device twin properties. + :type version: float + """ + + _attribute_map = { + 'metadata': {'key': 'metadata', 'type': 'DeviceTwinMetadata'}, + 'version': {'key': 'version', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceTwinProperties, self).__init__(**kwargs) + self.metadata = kwargs.get('metadata', None) + self.version = kwargs.get('version', None) + + +class EventGridEvent(msrest.serialization.Model): + """Properties of an event published to an Event Grid topic using the EventGrid Schema. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. An unique identifier for the event. + :type id: str + :param topic: The resource path of the event source. + :type topic: str + :param subject: Required. A resource path relative to the topic path. + :type subject: str + :param data: Required. Event data specific to the event type. + :type data: object + :param event_type: Required. The type of the event that occurred. + :type event_type: str + :param event_time: Required. The time (in UTC) the event was generated. + :type event_time: ~datetime.datetime + :ivar metadata_version: The schema version of the event metadata. + :vartype metadata_version: str + :param data_version: Required. The schema version of the data object. + :type data_version: str + """ + + _validation = { + 'id': {'required': True}, + 'subject': {'required': True}, + 'data': {'required': True}, + 'event_type': {'required': True}, + 'event_time': {'required': True}, + 'metadata_version': {'readonly': True}, + 'data_version': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'topic': {'key': 'topic', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'object'}, + 'event_type': {'key': 'eventType', 'type': 'str'}, + 'event_time': {'key': 'eventTime', 'type': 'iso-8601'}, + 'metadata_version': {'key': 'metadataVersion', 'type': 'str'}, + 'data_version': {'key': 'dataVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EventGridEvent, self).__init__(**kwargs) + self.id = kwargs['id'] + self.topic = kwargs.get('topic', None) + self.subject = kwargs['subject'] + self.data = kwargs['data'] + self.event_type = kwargs['event_type'] + self.event_time = kwargs['event_time'] + self.metadata_version = None + self.data_version = kwargs['data_version'] + + +class EventHubCaptureFileCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.EventHub.CaptureFileCreated event. + + :param fileurl: The path to the capture file. + :type fileurl: str + :param file_type: The file type of the capture file. + :type file_type: str + :param partition_id: The shard ID. + :type partition_id: str + :param size_in_bytes: The file size. + :type size_in_bytes: int + :param event_count: The number of events in the file. + :type event_count: int + :param first_sequence_number: The smallest sequence number from the queue. + :type first_sequence_number: int + :param last_sequence_number: The last sequence number from the queue. + :type last_sequence_number: int + :param first_enqueue_time: The first time from the queue. + :type first_enqueue_time: ~datetime.datetime + :param last_enqueue_time: The last time from the queue. + :type last_enqueue_time: ~datetime.datetime + """ + + _attribute_map = { + 'fileurl': {'key': 'fileurl', 'type': 'str'}, + 'file_type': {'key': 'fileType', 'type': 'str'}, + 'partition_id': {'key': 'partitionId', 'type': 'str'}, + 'size_in_bytes': {'key': 'sizeInBytes', 'type': 'int'}, + 'event_count': {'key': 'eventCount', 'type': 'int'}, + 'first_sequence_number': {'key': 'firstSequenceNumber', 'type': 'int'}, + 'last_sequence_number': {'key': 'lastSequenceNumber', 'type': 'int'}, + 'first_enqueue_time': {'key': 'firstEnqueueTime', 'type': 'iso-8601'}, + 'last_enqueue_time': {'key': 'lastEnqueueTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(EventHubCaptureFileCreatedEventData, self).__init__(**kwargs) + self.fileurl = kwargs.get('fileurl', None) + self.file_type = kwargs.get('file_type', None) + self.partition_id = kwargs.get('partition_id', None) + self.size_in_bytes = kwargs.get('size_in_bytes', None) + self.event_count = kwargs.get('event_count', None) + self.first_sequence_number = kwargs.get('first_sequence_number', None) + self.last_sequence_number = kwargs.get('last_sequence_number', None) + self.first_enqueue_time = kwargs.get('first_enqueue_time', None) + self.last_enqueue_time = kwargs.get('last_enqueue_time', None) + + +class IotHubDeviceConnectedEventData(DeviceConnectionStateEventProperties): + """Event data for Microsoft.Devices.DeviceConnected event. + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param module_id: The unique identifier of the module. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type module_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param device_connection_state_event_info: Information about the device connection state event. + :type device_connection_state_event_info: + ~event_grid_publisher_client.models.DeviceConnectionStateEventInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'module_id': {'key': 'moduleId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(IotHubDeviceConnectedEventData, self).__init__(**kwargs) + + +class IotHubDeviceCreatedEventData(DeviceLifeCycleEventProperties): + """Event data for Microsoft.Devices.DeviceCreated event. + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param twin: Information about the device twin, which is the cloud representation of + application device metadata. + :type twin: ~event_grid_publisher_client.models.DeviceTwinInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(IotHubDeviceCreatedEventData, self).__init__(**kwargs) + + +class IotHubDeviceDeletedEventData(DeviceLifeCycleEventProperties): + """Event data for Microsoft.Devices.DeviceDeleted event. + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param twin: Information about the device twin, which is the cloud representation of + application device metadata. + :type twin: ~event_grid_publisher_client.models.DeviceTwinInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(IotHubDeviceDeletedEventData, self).__init__(**kwargs) + + +class IotHubDeviceDisconnectedEventData(DeviceConnectionStateEventProperties): + """Event data for Microsoft.Devices.DeviceDisconnected event. + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param module_id: The unique identifier of the module. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type module_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param device_connection_state_event_info: Information about the device connection state event. + :type device_connection_state_event_info: + ~event_grid_publisher_client.models.DeviceConnectionStateEventInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'module_id': {'key': 'moduleId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(IotHubDeviceDisconnectedEventData, self).__init__(**kwargs) + + +class IotHubDeviceTelemetryEventData(DeviceTelemetryEventProperties): + """Event data for Microsoft.Devices.DeviceTelemetry event. + + :param body: The content of the message from the device. + :type body: object + :param properties: Application properties are user-defined strings that can be added to the + message. These fields are optional. + :type properties: dict[str, str] + :param system_properties: System properties help identify contents and source of the messages. + :type system_properties: dict[str, str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'object'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'system_properties': {'key': 'systemProperties', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(IotHubDeviceTelemetryEventData, self).__init__(**kwargs) + + +class KeyVaultCertificateExpiredEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an CertificateExpired event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultCertificateExpiredEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class KeyVaultCertificateNearExpiryEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an CertificateNearExpiry event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultCertificateNearExpiryEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class KeyVaultCertificateNewVersionCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an CertificateNewVersionCreated event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultCertificateNewVersionCreatedEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class KeyVaultKeyExpiredEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an KeyExpired event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultKeyExpiredEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class KeyVaultKeyNearExpiryEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an KeyNearExpiry event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultKeyNearExpiryEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class KeyVaultKeyNewVersionCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an KeyNewVersionCreated event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultKeyNewVersionCreatedEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class KeyVaultSecretExpiredEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an SecretExpired event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultSecretExpiredEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class KeyVaultSecretNearExpiryEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an SecretNearExpiry event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultSecretNearExpiryEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class KeyVaultSecretNewVersionCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an SecretNewVersionCreated event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultSecretNewVersionCreatedEventData, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.vault_name = kwargs.get('vault_name', None) + self.object_type = kwargs.get('object_type', None) + self.object_name = kwargs.get('object_name', None) + self.version = kwargs.get('version', None) + self.nbf = kwargs.get('nbf', None) + self.exp = kwargs.get('exp', None) + + +class MachineLearningServicesDatasetDriftDetectedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.DatasetDriftDetected event. + + :param data_drift_id: The ID of the data drift monitor that triggered the event. + :type data_drift_id: str + :param data_drift_name: The name of the data drift monitor that triggered the event. + :type data_drift_name: str + :param run_id: The ID of the Run that detected data drift. + :type run_id: str + :param base_dataset_id: The ID of the base Dataset used to detect drift. + :type base_dataset_id: str + :param target_dataset_id: The ID of the target Dataset used to detect drift. + :type target_dataset_id: str + :param drift_coefficient: The coefficient result that triggered the event. + :type drift_coefficient: float + :param start_time: The start time of the target dataset time series that resulted in drift + detection. + :type start_time: ~datetime.datetime + :param end_time: The end time of the target dataset time series that resulted in drift + detection. + :type end_time: ~datetime.datetime + """ + + _attribute_map = { + 'data_drift_id': {'key': 'dataDriftId', 'type': 'str'}, + 'data_drift_name': {'key': 'dataDriftName', 'type': 'str'}, + 'run_id': {'key': 'runId', 'type': 'str'}, + 'base_dataset_id': {'key': 'baseDatasetId', 'type': 'str'}, + 'target_dataset_id': {'key': 'targetDatasetId', 'type': 'str'}, + 'drift_coefficient': {'key': 'driftCoefficient', 'type': 'float'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineLearningServicesDatasetDriftDetectedEventData, self).__init__(**kwargs) + self.data_drift_id = kwargs.get('data_drift_id', None) + self.data_drift_name = kwargs.get('data_drift_name', None) + self.run_id = kwargs.get('run_id', None) + self.base_dataset_id = kwargs.get('base_dataset_id', None) + self.target_dataset_id = kwargs.get('target_dataset_id', None) + self.drift_coefficient = kwargs.get('drift_coefficient', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + + +class MachineLearningServicesModelDeployedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.ModelDeployed event. + + :param service_name: The name of the deployed service. + :type service_name: str + :param service_compute_type: The compute type (e.g. ACI, AKS) of the deployed service. + :type service_compute_type: str + :param model_ids: A common separated list of model IDs. The IDs of the models deployed in the + service. + :type model_ids: str + :param service_tags: The tags of the deployed service. + :type service_tags: object + :param service_properties: The properties of the deployed service. + :type service_properties: object + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'service_compute_type': {'key': 'serviceComputeType', 'type': 'str'}, + 'model_ids': {'key': 'modelIds', 'type': 'str'}, + 'service_tags': {'key': 'serviceTags', 'type': 'object'}, + 'service_properties': {'key': 'serviceProperties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineLearningServicesModelDeployedEventData, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.service_compute_type = kwargs.get('service_compute_type', None) + self.model_ids = kwargs.get('model_ids', None) + self.service_tags = kwargs.get('service_tags', None) + self.service_properties = kwargs.get('service_properties', None) + + +class MachineLearningServicesModelRegisteredEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.ModelRegistered event. + + :param model_name: The name of the model that was registered. + :type model_name: str + :param model_version: The version of the model that was registered. + :type model_version: str + :param model_tags: The tags of the model that was registered. + :type model_tags: object + :param model_properties: The properties of the model that was registered. + :type model_properties: object + """ + + _attribute_map = { + 'model_name': {'key': 'modelName', 'type': 'str'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + 'model_tags': {'key': 'modelTags', 'type': 'object'}, + 'model_properties': {'key': 'modelProperties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineLearningServicesModelRegisteredEventData, self).__init__(**kwargs) + self.model_name = kwargs.get('model_name', None) + self.model_version = kwargs.get('model_version', None) + self.model_tags = kwargs.get('model_tags', None) + self.model_properties = kwargs.get('model_properties', None) + + +class MachineLearningServicesRunCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.RunCompleted event. + + :param experiment_id: The ID of the experiment that the run belongs to. + :type experiment_id: str + :param experiment_name: The name of the experiment that the run belongs to. + :type experiment_name: str + :param run_id: The ID of the Run that was completed. + :type run_id: str + :param run_type: The Run Type of the completed Run. + :type run_type: str + :param run_tags: The tags of the completed Run. + :type run_tags: object + :param run_properties: The properties of the completed Run. + :type run_properties: object + """ + + _attribute_map = { + 'experiment_id': {'key': 'experimentId', 'type': 'str'}, + 'experiment_name': {'key': 'experimentName', 'type': 'str'}, + 'run_id': {'key': 'runId', 'type': 'str'}, + 'run_type': {'key': 'runType', 'type': 'str'}, + 'run_tags': {'key': 'runTags', 'type': 'object'}, + 'run_properties': {'key': 'runProperties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineLearningServicesRunCompletedEventData, self).__init__(**kwargs) + self.experiment_id = kwargs.get('experiment_id', None) + self.experiment_name = kwargs.get('experiment_name', None) + self.run_id = kwargs.get('run_id', None) + self.run_type = kwargs.get('run_type', None) + self.run_tags = kwargs.get('run_tags', None) + self.run_properties = kwargs.get('run_properties', None) + + +class MachineLearningServicesRunStatusChangedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.RunStatusChanged event. + + :param experiment_id: The ID of the experiment that the Machine Learning Run belongs to. + :type experiment_id: str + :param experiment_name: The name of the experiment that the Machine Learning Run belongs to. + :type experiment_name: str + :param run_id: The ID of the Machine Learning Run. + :type run_id: str + :param run_type: The Run Type of the Machine Learning Run. + :type run_type: str + :param run_tags: The tags of the Machine Learning Run. + :type run_tags: object + :param run_properties: The properties of the Machine Learning Run. + :type run_properties: object + :param run_status: The status of the Machine Learning Run. + :type run_status: str + """ + + _attribute_map = { + 'experiment_id': {'key': 'experimentId', 'type': 'str'}, + 'experiment_name': {'key': 'experimentName', 'type': 'str'}, + 'run_id': {'key': 'runId', 'type': 'str'}, + 'run_type': {'key': 'runType', 'type': 'str'}, + 'run_tags': {'key': 'runTags', 'type': 'object'}, + 'run_properties': {'key': 'runProperties', 'type': 'object'}, + 'run_status': {'key': 'runStatus', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineLearningServicesRunStatusChangedEventData, self).__init__(**kwargs) + self.experiment_id = kwargs.get('experiment_id', None) + self.experiment_name = kwargs.get('experiment_name', None) + self.run_id = kwargs.get('run_id', None) + self.run_type = kwargs.get('run_type', None) + self.run_tags = kwargs.get('run_tags', None) + self.run_properties = kwargs.get('run_properties', None) + self.run_status = kwargs.get('run_status', None) + + +class MapsGeofenceEventProperties(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Geofence event (GeofenceEntered, GeofenceExited, GeofenceResult). + + :param expired_geofence_geometry_id: Lists of the geometry ID of the geofence which is expired + relative to the user time in the request. + :type expired_geofence_geometry_id: list[str] + :param geometries: Lists the fence geometries that either fully contain the coordinate position + or have an overlap with the searchBuffer around the fence. + :type geometries: list[~event_grid_publisher_client.models.MapsGeofenceGeometry] + :param invalid_period_geofence_geometry_id: Lists of the geometry ID of the geofence which is + in invalid period relative to the user time in the request. + :type invalid_period_geofence_geometry_id: list[str] + :param is_event_published: True if at least one event is published to the Azure Maps event + subscriber, false if no event is published to the Azure Maps event subscriber. + :type is_event_published: bool + """ + + _attribute_map = { + 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, + 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, + 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, + 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MapsGeofenceEventProperties, self).__init__(**kwargs) + self.expired_geofence_geometry_id = kwargs.get('expired_geofence_geometry_id', None) + self.geometries = kwargs.get('geometries', None) + self.invalid_period_geofence_geometry_id = kwargs.get('invalid_period_geofence_geometry_id', None) + self.is_event_published = kwargs.get('is_event_published', None) + + +class MapsGeofenceEnteredEventData(MapsGeofenceEventProperties): + """Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceEntered event. + + :param expired_geofence_geometry_id: Lists of the geometry ID of the geofence which is expired + relative to the user time in the request. + :type expired_geofence_geometry_id: list[str] + :param geometries: Lists the fence geometries that either fully contain the coordinate position + or have an overlap with the searchBuffer around the fence. + :type geometries: list[~event_grid_publisher_client.models.MapsGeofenceGeometry] + :param invalid_period_geofence_geometry_id: Lists of the geometry ID of the geofence which is + in invalid period relative to the user time in the request. + :type invalid_period_geofence_geometry_id: list[str] + :param is_event_published: True if at least one event is published to the Azure Maps event + subscriber, false if no event is published to the Azure Maps event subscriber. + :type is_event_published: bool + """ + + _attribute_map = { + 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, + 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, + 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, + 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MapsGeofenceEnteredEventData, self).__init__(**kwargs) + + +class MapsGeofenceExitedEventData(MapsGeofenceEventProperties): + """Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceExited event. + + :param expired_geofence_geometry_id: Lists of the geometry ID of the geofence which is expired + relative to the user time in the request. + :type expired_geofence_geometry_id: list[str] + :param geometries: Lists the fence geometries that either fully contain the coordinate position + or have an overlap with the searchBuffer around the fence. + :type geometries: list[~event_grid_publisher_client.models.MapsGeofenceGeometry] + :param invalid_period_geofence_geometry_id: Lists of the geometry ID of the geofence which is + in invalid period relative to the user time in the request. + :type invalid_period_geofence_geometry_id: list[str] + :param is_event_published: True if at least one event is published to the Azure Maps event + subscriber, false if no event is published to the Azure Maps event subscriber. + :type is_event_published: bool + """ + + _attribute_map = { + 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, + 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, + 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, + 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MapsGeofenceExitedEventData, self).__init__(**kwargs) + + +class MapsGeofenceGeometry(msrest.serialization.Model): + """The geofence geometry. + + :param device_id: ID of the device. + :type device_id: str + :param distance: Distance from the coordinate to the closest border of the geofence. Positive + means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, + but more than the value of searchBuffer away from the closest geofence border, then the value + is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside + the polygon, but more than the value of searchBuffer away from the closest geofencing + border,then the value is -999. A value of 999 means that there is great confidence the + coordinate is well outside the geofence. A value of -999 means that there is great confidence + the coordinate is well within the geofence. + :type distance: float + :param geometry_id: The unique ID for the geofence geometry. + :type geometry_id: str + :param nearest_lat: Latitude of the nearest point of the geometry. + :type nearest_lat: float + :param nearest_lon: Longitude of the nearest point of the geometry. + :type nearest_lon: float + :param ud_id: The unique id returned from user upload service when uploading a geofence. Will + not be included in geofencing post API. + :type ud_id: str + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'distance': {'key': 'distance', 'type': 'float'}, + 'geometry_id': {'key': 'geometryId', 'type': 'str'}, + 'nearest_lat': {'key': 'nearestLat', 'type': 'float'}, + 'nearest_lon': {'key': 'nearestLon', 'type': 'float'}, + 'ud_id': {'key': 'udId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MapsGeofenceGeometry, self).__init__(**kwargs) + self.device_id = kwargs.get('device_id', None) + self.distance = kwargs.get('distance', None) + self.geometry_id = kwargs.get('geometry_id', None) + self.nearest_lat = kwargs.get('nearest_lat', None) + self.nearest_lon = kwargs.get('nearest_lon', None) + self.ud_id = kwargs.get('ud_id', None) + + +class MapsGeofenceResultEventData(MapsGeofenceEventProperties): + """Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceResult event. + + :param expired_geofence_geometry_id: Lists of the geometry ID of the geofence which is expired + relative to the user time in the request. + :type expired_geofence_geometry_id: list[str] + :param geometries: Lists the fence geometries that either fully contain the coordinate position + or have an overlap with the searchBuffer around the fence. + :type geometries: list[~event_grid_publisher_client.models.MapsGeofenceGeometry] + :param invalid_period_geofence_geometry_id: Lists of the geometry ID of the geofence which is + in invalid period relative to the user time in the request. + :type invalid_period_geofence_geometry_id: list[str] + :param is_event_published: True if at least one event is published to the Azure Maps event + subscriber, false if no event is published to the Azure Maps event subscriber. + :type is_event_published: bool + """ + + _attribute_map = { + 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, + 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, + 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, + 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MapsGeofenceResultEventData, self).__init__(**kwargs) + + +class MediaJobStateChangeEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Media.JobStateChange event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobStateChangeEventData, self).__init__(**kwargs) + self.previous_state = None + self.state = None + self.correlation_data = kwargs.get('correlation_data', None) + + +class MediaJobCanceledEventData(MediaJobStateChangeEventData): + """Job canceled event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + :param outputs: Gets the Job outputs. + :type outputs: list[~event_grid_publisher_client.models.MediaJobOutput] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobCanceledEventData, self).__init__(**kwargs) + self.outputs = kwargs.get('outputs', None) + + +class MediaJobCancelingEventData(MediaJobStateChangeEventData): + """Job canceling event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobCancelingEventData, self).__init__(**kwargs) + + +class MediaJobError(msrest.serialization.Model): + """Details of JobOutput errors. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Error code describing the error. Possible values include: "ServiceError", + "ServiceTransientError", "DownloadNotAccessible", "DownloadTransientError", + "UploadNotAccessible", "UploadTransientError", "ConfigurationUnsupported", "ContentMalformed", + "ContentUnsupported". + :vartype code: str or ~event_grid_publisher_client.models.MediaJobErrorCode + :ivar message: A human-readable language-dependent representation of the error. + :vartype message: str + :ivar category: Helps with categorization of errors. Possible values include: "Service", + "Download", "Upload", "Configuration", "Content". + :vartype category: str or ~event_grid_publisher_client.models.MediaJobErrorCategory + :ivar retry: Indicates that it may be possible to retry the Job. If retry is unsuccessful, + please contact Azure support via Azure Portal. Possible values include: "DoNotRetry", + "MayRetry". + :vartype retry: str or ~event_grid_publisher_client.models.MediaJobRetry + :ivar details: An array of details about specific errors that led to this reported error. + :vartype details: list[~event_grid_publisher_client.models.MediaJobErrorDetail] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'category': {'readonly': True}, + 'retry': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'retry': {'key': 'retry', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[MediaJobErrorDetail]'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobError, self).__init__(**kwargs) + self.code = None + self.message = None + self.category = None + self.retry = None + self.details = None + + +class MediaJobErrorDetail(msrest.serialization.Model): + """Details of JobOutput errors. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Code describing the error detail. + :vartype code: str + :ivar message: A human-readable representation of the error. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + + +class MediaJobErroredEventData(MediaJobStateChangeEventData): + """Job error state event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + :param outputs: Gets the Job outputs. + :type outputs: list[~event_grid_publisher_client.models.MediaJobOutput] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobErroredEventData, self).__init__(**kwargs) + self.outputs = kwargs.get('outputs', None) + + +class MediaJobFinishedEventData(MediaJobStateChangeEventData): + """Job finished event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + :param outputs: Gets the Job outputs. + :type outputs: list[~event_grid_publisher_client.models.MediaJobOutput] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobFinishedEventData, self).__init__(**kwargs) + self.outputs = kwargs.get('outputs', None) + + +class MediaJobOutput(msrest.serialization.Model): + """The event data for a Job output. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MediaJobOutputAsset. + + All required parameters must be populated in order to send to Azure. + + :param odata_type: The discriminator for derived types.Constant filled by server. + :type odata_type: str + :param error: Gets the Job output error. + :type error: ~event_grid_publisher_client.models.MediaJobError + :param label: Gets the Job output label. + :type label: str + :param progress: Required. Gets the Job output progress. + :type progress: long + :param state: Required. Gets the Job output state. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :type state: str or ~event_grid_publisher_client.models.MediaJobState + """ + + _validation = { + 'progress': {'required': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'MediaJobError'}, + 'label': {'key': 'label', 'type': 'str'}, + 'progress': {'key': 'progress', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + _subtype_map = { + 'odata_type': {'#Microsoft.Media.JobOutputAsset': 'MediaJobOutputAsset'} + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutput, self).__init__(**kwargs) + self.odata_type = None # type: Optional[str] + self.error = kwargs.get('error', None) + self.label = kwargs.get('label', None) + self.progress = kwargs['progress'] + self.state = kwargs['state'] + + +class MediaJobOutputAsset(MediaJobOutput): + """The event data for a Job output asset. + + All required parameters must be populated in order to send to Azure. + + :param odata_type: The discriminator for derived types.Constant filled by server. + :type odata_type: str + :param error: Gets the Job output error. + :type error: ~event_grid_publisher_client.models.MediaJobError + :param label: Gets the Job output label. + :type label: str + :param progress: Required. Gets the Job output progress. + :type progress: long + :param state: Required. Gets the Job output state. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :type state: str or ~event_grid_publisher_client.models.MediaJobState + :param asset_name: Gets the Job output asset name. + :type asset_name: str + """ + + _validation = { + 'progress': {'required': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'MediaJobError'}, + 'label': {'key': 'label', 'type': 'str'}, + 'progress': {'key': 'progress', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'asset_name': {'key': 'assetName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputAsset, self).__init__(**kwargs) + self.odata_type = '#Microsoft.Media.JobOutputAsset' # type: str + self.asset_name = kwargs.get('asset_name', None) + + +class MediaJobOutputStateChangeEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Media.JobOutputStateChange event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputStateChangeEventData, self).__init__(**kwargs) + self.previous_state = None + self.output = kwargs.get('output', None) + self.job_correlation_data = kwargs.get('job_correlation_data', None) + + +class MediaJobOutputCanceledEventData(MediaJobOutputStateChangeEventData): + """Job output canceled event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputCanceledEventData, self).__init__(**kwargs) + + +class MediaJobOutputCancelingEventData(MediaJobOutputStateChangeEventData): + """Job output canceling event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputCancelingEventData, self).__init__(**kwargs) + + +class MediaJobOutputErroredEventData(MediaJobOutputStateChangeEventData): + """Job output error event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputErroredEventData, self).__init__(**kwargs) + + +class MediaJobOutputFinishedEventData(MediaJobOutputStateChangeEventData): + """Job output finished event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputFinishedEventData, self).__init__(**kwargs) + + +class MediaJobOutputProcessingEventData(MediaJobOutputStateChangeEventData): + """Job output processing event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputProcessingEventData, self).__init__(**kwargs) + + +class MediaJobOutputProgressEventData(msrest.serialization.Model): + """Job Output Progress Event Data. + + :param label: Gets the Job output label. + :type label: str + :param progress: Gets the Job output progress. + :type progress: long + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _attribute_map = { + 'label': {'key': 'label', 'type': 'str'}, + 'progress': {'key': 'progress', 'type': 'long'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputProgressEventData, self).__init__(**kwargs) + self.label = kwargs.get('label', None) + self.progress = kwargs.get('progress', None) + self.job_correlation_data = kwargs.get('job_correlation_data', None) + + +class MediaJobOutputScheduledEventData(MediaJobOutputStateChangeEventData): + """Job output scheduled event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobOutputScheduledEventData, self).__init__(**kwargs) + + +class MediaJobProcessingEventData(MediaJobStateChangeEventData): + """Job processing event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobProcessingEventData, self).__init__(**kwargs) + + +class MediaJobScheduledEventData(MediaJobStateChangeEventData): + """Job scheduled event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobScheduledEventData, self).__init__(**kwargs) + + +class MediaLiveEventConnectionRejectedEventData(msrest.serialization.Model): + """Encoder connection rejected event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ingest_url: Gets the ingest URL provided by the live event. + :vartype ingest_url: str + :ivar stream_id: Gets the stream Id. + :vartype stream_id: str + :ivar encoder_ip: Gets the remote IP. + :vartype encoder_ip: str + :ivar encoder_port: Gets the remote port. + :vartype encoder_port: str + :ivar result_code: Gets the result code. + :vartype result_code: str + """ + + _validation = { + 'ingest_url': {'readonly': True}, + 'stream_id': {'readonly': True}, + 'encoder_ip': {'readonly': True}, + 'encoder_port': {'readonly': True}, + 'result_code': {'readonly': True}, + } + + _attribute_map = { + 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, + 'stream_id': {'key': 'streamId', 'type': 'str'}, + 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, + 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, + 'result_code': {'key': 'resultCode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventConnectionRejectedEventData, self).__init__(**kwargs) + self.ingest_url = None + self.stream_id = None + self.encoder_ip = None + self.encoder_port = None + self.result_code = None + + +class MediaLiveEventEncoderConnectedEventData(msrest.serialization.Model): + """Encoder connect event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ingest_url: Gets the ingest URL provided by the live event. + :vartype ingest_url: str + :ivar stream_id: Gets the stream Id. + :vartype stream_id: str + :ivar encoder_ip: Gets the remote IP. + :vartype encoder_ip: str + :ivar encoder_port: Gets the remote port. + :vartype encoder_port: str + """ + + _validation = { + 'ingest_url': {'readonly': True}, + 'stream_id': {'readonly': True}, + 'encoder_ip': {'readonly': True}, + 'encoder_port': {'readonly': True}, + } + + _attribute_map = { + 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, + 'stream_id': {'key': 'streamId', 'type': 'str'}, + 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, + 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventEncoderConnectedEventData, self).__init__(**kwargs) + self.ingest_url = None + self.stream_id = None + self.encoder_ip = None + self.encoder_port = None + + +class MediaLiveEventEncoderDisconnectedEventData(msrest.serialization.Model): + """Encoder disconnected event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ingest_url: Gets the ingest URL provided by the live event. + :vartype ingest_url: str + :ivar stream_id: Gets the stream Id. + :vartype stream_id: str + :ivar encoder_ip: Gets the remote IP. + :vartype encoder_ip: str + :ivar encoder_port: Gets the remote port. + :vartype encoder_port: str + :ivar result_code: Gets the result code. + :vartype result_code: str + """ + + _validation = { + 'ingest_url': {'readonly': True}, + 'stream_id': {'readonly': True}, + 'encoder_ip': {'readonly': True}, + 'encoder_port': {'readonly': True}, + 'result_code': {'readonly': True}, + } + + _attribute_map = { + 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, + 'stream_id': {'key': 'streamId', 'type': 'str'}, + 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, + 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, + 'result_code': {'key': 'resultCode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventEncoderDisconnectedEventData, self).__init__(**kwargs) + self.ingest_url = None + self.stream_id = None + self.encoder_ip = None + self.encoder_port = None + self.result_code = None + + +class MediaLiveEventIncomingDataChunkDroppedEventData(msrest.serialization.Model): + """Ingest fragment dropped event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar timestamp: Gets the timestamp of the data chunk dropped. + :vartype timestamp: str + :ivar track_type: Gets the type of the track (Audio / Video). + :vartype track_type: str + :ivar bitrate: Gets the bitrate of the track. + :vartype bitrate: long + :ivar timescale: Gets the timescale of the Timestamp. + :vartype timescale: str + :ivar result_code: Gets the result code for fragment drop operation. + :vartype result_code: str + :ivar track_name: Gets the name of the track for which fragment is dropped. + :vartype track_name: str + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'track_type': {'readonly': True}, + 'bitrate': {'readonly': True}, + 'timescale': {'readonly': True}, + 'result_code': {'readonly': True}, + 'track_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'track_type': {'key': 'trackType', 'type': 'str'}, + 'bitrate': {'key': 'bitrate', 'type': 'long'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + 'result_code': {'key': 'resultCode', 'type': 'str'}, + 'track_name': {'key': 'trackName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIncomingDataChunkDroppedEventData, self).__init__(**kwargs) + self.timestamp = None + self.track_type = None + self.bitrate = None + self.timescale = None + self.result_code = None + self.track_name = None + + +class MediaLiveEventIncomingStreamReceivedEventData(msrest.serialization.Model): + """Encoder connect event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ingest_url: Gets the ingest URL provided by the live event. + :vartype ingest_url: str + :ivar track_type: Gets the type of the track (Audio / Video). + :vartype track_type: str + :ivar track_name: Gets the track name. + :vartype track_name: str + :ivar bitrate: Gets the bitrate of the track. + :vartype bitrate: long + :ivar encoder_ip: Gets the remote IP. + :vartype encoder_ip: str + :ivar encoder_port: Gets the remote port. + :vartype encoder_port: str + :ivar timestamp: Gets the first timestamp of the data chunk received. + :vartype timestamp: str + :ivar duration: Gets the duration of the first data chunk. + :vartype duration: str + :ivar timescale: Gets the timescale in which timestamp is represented. + :vartype timescale: str + """ + + _validation = { + 'ingest_url': {'readonly': True}, + 'track_type': {'readonly': True}, + 'track_name': {'readonly': True}, + 'bitrate': {'readonly': True}, + 'encoder_ip': {'readonly': True}, + 'encoder_port': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'duration': {'readonly': True}, + 'timescale': {'readonly': True}, + } + + _attribute_map = { + 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, + 'track_type': {'key': 'trackType', 'type': 'str'}, + 'track_name': {'key': 'trackName', 'type': 'str'}, + 'bitrate': {'key': 'bitrate', 'type': 'long'}, + 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, + 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'duration': {'key': 'duration', 'type': 'str'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIncomingStreamReceivedEventData, self).__init__(**kwargs) + self.ingest_url = None + self.track_type = None + self.track_name = None + self.bitrate = None + self.encoder_ip = None + self.encoder_port = None + self.timestamp = None + self.duration = None + self.timescale = None + + +class MediaLiveEventIncomingStreamsOutOfSyncEventData(msrest.serialization.Model): + """Incoming streams out of sync event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar min_last_timestamp: Gets the minimum last timestamp received. + :vartype min_last_timestamp: str + :ivar type_of_stream_with_min_last_timestamp: Gets the type of stream with minimum last + timestamp. + :vartype type_of_stream_with_min_last_timestamp: str + :ivar max_last_timestamp: Gets the maximum timestamp among all the tracks (audio or video). + :vartype max_last_timestamp: str + :ivar type_of_stream_with_max_last_timestamp: Gets the type of stream with maximum last + timestamp. + :vartype type_of_stream_with_max_last_timestamp: str + :ivar timescale_of_min_last_timestamp: Gets the timescale in which "MinLastTimestamp" is + represented. + :vartype timescale_of_min_last_timestamp: str + :ivar timescale_of_max_last_timestamp: Gets the timescale in which "MaxLastTimestamp" is + represented. + :vartype timescale_of_max_last_timestamp: str + """ + + _validation = { + 'min_last_timestamp': {'readonly': True}, + 'type_of_stream_with_min_last_timestamp': {'readonly': True}, + 'max_last_timestamp': {'readonly': True}, + 'type_of_stream_with_max_last_timestamp': {'readonly': True}, + 'timescale_of_min_last_timestamp': {'readonly': True}, + 'timescale_of_max_last_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'min_last_timestamp': {'key': 'minLastTimestamp', 'type': 'str'}, + 'type_of_stream_with_min_last_timestamp': {'key': 'typeOfStreamWithMinLastTimestamp', 'type': 'str'}, + 'max_last_timestamp': {'key': 'maxLastTimestamp', 'type': 'str'}, + 'type_of_stream_with_max_last_timestamp': {'key': 'typeOfStreamWithMaxLastTimestamp', 'type': 'str'}, + 'timescale_of_min_last_timestamp': {'key': 'timescaleOfMinLastTimestamp', 'type': 'str'}, + 'timescale_of_max_last_timestamp': {'key': 'timescaleOfMaxLastTimestamp', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIncomingStreamsOutOfSyncEventData, self).__init__(**kwargs) + self.min_last_timestamp = None + self.type_of_stream_with_min_last_timestamp = None + self.max_last_timestamp = None + self.type_of_stream_with_max_last_timestamp = None + self.timescale_of_min_last_timestamp = None + self.timescale_of_max_last_timestamp = None + + +class MediaLiveEventIncomingVideoStreamsOutOfSyncEventData(msrest.serialization.Model): + """Incoming video stream out of synch event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar first_timestamp: Gets the first timestamp received for one of the quality levels. + :vartype first_timestamp: str + :ivar first_duration: Gets the duration of the data chunk with first timestamp. + :vartype first_duration: str + :ivar second_timestamp: Gets the timestamp received for some other quality levels. + :vartype second_timestamp: str + :ivar second_duration: Gets the duration of the data chunk with second timestamp. + :vartype second_duration: str + :ivar timescale: Gets the timescale in which both the timestamps and durations are represented. + :vartype timescale: str + """ + + _validation = { + 'first_timestamp': {'readonly': True}, + 'first_duration': {'readonly': True}, + 'second_timestamp': {'readonly': True}, + 'second_duration': {'readonly': True}, + 'timescale': {'readonly': True}, + } + + _attribute_map = { + 'first_timestamp': {'key': 'firstTimestamp', 'type': 'str'}, + 'first_duration': {'key': 'firstDuration', 'type': 'str'}, + 'second_timestamp': {'key': 'secondTimestamp', 'type': 'str'}, + 'second_duration': {'key': 'secondDuration', 'type': 'str'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIncomingVideoStreamsOutOfSyncEventData, self).__init__(**kwargs) + self.first_timestamp = None + self.first_duration = None + self.second_timestamp = None + self.second_duration = None + self.timescale = None + + +class MediaLiveEventIngestHeartbeatEventData(msrest.serialization.Model): + """Ingest fragment dropped event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar track_type: Gets the type of the track (Audio / Video). + :vartype track_type: str + :ivar track_name: Gets the track name. + :vartype track_name: str + :ivar bitrate: Gets the bitrate of the track. + :vartype bitrate: long + :ivar incoming_bitrate: Gets the incoming bitrate. + :vartype incoming_bitrate: long + :ivar last_timestamp: Gets the last timestamp. + :vartype last_timestamp: str + :ivar timescale: Gets the timescale of the last timestamp. + :vartype timescale: str + :ivar overlap_count: Gets the fragment Overlap count. + :vartype overlap_count: long + :ivar discontinuity_count: Gets the fragment Discontinuity count. + :vartype discontinuity_count: long + :ivar nonincreasing_count: Gets Non increasing count. + :vartype nonincreasing_count: long + :ivar unexpected_bitrate: Gets a value indicating whether unexpected bitrate is present or not. + :vartype unexpected_bitrate: bool + :ivar state: Gets the state of the live event. + :vartype state: str + :ivar healthy: Gets a value indicating whether preview is healthy or not. + :vartype healthy: bool + """ + + _validation = { + 'track_type': {'readonly': True}, + 'track_name': {'readonly': True}, + 'bitrate': {'readonly': True}, + 'incoming_bitrate': {'readonly': True}, + 'last_timestamp': {'readonly': True}, + 'timescale': {'readonly': True}, + 'overlap_count': {'readonly': True}, + 'discontinuity_count': {'readonly': True}, + 'nonincreasing_count': {'readonly': True}, + 'unexpected_bitrate': {'readonly': True}, + 'state': {'readonly': True}, + 'healthy': {'readonly': True}, + } + + _attribute_map = { + 'track_type': {'key': 'trackType', 'type': 'str'}, + 'track_name': {'key': 'trackName', 'type': 'str'}, + 'bitrate': {'key': 'bitrate', 'type': 'long'}, + 'incoming_bitrate': {'key': 'incomingBitrate', 'type': 'long'}, + 'last_timestamp': {'key': 'lastTimestamp', 'type': 'str'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + 'overlap_count': {'key': 'overlapCount', 'type': 'long'}, + 'discontinuity_count': {'key': 'discontinuityCount', 'type': 'long'}, + 'nonincreasing_count': {'key': 'nonincreasingCount', 'type': 'long'}, + 'unexpected_bitrate': {'key': 'unexpectedBitrate', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'healthy': {'key': 'healthy', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIngestHeartbeatEventData, self).__init__(**kwargs) + self.track_type = None + self.track_name = None + self.bitrate = None + self.incoming_bitrate = None + self.last_timestamp = None + self.timescale = None + self.overlap_count = None + self.discontinuity_count = None + self.nonincreasing_count = None + self.unexpected_bitrate = None + self.state = None + self.healthy = None + + +class MediaLiveEventTrackDiscontinuityDetectedEventData(msrest.serialization.Model): + """Ingest track discontinuity detected event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar track_type: Gets the type of the track (Audio / Video). + :vartype track_type: str + :ivar track_name: Gets the track name. + :vartype track_name: str + :ivar bitrate: Gets the bitrate. + :vartype bitrate: long + :ivar previous_timestamp: Gets the timestamp of the previous fragment. + :vartype previous_timestamp: str + :ivar new_timestamp: Gets the timestamp of the current fragment. + :vartype new_timestamp: str + :ivar timescale: Gets the timescale in which both timestamps and discontinuity gap are + represented. + :vartype timescale: str + :ivar discontinuity_gap: Gets the discontinuity gap between PreviousTimestamp and NewTimestamp. + :vartype discontinuity_gap: str + """ + + _validation = { + 'track_type': {'readonly': True}, + 'track_name': {'readonly': True}, + 'bitrate': {'readonly': True}, + 'previous_timestamp': {'readonly': True}, + 'new_timestamp': {'readonly': True}, + 'timescale': {'readonly': True}, + 'discontinuity_gap': {'readonly': True}, + } + + _attribute_map = { + 'track_type': {'key': 'trackType', 'type': 'str'}, + 'track_name': {'key': 'trackName', 'type': 'str'}, + 'bitrate': {'key': 'bitrate', 'type': 'long'}, + 'previous_timestamp': {'key': 'previousTimestamp', 'type': 'str'}, + 'new_timestamp': {'key': 'newTimestamp', 'type': 'str'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + 'discontinuity_gap': {'key': 'discontinuityGap', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventTrackDiscontinuityDetectedEventData, self).__init__(**kwargs) + self.track_type = None + self.track_name = None + self.bitrate = None + self.previous_timestamp = None + self.new_timestamp = None + self.timescale = None + self.discontinuity_gap = None + + +class RedisExportRDBCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ExportRDBCompleted event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param name: The name of this event. + :type name: str + :param status: The status of this event. Failed or succeeded. + :type status: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RedisExportRDBCompletedEventData, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.name = kwargs.get('name', None) + self.status = kwargs.get('status', None) + + +class RedisImportRDBCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ImportRDBCompleted event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param name: The name of this event. + :type name: str + :param status: The status of this event. Failed or succeeded. + :type status: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RedisImportRDBCompletedEventData, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.name = kwargs.get('name', None) + self.status = kwargs.get('status', None) + + +class RedisPatchingCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Cache.PatchingCompleted event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param name: The name of this event. + :type name: str + :param status: The status of this event. Failed or succeeded. + :type status: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RedisPatchingCompletedEventData, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.name = kwargs.get('name', None) + self.status = kwargs.get('status', None) + + +class RedisScalingCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ScalingCompleted event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param name: The name of this event. + :type name: str + :param status: The status of this event. Failed or succeeded. + :type status: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RedisScalingCompletedEventData, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.name = kwargs.get('name', None) + self.status = kwargs.get('status', None) + + +class ResourceActionCancelData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Resources.ResourceActionCancel event. This is raised when a resource action operation is canceled. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceActionCancelData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ResourceActionFailureData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceActionFailure event. This is raised when a resource action operation fails. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceActionFailureData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ResourceActionSuccessData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceActionSuccess event. This is raised when a resource action operation succeeds. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceActionSuccessData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ResourceDeleteCancelData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Resources.ResourceDeleteCancel event. This is raised when a resource delete operation is canceled. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceDeleteCancelData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ResourceDeleteFailureData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteFailure event. This is raised when a resource delete operation fails. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceDeleteFailureData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ResourceDeleteSuccessData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteSuccess event. This is raised when a resource delete operation succeeds. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceDeleteSuccessData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ResourceWriteCancelData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteCancel event. This is raised when a resource create or update operation is canceled. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceWriteCancelData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ResourceWriteFailureData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteFailure event. This is raised when a resource create or update operation fails. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceWriteFailureData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ResourceWriteSuccessData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteSuccess event. This is raised when a resource create or update operation succeeds. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceWriteSuccessData, self).__init__(**kwargs) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs.get('resource_group', None) + self.resource_provider = kwargs.get('resource_provider', None) + self.resource_uri = kwargs.get('resource_uri', None) + self.operation_name = kwargs.get('operation_name', None) + self.status = kwargs.get('status', None) + self.authorization = kwargs.get('authorization', None) + self.claims = kwargs.get('claims', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.http_request = kwargs.get('http_request', None) + + +class ServiceBusActiveMessagesAvailableWithNoListenersEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners event. + + :param namespace_name: The namespace name of the Microsoft.ServiceBus resource. + :type namespace_name: str + :param request_uri: The endpoint of the Microsoft.ServiceBus resource. + :type request_uri: str + :param entity_type: The entity type of the Microsoft.ServiceBus resource. Could be one of + 'queue' or 'subscriber'. + :type entity_type: str + :param queue_name: The name of the Microsoft.ServiceBus queue. If the entity type is of type + 'subscriber', then this value will be null. + :type queue_name: str + :param topic_name: The name of the Microsoft.ServiceBus topic. If the entity type is of type + 'queue', then this value will be null. + :type topic_name: str + :param subscription_name: The name of the Microsoft.ServiceBus topic's subscription. If the + entity type is of type 'queue', then this value will be null. + :type subscription_name: str + """ + + _attribute_map = { + 'namespace_name': {'key': 'namespaceName', 'type': 'str'}, + 'request_uri': {'key': 'requestUri', 'type': 'str'}, + 'entity_type': {'key': 'entityType', 'type': 'str'}, + 'queue_name': {'key': 'queueName', 'type': 'str'}, + 'topic_name': {'key': 'topicName', 'type': 'str'}, + 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceBusActiveMessagesAvailableWithNoListenersEventData, self).__init__(**kwargs) + self.namespace_name = kwargs.get('namespace_name', None) + self.request_uri = kwargs.get('request_uri', None) + self.entity_type = kwargs.get('entity_type', None) + self.queue_name = kwargs.get('queue_name', None) + self.topic_name = kwargs.get('topic_name', None) + self.subscription_name = kwargs.get('subscription_name', None) + + +class ServiceBusDeadletterMessagesAvailableWithNoListenersEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListenersEvent event. + + :param namespace_name: The namespace name of the Microsoft.ServiceBus resource. + :type namespace_name: str + :param request_uri: The endpoint of the Microsoft.ServiceBus resource. + :type request_uri: str + :param entity_type: The entity type of the Microsoft.ServiceBus resource. Could be one of + 'queue' or 'subscriber'. + :type entity_type: str + :param queue_name: The name of the Microsoft.ServiceBus queue. If the entity type is of type + 'subscriber', then this value will be null. + :type queue_name: str + :param topic_name: The name of the Microsoft.ServiceBus topic. If the entity type is of type + 'queue', then this value will be null. + :type topic_name: str + :param subscription_name: The name of the Microsoft.ServiceBus topic's subscription. If the + entity type is of type 'queue', then this value will be null. + :type subscription_name: str + """ + + _attribute_map = { + 'namespace_name': {'key': 'namespaceName', 'type': 'str'}, + 'request_uri': {'key': 'requestUri', 'type': 'str'}, + 'entity_type': {'key': 'entityType', 'type': 'str'}, + 'queue_name': {'key': 'queueName', 'type': 'str'}, + 'topic_name': {'key': 'topicName', 'type': 'str'}, + 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceBusDeadletterMessagesAvailableWithNoListenersEventData, self).__init__(**kwargs) + self.namespace_name = kwargs.get('namespace_name', None) + self.request_uri = kwargs.get('request_uri', None) + self.entity_type = kwargs.get('entity_type', None) + self.queue_name = kwargs.get('queue_name', None) + self.topic_name = kwargs.get('topic_name', None) + self.subscription_name = kwargs.get('subscription_name', None) + + +class SignalRServiceClientConnectionConnectedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.SignalRService.ClientConnectionConnected event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param hub_name: The hub of connected client connection. + :type hub_name: str + :param connection_id: The connection Id of connected client connection. + :type connection_id: str + :param user_id: The user Id of connected client connection. + :type user_id: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'connection_id': {'key': 'connectionId', 'type': 'str'}, + 'user_id': {'key': 'userId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SignalRServiceClientConnectionConnectedEventData, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.hub_name = kwargs.get('hub_name', None) + self.connection_id = kwargs.get('connection_id', None) + self.user_id = kwargs.get('user_id', None) + + +class SignalRServiceClientConnectionDisconnectedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.SignalRService.ClientConnectionDisconnected event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param hub_name: The hub of connected client connection. + :type hub_name: str + :param connection_id: The connection Id of connected client connection. + :type connection_id: str + :param user_id: The user Id of connected client connection. + :type user_id: str + :param error_message: The message of error that cause the client connection disconnected. + :type error_message: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'connection_id': {'key': 'connectionId', 'type': 'str'}, + 'user_id': {'key': 'userId', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SignalRServiceClientConnectionDisconnectedEventData, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.hub_name = kwargs.get('hub_name', None) + self.connection_id = kwargs.get('connection_id', None) + self.user_id = kwargs.get('user_id', None) + self.error_message = kwargs.get('error_message', None) + + +class SMSDeliveryAttemptProperties(msrest.serialization.Model): + """Schema for details of a delivery attempt. + + :param timestamp: TimeStamp when delivery was attempted. + :type timestamp: ~datetime.datetime + :param segments_succeeded: Number of segments that were successfully delivered. + :type segments_succeeded: int + :param segments_failed: Number of segments whose delivery failed. + :type segments_failed: int + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'segments_succeeded': {'key': 'segmentsSucceeded', 'type': 'int'}, + 'segments_failed': {'key': 'segmentsFailed', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(SMSDeliveryAttemptProperties, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.segments_succeeded = kwargs.get('segments_succeeded', None) + self.segments_failed = kwargs.get('segments_failed', None) + + +class SMSEventBaseProperties(msrest.serialization.Model): + """Schema of common properties of all SMS events. + + :param message_id: The identity of the SMS message. + :type message_id: str + :param from_property: The identity of SMS message sender. + :type from_property: str + :param to: The identity of SMS message receiver. + :type to: str + """ + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'from_property': {'key': 'from', 'type': 'str'}, + 'to': {'key': 'to', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SMSEventBaseProperties, self).__init__(**kwargs) + self.message_id = kwargs.get('message_id', None) + self.from_property = kwargs.get('from_property', None) + self.to = kwargs.get('to', None) + + +class SMSDeliveryReportReceivedEventData(SMSEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSDeliveryReportReceived event. + + :param message_id: The identity of the SMS message. + :type message_id: str + :param from_property: The identity of SMS message sender. + :type from_property: str + :param to: The identity of SMS message receiver. + :type to: str + :param delivery_status: Status of Delivery. + :type delivery_status: str + :param delivery_status_details: Details about Delivery Status. + :type delivery_status_details: str + :param delivery_attempts: List of details of delivery attempts made. + :type delivery_attempts: list[~event_grid_publisher_client.models.SMSDeliveryAttemptProperties] + """ + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'from_property': {'key': 'from', 'type': 'str'}, + 'to': {'key': 'to', 'type': 'str'}, + 'delivery_status': {'key': 'deliveryStatus', 'type': 'str'}, + 'delivery_status_details': {'key': 'deliveryStatusDetails', 'type': 'str'}, + 'delivery_attempts': {'key': 'deliveryAttempts', 'type': '[SMSDeliveryAttemptProperties]'}, + } + + def __init__( + self, + **kwargs + ): + super(SMSDeliveryReportReceivedEventData, self).__init__(**kwargs) + self.delivery_status = kwargs.get('delivery_status', None) + self.delivery_status_details = kwargs.get('delivery_status_details', None) + self.delivery_attempts = kwargs.get('delivery_attempts', None) + + +class SMSReceivedEventData(SMSEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSReceived event. + + :param message_id: The identity of the SMS message. + :type message_id: str + :param from_property: The identity of SMS message sender. + :type from_property: str + :param to: The identity of SMS message receiver. + :type to: str + :param message: The SMS content. + :type message: str + :param received_timestamp: The time at which the SMS was received. + :type received_timestamp: ~datetime.datetime + """ + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'from_property': {'key': 'from', 'type': 'str'}, + 'to': {'key': 'to', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'received_timestamp': {'key': 'receivedTimestamp', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SMSReceivedEventData, self).__init__(**kwargs) + self.message = kwargs.get('message', None) + self.received_timestamp = kwargs.get('received_timestamp', None) + + +class StorageBlobCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobCreated event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the Storage service for the storage API + operation that triggered this event. + :type request_id: str + :param e_tag: The etag of the blob at the time this event was triggered. + :type e_tag: str + :param content_type: The content type of the blob. This is the same as what would be returned + in the Content-Type header from the blob. + :type content_type: str + :param content_length: The size of the blob in bytes. This is the same as what would be + returned in the Content-Length header from the blob. + :type content_length: long + :param content_offset: The offset of the blob in bytes. + :type content_offset: long + :param blob_type: The type of blob. + :type blob_type: str + :param url: The path to the blob. + :type url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular blob name. Users can use standard string comparison to understand the relative + sequence of two events on the same blob name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'content_length': {'key': 'contentLength', 'type': 'long'}, + 'content_offset': {'key': 'contentOffset', 'type': 'long'}, + 'blob_type': {'key': 'blobType', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageBlobCreatedEventData, self).__init__(**kwargs) + self.api = kwargs.get('api', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.e_tag = kwargs.get('e_tag', None) + self.content_type = kwargs.get('content_type', None) + self.content_length = kwargs.get('content_length', None) + self.content_offset = kwargs.get('content_offset', None) + self.blob_type = kwargs.get('blob_type', None) + self.url = kwargs.get('url', None) + self.sequencer = kwargs.get('sequencer', None) + self.identity = kwargs.get('identity', None) + self.storage_diagnostics = kwargs.get('storage_diagnostics', None) + + +class StorageBlobDeletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobDeleted event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the Storage service for the storage API + operation that triggered this event. + :type request_id: str + :param content_type: The content type of the blob. This is the same as what would be returned + in the Content-Type header from the blob. + :type content_type: str + :param blob_type: The type of blob. + :type blob_type: str + :param url: The path to the blob. + :type url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular blob name. Users can use standard string comparison to understand the relative + sequence of two events on the same blob name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'blob_type': {'key': 'blobType', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageBlobDeletedEventData, self).__init__(**kwargs) + self.api = kwargs.get('api', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.content_type = kwargs.get('content_type', None) + self.blob_type = kwargs.get('blob_type', None) + self.url = kwargs.get('url', None) + self.sequencer = kwargs.get('sequencer', None) + self.identity = kwargs.get('identity', None) + self.storage_diagnostics = kwargs.get('storage_diagnostics', None) + + +class StorageBlobRenamedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobRenamed event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the storage service for the storage API + operation that triggered this event. + :type request_id: str + :param source_url: The path to the blob that was renamed. + :type source_url: str + :param destination_url: The new path to the blob after the rename operation. + :type destination_url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular blob name. Users can use standard string comparison to understand the relative + sequence of two events on the same blob name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'source_url': {'key': 'sourceUrl', 'type': 'str'}, + 'destination_url': {'key': 'destinationUrl', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageBlobRenamedEventData, self).__init__(**kwargs) + self.api = kwargs.get('api', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.source_url = kwargs.get('source_url', None) + self.destination_url = kwargs.get('destination_url', None) + self.sequencer = kwargs.get('sequencer', None) + self.identity = kwargs.get('identity', None) + self.storage_diagnostics = kwargs.get('storage_diagnostics', None) + + +class StorageDirectoryCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryCreated event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the storage service for the storage API + operation that triggered this event. + :type request_id: str + :param e_tag: The etag of the directory at the time this event was triggered. + :type e_tag: str + :param url: The path to the directory. + :type url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular directory name. Users can use standard string comparison to understand the relative + sequence of two events on the same directory name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageDirectoryCreatedEventData, self).__init__(**kwargs) + self.api = kwargs.get('api', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.e_tag = kwargs.get('e_tag', None) + self.url = kwargs.get('url', None) + self.sequencer = kwargs.get('sequencer', None) + self.identity = kwargs.get('identity', None) + self.storage_diagnostics = kwargs.get('storage_diagnostics', None) + + +class StorageDirectoryDeletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryDeleted event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the storage service for the storage API + operation that triggered this event. + :type request_id: str + :param url: The path to the deleted directory. + :type url: str + :param recursive: Is this event for a recursive delete operation. + :type recursive: bool + :param sequencer: An opaque string value representing the logical sequence of events for any + particular directory name. Users can use standard string comparison to understand the relative + sequence of two events on the same directory name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'recursive': {'key': 'recursive', 'type': 'bool'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageDirectoryDeletedEventData, self).__init__(**kwargs) + self.api = kwargs.get('api', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.url = kwargs.get('url', None) + self.recursive = kwargs.get('recursive', None) + self.sequencer = kwargs.get('sequencer', None) + self.identity = kwargs.get('identity', None) + self.storage_diagnostics = kwargs.get('storage_diagnostics', None) + + +class StorageDirectoryRenamedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryRenamed event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the storage service for the storage API + operation that triggered this event. + :type request_id: str + :param source_url: The path to the directory that was renamed. + :type source_url: str + :param destination_url: The new path to the directory after the rename operation. + :type destination_url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular directory name. Users can use standard string comparison to understand the relative + sequence of two events on the same directory name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'source_url': {'key': 'sourceUrl', 'type': 'str'}, + 'destination_url': {'key': 'destinationUrl', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageDirectoryRenamedEventData, self).__init__(**kwargs) + self.api = kwargs.get('api', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.source_url = kwargs.get('source_url', None) + self.destination_url = kwargs.get('destination_url', None) + self.sequencer = kwargs.get('sequencer', None) + self.identity = kwargs.get('identity', None) + self.storage_diagnostics = kwargs.get('storage_diagnostics', None) + + +class StorageLifecyclePolicyActionSummaryDetail(msrest.serialization.Model): + """Execution statistics of a specific policy action in a Blob Management cycle. + + :param total_objects_count: Total number of objects to be acted on by this action. + :type total_objects_count: long + :param success_count: Number of success operations of this action. + :type success_count: long + :param error_list: Error messages of this action if any. + :type error_list: str + """ + + _attribute_map = { + 'total_objects_count': {'key': 'totalObjectsCount', 'type': 'long'}, + 'success_count': {'key': 'successCount', 'type': 'long'}, + 'error_list': {'key': 'errorList', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageLifecyclePolicyActionSummaryDetail, self).__init__(**kwargs) + self.total_objects_count = kwargs.get('total_objects_count', None) + self.success_count = kwargs.get('success_count', None) + self.error_list = kwargs.get('error_list', None) + + +class StorageLifecyclePolicyCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.LifecyclePolicyCompleted event. + + :param schedule_time: The time the policy task was scheduled. + :type schedule_time: str + :param delete_summary: Execution statistics of a specific policy action in a Blob Management + cycle. + :type delete_summary: + ~event_grid_publisher_client.models.StorageLifecyclePolicyActionSummaryDetail + :param tier_to_cool_summary: Execution statistics of a specific policy action in a Blob + Management cycle. + :type tier_to_cool_summary: + ~event_grid_publisher_client.models.StorageLifecyclePolicyActionSummaryDetail + :param tier_to_archive_summary: Execution statistics of a specific policy action in a Blob + Management cycle. + :type tier_to_archive_summary: + ~event_grid_publisher_client.models.StorageLifecyclePolicyActionSummaryDetail + """ + + _attribute_map = { + 'schedule_time': {'key': 'scheduleTime', 'type': 'str'}, + 'delete_summary': {'key': 'deleteSummary', 'type': 'StorageLifecyclePolicyActionSummaryDetail'}, + 'tier_to_cool_summary': {'key': 'tierToCoolSummary', 'type': 'StorageLifecyclePolicyActionSummaryDetail'}, + 'tier_to_archive_summary': {'key': 'tierToArchiveSummary', 'type': 'StorageLifecyclePolicyActionSummaryDetail'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageLifecyclePolicyCompletedEventData, self).__init__(**kwargs) + self.schedule_time = kwargs.get('schedule_time', None) + self.delete_summary = kwargs.get('delete_summary', None) + self.tier_to_cool_summary = kwargs.get('tier_to_cool_summary', None) + self.tier_to_archive_summary = kwargs.get('tier_to_archive_summary', None) + + +class SubscriptionDeletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionDeletedEvent. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar event_subscription_id: The Azure resource ID of the deleted event subscription. + :vartype event_subscription_id: str + """ + + _validation = { + 'event_subscription_id': {'readonly': True}, + } + + _attribute_map = { + 'event_subscription_id': {'key': 'eventSubscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubscriptionDeletedEventData, self).__init__(**kwargs) + self.event_subscription_id = None + + +class SubscriptionValidationEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionValidationEvent. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar validation_code: The validation code sent by Azure Event Grid to validate an event + subscription. To complete the validation handshake, the subscriber must either respond with + this validation code as part of the validation response, or perform a GET request on the + validationUrl (available starting version 2018-05-01-preview). + :vartype validation_code: str + :ivar validation_url: The validation URL sent by Azure Event Grid (available starting version + 2018-05-01-preview). To complete the validation handshake, the subscriber must either respond + with the validationCode as part of the validation response, or perform a GET request on the + validationUrl (available starting version 2018-05-01-preview). + :vartype validation_url: str + """ + + _validation = { + 'validation_code': {'readonly': True}, + 'validation_url': {'readonly': True}, + } + + _attribute_map = { + 'validation_code': {'key': 'validationCode', 'type': 'str'}, + 'validation_url': {'key': 'validationUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubscriptionValidationEventData, self).__init__(**kwargs) + self.validation_code = None + self.validation_url = None + + +class SubscriptionValidationResponse(msrest.serialization.Model): + """To complete an event subscription validation handshake, a subscriber can use either the validationCode or the validationUrl received in a SubscriptionValidationEvent. When the validationCode is used, the SubscriptionValidationResponse can be used to build the response. + + :param validation_response: The validation response sent by the subscriber to Azure Event Grid + to complete the validation of an event subscription. + :type validation_response: str + """ + + _attribute_map = { + 'validation_response': {'key': 'validationResponse', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubscriptionValidationResponse, self).__init__(**kwargs) + self.validation_response = kwargs.get('validation_response', None) + + +class WebAppServicePlanUpdatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.AppServicePlanUpdated event. + + :param app_service_plan_event_type_detail: Detail of action on the app service plan. + :type app_service_plan_event_type_detail: + ~event_grid_publisher_client.models.AppServicePlanEventTypeDetail + :param sku: sku of app service plan. + :type sku: ~event_grid_publisher_client.models.WebAppServicePlanUpdatedEventDataSku + :param name: name of the app service plan that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the app + service plan API operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + app service plan API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the app service plan API + operation that triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_service_plan_event_type_detail': {'key': 'appServicePlanEventTypeDetail', 'type': 'AppServicePlanEventTypeDetail'}, + 'sku': {'key': 'sku', 'type': 'WebAppServicePlanUpdatedEventDataSku'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebAppServicePlanUpdatedEventData, self).__init__(**kwargs) + self.app_service_plan_event_type_detail = kwargs.get('app_service_plan_event_type_detail', None) + self.sku = kwargs.get('sku', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebAppServicePlanUpdatedEventDataSku(msrest.serialization.Model): + """sku of app service plan. + + :param name: name of app service plan sku. + :type name: str + :param tier: tier of app service plan sku. + :type tier: str + :param size: size of app service plan sku. + :type size: str + :param family: family of app service plan sku. + :type family: str + :param capacity: capacity of app service plan sku. + :type capacity: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'Tier', 'type': 'str'}, + 'size': {'key': 'Size', 'type': 'str'}, + 'family': {'key': 'Family', 'type': 'str'}, + 'capacity': {'key': 'Capacity', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebAppServicePlanUpdatedEventDataSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.capacity = kwargs.get('capacity', None) + + +class WebAppUpdatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.AppUpdated event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebAppUpdatedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebBackupOperationCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationCompleted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebBackupOperationCompletedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebBackupOperationFailedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationFailed event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebBackupOperationFailedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebBackupOperationStartedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationStarted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebBackupOperationStartedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebRestoreOperationCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationCompleted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebRestoreOperationCompletedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebRestoreOperationFailedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationFailed event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebRestoreOperationFailedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebRestoreOperationStartedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationStarted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebRestoreOperationStartedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebSlotSwapCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapCompleted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebSlotSwapCompletedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebSlotSwapFailedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapFailed event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebSlotSwapFailedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebSlotSwapStartedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapStarted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebSlotSwapStartedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebSlotSwapWithPreviewCancelledEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapWithPreviewCancelled event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebSlotSwapWithPreviewCancelledEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) + + +class WebSlotSwapWithPreviewStartedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapWithPreviewStarted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebSlotSwapWithPreviewStartedEventData, self).__init__(**kwargs) + self.app_event_type_detail = kwargs.get('app_event_type_detail', None) + self.name = kwargs.get('name', None) + self.client_request_id = kwargs.get('client_request_id', None) + self.correlation_request_id = kwargs.get('correlation_request_id', None) + self.request_id = kwargs.get('request_id', None) + self.address = kwargs.get('address', None) + self.verb = kwargs.get('verb', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_models_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_models_py3.py new file mode 100644 index 000000000000..7646d84b4620 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/models/_models_py3.py @@ -0,0 +1,6351 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +import msrest.serialization + +from ._event_grid_publisher_client_enums import * + + +class AppConfigurationKeyValueDeletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.AppConfiguration.KeyValueDeleted event. + + :param key: The key used to identify the key-value that was deleted. + :type key: str + :param label: The label, if any, used to identify the key-value that was deleted. + :type label: str + :param etag: The etag representing the key-value that was deleted. + :type etag: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__( + self, + *, + key: Optional[str] = None, + label: Optional[str] = None, + etag: Optional[str] = None, + **kwargs + ): + super(AppConfigurationKeyValueDeletedEventData, self).__init__(**kwargs) + self.key = key + self.label = label + self.etag = etag + + +class AppConfigurationKeyValueModifiedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.AppConfiguration.KeyValueModified event. + + :param key: The key used to identify the key-value that was modified. + :type key: str + :param label: The label, if any, used to identify the key-value that was modified. + :type label: str + :param etag: The etag representing the new state of the key-value. + :type etag: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__( + self, + *, + key: Optional[str] = None, + label: Optional[str] = None, + etag: Optional[str] = None, + **kwargs + ): + super(AppConfigurationKeyValueModifiedEventData, self).__init__(**kwargs) + self.key = key + self.label = label + self.etag = etag + + +class AppEventTypeDetail(msrest.serialization.Model): + """Detail of action on the app. + + :param action: Type of action of the operation. Possible values include: "Restarted", + "Stopped", "ChangedAppSettings", "Started", "Completed", "Failed". + :type action: str or ~event_grid_publisher_client.models.AppAction + """ + + _attribute_map = { + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__( + self, + *, + action: Optional[Union[str, "AppAction"]] = None, + **kwargs + ): + super(AppEventTypeDetail, self).__init__(**kwargs) + self.action = action + + +class AppServicePlanEventTypeDetail(msrest.serialization.Model): + """Detail of action on the app service plan. + + :param stamp_kind: Kind of environment where app service plan is. Possible values include: + "Public", "AseV1", "AseV2". + :type stamp_kind: str or ~event_grid_publisher_client.models.StampKind + :param action: Type of action on the app service plan. Possible values include: "Updated". + :type action: str or ~event_grid_publisher_client.models.AppServicePlanAction + :param status: Asynchronous operation status of the operation on the app service plan. Possible + values include: "Started", "Completed", "Failed". + :type status: str or ~event_grid_publisher_client.models.AsyncStatus + """ + + _attribute_map = { + 'stamp_kind': {'key': 'stampKind', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + stamp_kind: Optional[Union[str, "StampKind"]] = None, + action: Optional[Union[str, "AppServicePlanAction"]] = None, + status: Optional[Union[str, "AsyncStatus"]] = None, + **kwargs + ): + super(AppServicePlanEventTypeDetail, self).__init__(**kwargs) + self.stamp_kind = stamp_kind + self.action = action + self.status = status + + +class ChatEventBaseProperties(msrest.serialization.Model): + """Schema of common properties of all chat events. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + **kwargs + ): + super(ChatEventBaseProperties, self).__init__(**kwargs) + self.recipient_id = recipient_id + self.transaction_id = transaction_id + self.thread_id = thread_id + + +class ChatThreadEventBaseProperties(ChatEventBaseProperties): + """Schema of common properties of all chat thread events. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + create_time: Optional[datetime.datetime] = None, + version: Optional[int] = None, + **kwargs + ): + super(ChatThreadEventBaseProperties, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, **kwargs) + self.create_time = create_time + self.version = version + + +class ChatMemberAddedToThreadWithUserEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMemberAddedToThreadWithUser event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param time: The time at which the user was added to the thread. + :type time: ~datetime.datetime + :param added_by: The MRI of the user who added the user. + :type added_by: str + :param member: The details of the user who was added. + :type member: ~event_grid_publisher_client.models.ChatThreadMemberProperties + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'added_by': {'key': 'addedBy', 'type': 'str'}, + 'member': {'key': 'member', 'type': 'ChatThreadMemberProperties'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + create_time: Optional[datetime.datetime] = None, + version: Optional[int] = None, + time: Optional[datetime.datetime] = None, + added_by: Optional[str] = None, + member: Optional["ChatThreadMemberProperties"] = None, + **kwargs + ): + super(ChatMemberAddedToThreadWithUserEventData, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, create_time=create_time, version=version, **kwargs) + self.time = time + self.added_by = added_by + self.member = member + + +class ChatMemberRemovedFromThreadForWithUserEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMemberRemovedFromThreadForWithUser event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param time: The time at which the user was removed to the thread. + :type time: ~datetime.datetime + :param removed_by: The MRI of the user who removed the user. + :type removed_by: str + :param member: The details of the user who was removed. + :type member: ~event_grid_publisher_client.models.ChatThreadMemberProperties + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'removed_by': {'key': 'removedBy', 'type': 'str'}, + 'member': {'key': 'member', 'type': 'ChatThreadMemberProperties'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + create_time: Optional[datetime.datetime] = None, + version: Optional[int] = None, + time: Optional[datetime.datetime] = None, + removed_by: Optional[str] = None, + member: Optional["ChatThreadMemberProperties"] = None, + **kwargs + ): + super(ChatMemberRemovedFromThreadForWithUserEventData, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, create_time=create_time, version=version, **kwargs) + self.time = time + self.removed_by = removed_by + self.member = member + + +class ChatMessageEventBaseProperties(ChatEventBaseProperties): + """Schema of common properties of all chat message events. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param message_id: The chat message id. + :type message_id: str + :param collapse_id: The collapse id is used to identify the message threads. + :type collapse_id: str + :param client_message_id: The messaged Id generated by the sending client. + :type client_message_id: str + :param sender_id: The MRI of the sender. + :type sender_id: str + :param sender_display_name: The display name of the sender. + :type sender_display_name: str + :param compose_time: The original compose time of the message. + :type compose_time: ~datetime.datetime + :param message_type: The type of the message. + :type message_type: str + :param version: The version of the message. + :type version: int + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'collapse_id': {'key': 'collapseId', 'type': 'str'}, + 'client_message_id': {'key': 'clientMessageId', 'type': 'str'}, + 'sender_id': {'key': 'senderId', 'type': 'str'}, + 'sender_display_name': {'key': 'senderDisplayName', 'type': 'str'}, + 'compose_time': {'key': 'composeTime', 'type': 'iso-8601'}, + 'message_type': {'key': 'messageType', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + message_id: Optional[str] = None, + collapse_id: Optional[str] = None, + client_message_id: Optional[str] = None, + sender_id: Optional[str] = None, + sender_display_name: Optional[str] = None, + compose_time: Optional[datetime.datetime] = None, + message_type: Optional[str] = None, + version: Optional[int] = None, + **kwargs + ): + super(ChatMessageEventBaseProperties, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, **kwargs) + self.message_id = message_id + self.collapse_id = collapse_id + self.client_message_id = client_message_id + self.sender_id = sender_id + self.sender_display_name = sender_display_name + self.compose_time = compose_time + self.message_type = message_type + self.version = version + + +class ChatMessageDeletedEventData(ChatMessageEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageDeleted event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param message_id: The chat message id. + :type message_id: str + :param collapse_id: The collapse id is used to identify the message threads. + :type collapse_id: str + :param client_message_id: The messaged Id generated by the sending client. + :type client_message_id: str + :param sender_id: The MRI of the sender. + :type sender_id: str + :param sender_display_name: The display name of the sender. + :type sender_display_name: str + :param compose_time: The original compose time of the message. + :type compose_time: ~datetime.datetime + :param message_type: The type of the message. + :type message_type: str + :param version: The version of the message. + :type version: int + :param delete_time: The time at which the message was deleted. + :type delete_time: ~datetime.datetime + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'collapse_id': {'key': 'collapseId', 'type': 'str'}, + 'client_message_id': {'key': 'clientMessageId', 'type': 'str'}, + 'sender_id': {'key': 'senderId', 'type': 'str'}, + 'sender_display_name': {'key': 'senderDisplayName', 'type': 'str'}, + 'compose_time': {'key': 'composeTime', 'type': 'iso-8601'}, + 'message_type': {'key': 'messageType', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + 'delete_time': {'key': 'deleteTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + message_id: Optional[str] = None, + collapse_id: Optional[str] = None, + client_message_id: Optional[str] = None, + sender_id: Optional[str] = None, + sender_display_name: Optional[str] = None, + compose_time: Optional[datetime.datetime] = None, + message_type: Optional[str] = None, + version: Optional[int] = None, + delete_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(ChatMessageDeletedEventData, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, message_id=message_id, collapse_id=collapse_id, client_message_id=client_message_id, sender_id=sender_id, sender_display_name=sender_display_name, compose_time=compose_time, message_type=message_type, version=version, **kwargs) + self.delete_time = delete_time + + +class ChatMessageEditedEventData(ChatMessageEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageEdited event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param message_id: The chat message id. + :type message_id: str + :param collapse_id: The collapse id is used to identify the message threads. + :type collapse_id: str + :param client_message_id: The messaged Id generated by the sending client. + :type client_message_id: str + :param sender_id: The MRI of the sender. + :type sender_id: str + :param sender_display_name: The display name of the sender. + :type sender_display_name: str + :param compose_time: The original compose time of the message. + :type compose_time: ~datetime.datetime + :param message_type: The type of the message. + :type message_type: str + :param version: The version of the message. + :type version: int + :param message_body: The body of the chat message. + :type message_body: str + :param edit_time: The time at which the message was edited. + :type edit_time: ~datetime.datetime + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'collapse_id': {'key': 'collapseId', 'type': 'str'}, + 'client_message_id': {'key': 'clientMessageId', 'type': 'str'}, + 'sender_id': {'key': 'senderId', 'type': 'str'}, + 'sender_display_name': {'key': 'senderDisplayName', 'type': 'str'}, + 'compose_time': {'key': 'composeTime', 'type': 'iso-8601'}, + 'message_type': {'key': 'messageType', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + 'message_body': {'key': 'messageBody', 'type': 'str'}, + 'edit_time': {'key': 'editTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + message_id: Optional[str] = None, + collapse_id: Optional[str] = None, + client_message_id: Optional[str] = None, + sender_id: Optional[str] = None, + sender_display_name: Optional[str] = None, + compose_time: Optional[datetime.datetime] = None, + message_type: Optional[str] = None, + version: Optional[int] = None, + message_body: Optional[str] = None, + edit_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(ChatMessageEditedEventData, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, message_id=message_id, collapse_id=collapse_id, client_message_id=client_message_id, sender_id=sender_id, sender_display_name=sender_display_name, compose_time=compose_time, message_type=message_type, version=version, **kwargs) + self.message_body = message_body + self.edit_time = edit_time + + +class ChatMessageReceivedEventData(ChatMessageEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageReceived event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param message_id: The chat message id. + :type message_id: str + :param collapse_id: The collapse id is used to identify the message threads. + :type collapse_id: str + :param client_message_id: The messaged Id generated by the sending client. + :type client_message_id: str + :param sender_id: The MRI of the sender. + :type sender_id: str + :param sender_display_name: The display name of the sender. + :type sender_display_name: str + :param compose_time: The original compose time of the message. + :type compose_time: ~datetime.datetime + :param message_type: The type of the message. + :type message_type: str + :param version: The version of the message. + :type version: int + :param message_body: The body of the chat message. + :type message_body: str + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'collapse_id': {'key': 'collapseId', 'type': 'str'}, + 'client_message_id': {'key': 'clientMessageId', 'type': 'str'}, + 'sender_id': {'key': 'senderId', 'type': 'str'}, + 'sender_display_name': {'key': 'senderDisplayName', 'type': 'str'}, + 'compose_time': {'key': 'composeTime', 'type': 'iso-8601'}, + 'message_type': {'key': 'messageType', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'int'}, + 'message_body': {'key': 'messageBody', 'type': 'str'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + message_id: Optional[str] = None, + collapse_id: Optional[str] = None, + client_message_id: Optional[str] = None, + sender_id: Optional[str] = None, + sender_display_name: Optional[str] = None, + compose_time: Optional[datetime.datetime] = None, + message_type: Optional[str] = None, + version: Optional[int] = None, + message_body: Optional[str] = None, + **kwargs + ): + super(ChatMessageReceivedEventData, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, message_id=message_id, collapse_id=collapse_id, client_message_id=client_message_id, sender_id=sender_id, sender_display_name=sender_display_name, compose_time=compose_time, message_type=message_type, version=version, **kwargs) + self.message_body = message_body + + +class ChatThreadCreatedWithUserEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadCreatedWithUser event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param created_by: The MRI of the creator of the thread. + :type created_by: str + :param thread_type: The type of the thread. + :type thread_type: str + :param properties: The thread properties. + :type properties: dict[str, object] + :param members: The list of properties of users who are part of the thread. + :type members: list[~event_grid_publisher_client.models.ChatThreadMemberProperties] + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'thread_type': {'key': 'threadType', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{object}'}, + 'members': {'key': 'members', 'type': '[ChatThreadMemberProperties]'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + create_time: Optional[datetime.datetime] = None, + version: Optional[int] = None, + created_by: Optional[str] = None, + thread_type: Optional[str] = None, + properties: Optional[Dict[str, object]] = None, + members: Optional[List["ChatThreadMemberProperties"]] = None, + **kwargs + ): + super(ChatThreadCreatedWithUserEventData, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, create_time=create_time, version=version, **kwargs) + self.created_by = created_by + self.thread_type = thread_type + self.properties = properties + self.members = members + + +class ChatThreadMemberProperties(msrest.serialization.Model): + """Schema of the chat thread member. + + :param friendly_name: The name of the user. + :type friendly_name: str + :param member_id: The MRI of the user. + :type member_id: str + """ + + _attribute_map = { + 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, + 'member_id': {'key': 'memberId', 'type': 'str'}, + } + + def __init__( + self, + *, + friendly_name: Optional[str] = None, + member_id: Optional[str] = None, + **kwargs + ): + super(ChatThreadMemberProperties, self).__init__(**kwargs) + self.friendly_name = friendly_name + self.member_id = member_id + + +class ChatThreadPropertiesUpdatedPerUserEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param edited_by: The MRI of the user who updated the thread properties. + :type edited_by: str + :param edit_time: The time at which the properties of the thread were updated. + :type edit_time: ~datetime.datetime + :param properties: The updated thread properties. + :type properties: dict[str, object] + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'edited_by': {'key': 'editedBy', 'type': 'str'}, + 'edit_time': {'key': 'editTime', 'type': 'iso-8601'}, + 'properties': {'key': 'properties', 'type': '{object}'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + create_time: Optional[datetime.datetime] = None, + version: Optional[int] = None, + edited_by: Optional[str] = None, + edit_time: Optional[datetime.datetime] = None, + properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(ChatThreadPropertiesUpdatedPerUserEventData, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, create_time=create_time, version=version, **kwargs) + self.edited_by = edited_by + self.edit_time = edit_time + self.properties = properties + + +class ChatThreadWithUserDeletedEventData(ChatThreadEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadWithUserDeleted event. + + :param recipient_id: The MRI of the target user. + :type recipient_id: str + :param transaction_id: The transaction id will be used as co-relation vector. + :type transaction_id: str + :param thread_id: The chat thread id. + :type thread_id: str + :param create_time: The original creation time of the thread. + :type create_time: ~datetime.datetime + :param version: The version of the thread. + :type version: int + :param deleted_by: The MRI of the user who deleted the thread. + :type deleted_by: str + :param delete_time: The deletion time of the thread. + :type delete_time: ~datetime.datetime + """ + + _attribute_map = { + 'recipient_id': {'key': 'recipientId', 'type': 'str'}, + 'transaction_id': {'key': 'transactionId', 'type': 'str'}, + 'thread_id': {'key': 'threadId', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + 'version': {'key': 'version', 'type': 'int'}, + 'deleted_by': {'key': 'deletedBy', 'type': 'str'}, + 'delete_time': {'key': 'deleteTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + recipient_id: Optional[str] = None, + transaction_id: Optional[str] = None, + thread_id: Optional[str] = None, + create_time: Optional[datetime.datetime] = None, + version: Optional[int] = None, + deleted_by: Optional[str] = None, + delete_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(ChatThreadWithUserDeletedEventData, self).__init__(recipient_id=recipient_id, transaction_id=transaction_id, thread_id=thread_id, create_time=create_time, version=version, **kwargs) + self.deleted_by = deleted_by + self.delete_time = delete_time + + +class CloudEvent(msrest.serialization.Model): + """Properties of an event published to an Event Grid topic using the CloudEvent 1.0 Schema. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param id: Required. An identifier for the event. The combination of id and source must be + unique for each distinct event. + :type id: str + :param source: Required. Identifies the context in which an event happened. The combination of + id and source must be unique for each distinct event. + :type source: str + :param data: Event data specific to the event type. + :type data: object + :param data_base64: Event data specific to the event type, encoded as a base64 string. + :type data_base64: bytearray + :param type: Required. Type of event related to the originating occurrence. + :type type: str + :param time: The time (in UTC) the event was generated, in RFC3339 format. + :type time: ~datetime.datetime + :param specversion: Required. The version of the CloudEvents specification which the event + uses. + :type specversion: str + :param dataschema: Identifies the schema that data adheres to. + :type dataschema: str + :param datacontenttype: Content type of data value. + :type datacontenttype: str + :param subject: This describes the subject of the event in the context of the event producer + (identified by source). + :type subject: str + """ + + _validation = { + 'id': {'required': True}, + 'source': {'required': True}, + 'type': {'required': True}, + 'specversion': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'object'}, + 'data_base64': {'key': 'data_base64', 'type': 'bytearray'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'specversion': {'key': 'specversion', 'type': 'str'}, + 'dataschema': {'key': 'dataschema', 'type': 'str'}, + 'datacontenttype': {'key': 'datacontenttype', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + source: str, + type: str, + specversion: str, + additional_properties: Optional[Dict[str, object]] = None, + data: Optional[object] = None, + data_base64: Optional[bytearray] = None, + time: Optional[datetime.datetime] = None, + dataschema: Optional[str] = None, + datacontenttype: Optional[str] = None, + subject: Optional[str] = None, + **kwargs + ): + super(CloudEvent, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.id = id + self.source = source + self.data = data + self.data_base64 = data_base64 + self.type = type + self.time = time + self.specversion = specversion + self.dataschema = dataschema + self.datacontenttype = datacontenttype + self.subject = subject + + +class ContainerRegistryArtifactEventData(msrest.serialization.Model): + """The content of the event request message. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryArtifactEventTarget + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + timestamp: Optional[datetime.datetime] = None, + action: Optional[str] = None, + target: Optional["ContainerRegistryArtifactEventTarget"] = None, + **kwargs + ): + super(ContainerRegistryArtifactEventData, self).__init__(**kwargs) + self.id = id + self.timestamp = timestamp + self.action = action + self.target = target + + +class ContainerRegistryArtifactEventTarget(msrest.serialization.Model): + """The target of the event. + + :param media_type: The MIME type of the artifact. + :type media_type: str + :param size: The size in bytes of the artifact. + :type size: long + :param digest: The digest of the artifact. + :type digest: str + :param repository: The repository name of the artifact. + :type repository: str + :param tag: The tag of the artifact. + :type tag: str + :param name: The name of the artifact. + :type name: str + :param version: The version of the artifact. + :type version: str + """ + + _attribute_map = { + 'media_type': {'key': 'mediaType', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'long'}, + 'digest': {'key': 'digest', 'type': 'str'}, + 'repository': {'key': 'repository', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + *, + media_type: Optional[str] = None, + size: Optional[int] = None, + digest: Optional[str] = None, + repository: Optional[str] = None, + tag: Optional[str] = None, + name: Optional[str] = None, + version: Optional[str] = None, + **kwargs + ): + super(ContainerRegistryArtifactEventTarget, self).__init__(**kwargs) + self.media_type = media_type + self.size = size + self.digest = digest + self.repository = repository + self.tag = tag + self.name = name + self.version = version + + +class ContainerRegistryChartDeletedEventData(ContainerRegistryArtifactEventData): + """Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ChartDeleted event. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryArtifactEventTarget + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + timestamp: Optional[datetime.datetime] = None, + action: Optional[str] = None, + target: Optional["ContainerRegistryArtifactEventTarget"] = None, + **kwargs + ): + super(ContainerRegistryChartDeletedEventData, self).__init__(id=id, timestamp=timestamp, action=action, target=target, **kwargs) + + +class ContainerRegistryChartPushedEventData(ContainerRegistryArtifactEventData): + """Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ChartPushed event. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryArtifactEventTarget + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + timestamp: Optional[datetime.datetime] = None, + action: Optional[str] = None, + target: Optional["ContainerRegistryArtifactEventTarget"] = None, + **kwargs + ): + super(ContainerRegistryChartPushedEventData, self).__init__(id=id, timestamp=timestamp, action=action, target=target, **kwargs) + + +class ContainerRegistryEventActor(msrest.serialization.Model): + """The agent that initiated the event. For most situations, this could be from the authorization context of the request. + + :param name: The subject or username associated with the request context that generated the + event. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(ContainerRegistryEventActor, self).__init__(**kwargs) + self.name = name + + +class ContainerRegistryEventData(msrest.serialization.Model): + """The content of the event request message. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryEventTarget + :param request: The request that generated the event. + :type request: ~event_grid_publisher_client.models.ContainerRegistryEventRequest + :param actor: The agent that initiated the event. For most situations, this could be from the + authorization context of the request. + :type actor: ~event_grid_publisher_client.models.ContainerRegistryEventActor + :param source: The registry node that generated the event. Put differently, while the actor + initiates the event, the source generates it. + :type source: ~event_grid_publisher_client.models.ContainerRegistryEventSource + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, + 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, + 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, + 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + timestamp: Optional[datetime.datetime] = None, + action: Optional[str] = None, + target: Optional["ContainerRegistryEventTarget"] = None, + request: Optional["ContainerRegistryEventRequest"] = None, + actor: Optional["ContainerRegistryEventActor"] = None, + source: Optional["ContainerRegistryEventSource"] = None, + **kwargs + ): + super(ContainerRegistryEventData, self).__init__(**kwargs) + self.id = id + self.timestamp = timestamp + self.action = action + self.target = target + self.request = request + self.actor = actor + self.source = source + + +class ContainerRegistryEventRequest(msrest.serialization.Model): + """The request that generated the event. + + :param id: The ID of the request that initiated the event. + :type id: str + :param addr: The IP or hostname and possibly port of the client connection that initiated the + event. This is the RemoteAddr from the standard http request. + :type addr: str + :param host: The externally accessible hostname of the registry instance, as specified by the + http host header on incoming requests. + :type host: str + :param method: The request method that generated the event. + :type method: str + :param useragent: The user agent header of the request. + :type useragent: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'addr': {'key': 'addr', 'type': 'str'}, + 'host': {'key': 'host', 'type': 'str'}, + 'method': {'key': 'method', 'type': 'str'}, + 'useragent': {'key': 'useragent', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + addr: Optional[str] = None, + host: Optional[str] = None, + method: Optional[str] = None, + useragent: Optional[str] = None, + **kwargs + ): + super(ContainerRegistryEventRequest, self).__init__(**kwargs) + self.id = id + self.addr = addr + self.host = host + self.method = method + self.useragent = useragent + + +class ContainerRegistryEventSource(msrest.serialization.Model): + """The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. + + :param addr: The IP or hostname and the port of the registry node that generated the event. + Generally, this will be resolved by os.Hostname() along with the running port. + :type addr: str + :param instance_id: The running instance of an application. Changes after each restart. + :type instance_id: str + """ + + _attribute_map = { + 'addr': {'key': 'addr', 'type': 'str'}, + 'instance_id': {'key': 'instanceID', 'type': 'str'}, + } + + def __init__( + self, + *, + addr: Optional[str] = None, + instance_id: Optional[str] = None, + **kwargs + ): + super(ContainerRegistryEventSource, self).__init__(**kwargs) + self.addr = addr + self.instance_id = instance_id + + +class ContainerRegistryEventTarget(msrest.serialization.Model): + """The target of the event. + + :param media_type: The MIME type of the referenced object. + :type media_type: str + :param size: The number of bytes of the content. Same as Length field. + :type size: long + :param digest: The digest of the content, as defined by the Registry V2 HTTP API Specification. + :type digest: str + :param length: The number of bytes of the content. Same as Size field. + :type length: long + :param repository: The repository name. + :type repository: str + :param url: The direct URL to the content. + :type url: str + :param tag: The tag name. + :type tag: str + """ + + _attribute_map = { + 'media_type': {'key': 'mediaType', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'long'}, + 'digest': {'key': 'digest', 'type': 'str'}, + 'length': {'key': 'length', 'type': 'long'}, + 'repository': {'key': 'repository', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__( + self, + *, + media_type: Optional[str] = None, + size: Optional[int] = None, + digest: Optional[str] = None, + length: Optional[int] = None, + repository: Optional[str] = None, + url: Optional[str] = None, + tag: Optional[str] = None, + **kwargs + ): + super(ContainerRegistryEventTarget, self).__init__(**kwargs) + self.media_type = media_type + self.size = size + self.digest = digest + self.length = length + self.repository = repository + self.url = url + self.tag = tag + + +class ContainerRegistryImageDeletedEventData(ContainerRegistryEventData): + """Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ImageDeleted event. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryEventTarget + :param request: The request that generated the event. + :type request: ~event_grid_publisher_client.models.ContainerRegistryEventRequest + :param actor: The agent that initiated the event. For most situations, this could be from the + authorization context of the request. + :type actor: ~event_grid_publisher_client.models.ContainerRegistryEventActor + :param source: The registry node that generated the event. Put differently, while the actor + initiates the event, the source generates it. + :type source: ~event_grid_publisher_client.models.ContainerRegistryEventSource + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, + 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, + 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, + 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + timestamp: Optional[datetime.datetime] = None, + action: Optional[str] = None, + target: Optional["ContainerRegistryEventTarget"] = None, + request: Optional["ContainerRegistryEventRequest"] = None, + actor: Optional["ContainerRegistryEventActor"] = None, + source: Optional["ContainerRegistryEventSource"] = None, + **kwargs + ): + super(ContainerRegistryImageDeletedEventData, self).__init__(id=id, timestamp=timestamp, action=action, target=target, request=request, actor=actor, source=source, **kwargs) + + +class ContainerRegistryImagePushedEventData(ContainerRegistryEventData): + """Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ImagePushed event. + + :param id: The event ID. + :type id: str + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param action: The action that encompasses the provided event. + :type action: str + :param target: The target of the event. + :type target: ~event_grid_publisher_client.models.ContainerRegistryEventTarget + :param request: The request that generated the event. + :type request: ~event_grid_publisher_client.models.ContainerRegistryEventRequest + :param actor: The agent that initiated the event. For most situations, this could be from the + authorization context of the request. + :type actor: ~event_grid_publisher_client.models.ContainerRegistryEventActor + :param source: The registry node that generated the event. Put differently, while the actor + initiates the event, the source generates it. + :type source: ~event_grid_publisher_client.models.ContainerRegistryEventSource + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'action': {'key': 'action', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, + 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, + 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, + 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + timestamp: Optional[datetime.datetime] = None, + action: Optional[str] = None, + target: Optional["ContainerRegistryEventTarget"] = None, + request: Optional["ContainerRegistryEventRequest"] = None, + actor: Optional["ContainerRegistryEventActor"] = None, + source: Optional["ContainerRegistryEventSource"] = None, + **kwargs + ): + super(ContainerRegistryImagePushedEventData, self).__init__(id=id, timestamp=timestamp, action=action, target=target, request=request, actor=actor, source=source, **kwargs) + + +class DeviceConnectionStateEventInfo(msrest.serialization.Model): + """Information about the device connection state event. + + :param sequence_number: Sequence number is string representation of a hexadecimal number. + string compare can be used to identify the larger number because both in ASCII and HEX numbers + come after alphabets. If you are converting the string to hex, then the number is a 256 bit + number. + :type sequence_number: str + """ + + _attribute_map = { + 'sequence_number': {'key': 'sequenceNumber', 'type': 'str'}, + } + + def __init__( + self, + *, + sequence_number: Optional[str] = None, + **kwargs + ): + super(DeviceConnectionStateEventInfo, self).__init__(**kwargs) + self.sequence_number = sequence_number + + +class DeviceConnectionStateEventProperties(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a device connection state event (DeviceConnected, DeviceDisconnected). + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param module_id: The unique identifier of the module. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type module_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param device_connection_state_event_info: Information about the device connection state event. + :type device_connection_state_event_info: + ~event_grid_publisher_client.models.DeviceConnectionStateEventInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'module_id': {'key': 'moduleId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, + } + + def __init__( + self, + *, + device_id: Optional[str] = None, + module_id: Optional[str] = None, + hub_name: Optional[str] = None, + device_connection_state_event_info: Optional["DeviceConnectionStateEventInfo"] = None, + **kwargs + ): + super(DeviceConnectionStateEventProperties, self).__init__(**kwargs) + self.device_id = device_id + self.module_id = module_id + self.hub_name = hub_name + self.device_connection_state_event_info = device_connection_state_event_info + + +class DeviceLifeCycleEventProperties(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a device life cycle event (DeviceCreated, DeviceDeleted). + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param twin: Information about the device twin, which is the cloud representation of + application device metadata. + :type twin: ~event_grid_publisher_client.models.DeviceTwinInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, + } + + def __init__( + self, + *, + device_id: Optional[str] = None, + hub_name: Optional[str] = None, + twin: Optional["DeviceTwinInfo"] = None, + **kwargs + ): + super(DeviceLifeCycleEventProperties, self).__init__(**kwargs) + self.device_id = device_id + self.hub_name = hub_name + self.twin = twin + + +class DeviceTelemetryEventProperties(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a device telemetry event (DeviceTelemetry). + + :param body: The content of the message from the device. + :type body: object + :param properties: Application properties are user-defined strings that can be added to the + message. These fields are optional. + :type properties: dict[str, str] + :param system_properties: System properties help identify contents and source of the messages. + :type system_properties: dict[str, str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'object'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'system_properties': {'key': 'systemProperties', 'type': '{str}'}, + } + + def __init__( + self, + *, + body: Optional[object] = None, + properties: Optional[Dict[str, str]] = None, + system_properties: Optional[Dict[str, str]] = None, + **kwargs + ): + super(DeviceTelemetryEventProperties, self).__init__(**kwargs) + self.body = body + self.properties = properties + self.system_properties = system_properties + + +class DeviceTwinInfo(msrest.serialization.Model): + """Information about the device twin, which is the cloud representation of application device metadata. + + :param authentication_type: Authentication type used for this device: either SAS, SelfSigned, + or CertificateAuthority. + :type authentication_type: str + :param cloud_to_device_message_count: Count of cloud to device messages sent to this device. + :type cloud_to_device_message_count: float + :param connection_state: Whether the device is connected or disconnected. + :type connection_state: str + :param device_id: The unique identifier of the device twin. + :type device_id: str + :param etag: A piece of information that describes the content of the device twin. Each etag is + guaranteed to be unique per device twin. + :type etag: str + :param last_activity_time: The ISO8601 timestamp of the last activity. + :type last_activity_time: str + :param properties: Properties JSON element. + :type properties: ~event_grid_publisher_client.models.DeviceTwinInfoProperties + :param status: Whether the device twin is enabled or disabled. + :type status: str + :param status_update_time: The ISO8601 timestamp of the last device twin status update. + :type status_update_time: str + :param version: An integer that is incremented by one each time the device twin is updated. + :type version: float + :param x509_thumbprint: The thumbprint is a unique value for the x509 certificate, commonly + used to find a particular certificate in a certificate store. The thumbprint is dynamically + generated using the SHA1 algorithm, and does not physically exist in the certificate. + :type x509_thumbprint: ~event_grid_publisher_client.models.DeviceTwinInfoX509Thumbprint + """ + + _attribute_map = { + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + 'cloud_to_device_message_count': {'key': 'cloudToDeviceMessageCount', 'type': 'float'}, + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'last_activity_time': {'key': 'lastActivityTime', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeviceTwinInfoProperties'}, + 'status': {'key': 'status', 'type': 'str'}, + 'status_update_time': {'key': 'statusUpdateTime', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'float'}, + 'x509_thumbprint': {'key': 'x509Thumbprint', 'type': 'DeviceTwinInfoX509Thumbprint'}, + } + + def __init__( + self, + *, + authentication_type: Optional[str] = None, + cloud_to_device_message_count: Optional[float] = None, + connection_state: Optional[str] = None, + device_id: Optional[str] = None, + etag: Optional[str] = None, + last_activity_time: Optional[str] = None, + properties: Optional["DeviceTwinInfoProperties"] = None, + status: Optional[str] = None, + status_update_time: Optional[str] = None, + version: Optional[float] = None, + x509_thumbprint: Optional["DeviceTwinInfoX509Thumbprint"] = None, + **kwargs + ): + super(DeviceTwinInfo, self).__init__(**kwargs) + self.authentication_type = authentication_type + self.cloud_to_device_message_count = cloud_to_device_message_count + self.connection_state = connection_state + self.device_id = device_id + self.etag = etag + self.last_activity_time = last_activity_time + self.properties = properties + self.status = status + self.status_update_time = status_update_time + self.version = version + self.x509_thumbprint = x509_thumbprint + + +class DeviceTwinInfoProperties(msrest.serialization.Model): + """Properties JSON element. + + :param desired: A portion of the properties that can be written only by the application back- + end, and read by the device. + :type desired: ~event_grid_publisher_client.models.DeviceTwinProperties + :param reported: A portion of the properties that can be written only by the device, and read + by the application back-end. + :type reported: ~event_grid_publisher_client.models.DeviceTwinProperties + """ + + _attribute_map = { + 'desired': {'key': 'desired', 'type': 'DeviceTwinProperties'}, + 'reported': {'key': 'reported', 'type': 'DeviceTwinProperties'}, + } + + def __init__( + self, + *, + desired: Optional["DeviceTwinProperties"] = None, + reported: Optional["DeviceTwinProperties"] = None, + **kwargs + ): + super(DeviceTwinInfoProperties, self).__init__(**kwargs) + self.desired = desired + self.reported = reported + + +class DeviceTwinInfoX509Thumbprint(msrest.serialization.Model): + """The thumbprint is a unique value for the x509 certificate, commonly used to find a particular certificate in a certificate store. The thumbprint is dynamically generated using the SHA1 algorithm, and does not physically exist in the certificate. + + :param primary_thumbprint: Primary thumbprint for the x509 certificate. + :type primary_thumbprint: str + :param secondary_thumbprint: Secondary thumbprint for the x509 certificate. + :type secondary_thumbprint: str + """ + + _attribute_map = { + 'primary_thumbprint': {'key': 'primaryThumbprint', 'type': 'str'}, + 'secondary_thumbprint': {'key': 'secondaryThumbprint', 'type': 'str'}, + } + + def __init__( + self, + *, + primary_thumbprint: Optional[str] = None, + secondary_thumbprint: Optional[str] = None, + **kwargs + ): + super(DeviceTwinInfoX509Thumbprint, self).__init__(**kwargs) + self.primary_thumbprint = primary_thumbprint + self.secondary_thumbprint = secondary_thumbprint + + +class DeviceTwinMetadata(msrest.serialization.Model): + """Metadata information for the properties JSON document. + + :param last_updated: The ISO8601 timestamp of the last time the properties were updated. + :type last_updated: str + """ + + _attribute_map = { + 'last_updated': {'key': 'lastUpdated', 'type': 'str'}, + } + + def __init__( + self, + *, + last_updated: Optional[str] = None, + **kwargs + ): + super(DeviceTwinMetadata, self).__init__(**kwargs) + self.last_updated = last_updated + + +class DeviceTwinProperties(msrest.serialization.Model): + """A portion of the properties that can be written only by the application back-end, and read by the device. + + :param metadata: Metadata information for the properties JSON document. + :type metadata: ~event_grid_publisher_client.models.DeviceTwinMetadata + :param version: Version of device twin properties. + :type version: float + """ + + _attribute_map = { + 'metadata': {'key': 'metadata', 'type': 'DeviceTwinMetadata'}, + 'version': {'key': 'version', 'type': 'float'}, + } + + def __init__( + self, + *, + metadata: Optional["DeviceTwinMetadata"] = None, + version: Optional[float] = None, + **kwargs + ): + super(DeviceTwinProperties, self).__init__(**kwargs) + self.metadata = metadata + self.version = version + + +class EventGridEvent(msrest.serialization.Model): + """Properties of an event published to an Event Grid topic using the EventGrid Schema. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. An unique identifier for the event. + :type id: str + :param topic: The resource path of the event source. + :type topic: str + :param subject: Required. A resource path relative to the topic path. + :type subject: str + :param data: Required. Event data specific to the event type. + :type data: object + :param event_type: Required. The type of the event that occurred. + :type event_type: str + :param event_time: Required. The time (in UTC) the event was generated. + :type event_time: ~datetime.datetime + :ivar metadata_version: The schema version of the event metadata. + :vartype metadata_version: str + :param data_version: Required. The schema version of the data object. + :type data_version: str + """ + + _validation = { + 'id': {'required': True}, + 'subject': {'required': True}, + 'data': {'required': True}, + 'event_type': {'required': True}, + 'event_time': {'required': True}, + 'metadata_version': {'readonly': True}, + 'data_version': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'topic': {'key': 'topic', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'object'}, + 'event_type': {'key': 'eventType', 'type': 'str'}, + 'event_time': {'key': 'eventTime', 'type': 'iso-8601'}, + 'metadata_version': {'key': 'metadataVersion', 'type': 'str'}, + 'data_version': {'key': 'dataVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + subject: str, + data: object, + event_type: str, + event_time: datetime.datetime, + data_version: str, + topic: Optional[str] = None, + **kwargs + ): + super(EventGridEvent, self).__init__(**kwargs) + self.id = id + self.topic = topic + self.subject = subject + self.data = data + self.event_type = event_type + self.event_time = event_time + self.metadata_version = None + self.data_version = data_version + + +class EventHubCaptureFileCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.EventHub.CaptureFileCreated event. + + :param fileurl: The path to the capture file. + :type fileurl: str + :param file_type: The file type of the capture file. + :type file_type: str + :param partition_id: The shard ID. + :type partition_id: str + :param size_in_bytes: The file size. + :type size_in_bytes: int + :param event_count: The number of events in the file. + :type event_count: int + :param first_sequence_number: The smallest sequence number from the queue. + :type first_sequence_number: int + :param last_sequence_number: The last sequence number from the queue. + :type last_sequence_number: int + :param first_enqueue_time: The first time from the queue. + :type first_enqueue_time: ~datetime.datetime + :param last_enqueue_time: The last time from the queue. + :type last_enqueue_time: ~datetime.datetime + """ + + _attribute_map = { + 'fileurl': {'key': 'fileurl', 'type': 'str'}, + 'file_type': {'key': 'fileType', 'type': 'str'}, + 'partition_id': {'key': 'partitionId', 'type': 'str'}, + 'size_in_bytes': {'key': 'sizeInBytes', 'type': 'int'}, + 'event_count': {'key': 'eventCount', 'type': 'int'}, + 'first_sequence_number': {'key': 'firstSequenceNumber', 'type': 'int'}, + 'last_sequence_number': {'key': 'lastSequenceNumber', 'type': 'int'}, + 'first_enqueue_time': {'key': 'firstEnqueueTime', 'type': 'iso-8601'}, + 'last_enqueue_time': {'key': 'lastEnqueueTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + fileurl: Optional[str] = None, + file_type: Optional[str] = None, + partition_id: Optional[str] = None, + size_in_bytes: Optional[int] = None, + event_count: Optional[int] = None, + first_sequence_number: Optional[int] = None, + last_sequence_number: Optional[int] = None, + first_enqueue_time: Optional[datetime.datetime] = None, + last_enqueue_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(EventHubCaptureFileCreatedEventData, self).__init__(**kwargs) + self.fileurl = fileurl + self.file_type = file_type + self.partition_id = partition_id + self.size_in_bytes = size_in_bytes + self.event_count = event_count + self.first_sequence_number = first_sequence_number + self.last_sequence_number = last_sequence_number + self.first_enqueue_time = first_enqueue_time + self.last_enqueue_time = last_enqueue_time + + +class IotHubDeviceConnectedEventData(DeviceConnectionStateEventProperties): + """Event data for Microsoft.Devices.DeviceConnected event. + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param module_id: The unique identifier of the module. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type module_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param device_connection_state_event_info: Information about the device connection state event. + :type device_connection_state_event_info: + ~event_grid_publisher_client.models.DeviceConnectionStateEventInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'module_id': {'key': 'moduleId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, + } + + def __init__( + self, + *, + device_id: Optional[str] = None, + module_id: Optional[str] = None, + hub_name: Optional[str] = None, + device_connection_state_event_info: Optional["DeviceConnectionStateEventInfo"] = None, + **kwargs + ): + super(IotHubDeviceConnectedEventData, self).__init__(device_id=device_id, module_id=module_id, hub_name=hub_name, device_connection_state_event_info=device_connection_state_event_info, **kwargs) + + +class IotHubDeviceCreatedEventData(DeviceLifeCycleEventProperties): + """Event data for Microsoft.Devices.DeviceCreated event. + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param twin: Information about the device twin, which is the cloud representation of + application device metadata. + :type twin: ~event_grid_publisher_client.models.DeviceTwinInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, + } + + def __init__( + self, + *, + device_id: Optional[str] = None, + hub_name: Optional[str] = None, + twin: Optional["DeviceTwinInfo"] = None, + **kwargs + ): + super(IotHubDeviceCreatedEventData, self).__init__(device_id=device_id, hub_name=hub_name, twin=twin, **kwargs) + + +class IotHubDeviceDeletedEventData(DeviceLifeCycleEventProperties): + """Event data for Microsoft.Devices.DeviceDeleted event. + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param twin: Information about the device twin, which is the cloud representation of + application device metadata. + :type twin: ~event_grid_publisher_client.models.DeviceTwinInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, + } + + def __init__( + self, + *, + device_id: Optional[str] = None, + hub_name: Optional[str] = None, + twin: Optional["DeviceTwinInfo"] = None, + **kwargs + ): + super(IotHubDeviceDeletedEventData, self).__init__(device_id=device_id, hub_name=hub_name, twin=twin, **kwargs) + + +class IotHubDeviceDisconnectedEventData(DeviceConnectionStateEventProperties): + """Event data for Microsoft.Devices.DeviceDisconnected event. + + :param device_id: The unique identifier of the device. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type device_id: str + :param module_id: The unique identifier of the module. This case-sensitive string can be up to + 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following + special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '. + :type module_id: str + :param hub_name: Name of the IoT Hub where the device was created or deleted. + :type hub_name: str + :param device_connection_state_event_info: Information about the device connection state event. + :type device_connection_state_event_info: + ~event_grid_publisher_client.models.DeviceConnectionStateEventInfo + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'module_id': {'key': 'moduleId', 'type': 'str'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, + } + + def __init__( + self, + *, + device_id: Optional[str] = None, + module_id: Optional[str] = None, + hub_name: Optional[str] = None, + device_connection_state_event_info: Optional["DeviceConnectionStateEventInfo"] = None, + **kwargs + ): + super(IotHubDeviceDisconnectedEventData, self).__init__(device_id=device_id, module_id=module_id, hub_name=hub_name, device_connection_state_event_info=device_connection_state_event_info, **kwargs) + + +class IotHubDeviceTelemetryEventData(DeviceTelemetryEventProperties): + """Event data for Microsoft.Devices.DeviceTelemetry event. + + :param body: The content of the message from the device. + :type body: object + :param properties: Application properties are user-defined strings that can be added to the + message. These fields are optional. + :type properties: dict[str, str] + :param system_properties: System properties help identify contents and source of the messages. + :type system_properties: dict[str, str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'object'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'system_properties': {'key': 'systemProperties', 'type': '{str}'}, + } + + def __init__( + self, + *, + body: Optional[object] = None, + properties: Optional[Dict[str, str]] = None, + system_properties: Optional[Dict[str, str]] = None, + **kwargs + ): + super(IotHubDeviceTelemetryEventData, self).__init__(body=body, properties=properties, system_properties=system_properties, **kwargs) + + +class KeyVaultCertificateExpiredEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an CertificateExpired event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultCertificateExpiredEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class KeyVaultCertificateNearExpiryEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an CertificateNearExpiry event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultCertificateNearExpiryEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class KeyVaultCertificateNewVersionCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an CertificateNewVersionCreated event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultCertificateNewVersionCreatedEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class KeyVaultKeyExpiredEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an KeyExpired event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultKeyExpiredEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class KeyVaultKeyNearExpiryEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an KeyNearExpiry event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultKeyNearExpiryEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class KeyVaultKeyNewVersionCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an KeyNewVersionCreated event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultKeyNewVersionCreatedEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class KeyVaultSecretExpiredEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an SecretExpired event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultSecretExpiredEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class KeyVaultSecretNearExpiryEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an SecretNearExpiry event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultSecretNearExpiryEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class KeyVaultSecretNewVersionCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an SecretNewVersionCreated event. + + :param id: The id of the object that triggered this event. + :type id: str + :param vault_name: Key vault name of the object that triggered this event. + :type vault_name: str + :param object_type: The type of the object that triggered this event. + :type object_type: str + :param object_name: The name of the object that triggered this event. + :type object_name: str + :param version: The version of the object that triggered this event. + :type version: str + :param nbf: Not before date of the object that triggered this event. + :type nbf: float + :param exp: The expiration date of the object that triggered this event. + :type exp: float + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'vault_name': {'key': 'vaultName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'nbf': {'key': 'nbf', 'type': 'float'}, + 'exp': {'key': 'exp', 'type': 'float'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + vault_name: Optional[str] = None, + object_type: Optional[str] = None, + object_name: Optional[str] = None, + version: Optional[str] = None, + nbf: Optional[float] = None, + exp: Optional[float] = None, + **kwargs + ): + super(KeyVaultSecretNewVersionCreatedEventData, self).__init__(**kwargs) + self.id = id + self.vault_name = vault_name + self.object_type = object_type + self.object_name = object_name + self.version = version + self.nbf = nbf + self.exp = exp + + +class MachineLearningServicesDatasetDriftDetectedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.DatasetDriftDetected event. + + :param data_drift_id: The ID of the data drift monitor that triggered the event. + :type data_drift_id: str + :param data_drift_name: The name of the data drift monitor that triggered the event. + :type data_drift_name: str + :param run_id: The ID of the Run that detected data drift. + :type run_id: str + :param base_dataset_id: The ID of the base Dataset used to detect drift. + :type base_dataset_id: str + :param target_dataset_id: The ID of the target Dataset used to detect drift. + :type target_dataset_id: str + :param drift_coefficient: The coefficient result that triggered the event. + :type drift_coefficient: float + :param start_time: The start time of the target dataset time series that resulted in drift + detection. + :type start_time: ~datetime.datetime + :param end_time: The end time of the target dataset time series that resulted in drift + detection. + :type end_time: ~datetime.datetime + """ + + _attribute_map = { + 'data_drift_id': {'key': 'dataDriftId', 'type': 'str'}, + 'data_drift_name': {'key': 'dataDriftName', 'type': 'str'}, + 'run_id': {'key': 'runId', 'type': 'str'}, + 'base_dataset_id': {'key': 'baseDatasetId', 'type': 'str'}, + 'target_dataset_id': {'key': 'targetDatasetId', 'type': 'str'}, + 'drift_coefficient': {'key': 'driftCoefficient', 'type': 'float'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + data_drift_id: Optional[str] = None, + data_drift_name: Optional[str] = None, + run_id: Optional[str] = None, + base_dataset_id: Optional[str] = None, + target_dataset_id: Optional[str] = None, + drift_coefficient: Optional[float] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(MachineLearningServicesDatasetDriftDetectedEventData, self).__init__(**kwargs) + self.data_drift_id = data_drift_id + self.data_drift_name = data_drift_name + self.run_id = run_id + self.base_dataset_id = base_dataset_id + self.target_dataset_id = target_dataset_id + self.drift_coefficient = drift_coefficient + self.start_time = start_time + self.end_time = end_time + + +class MachineLearningServicesModelDeployedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.ModelDeployed event. + + :param service_name: The name of the deployed service. + :type service_name: str + :param service_compute_type: The compute type (e.g. ACI, AKS) of the deployed service. + :type service_compute_type: str + :param model_ids: A common separated list of model IDs. The IDs of the models deployed in the + service. + :type model_ids: str + :param service_tags: The tags of the deployed service. + :type service_tags: object + :param service_properties: The properties of the deployed service. + :type service_properties: object + """ + + _attribute_map = { + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'service_compute_type': {'key': 'serviceComputeType', 'type': 'str'}, + 'model_ids': {'key': 'modelIds', 'type': 'str'}, + 'service_tags': {'key': 'serviceTags', 'type': 'object'}, + 'service_properties': {'key': 'serviceProperties', 'type': 'object'}, + } + + def __init__( + self, + *, + service_name: Optional[str] = None, + service_compute_type: Optional[str] = None, + model_ids: Optional[str] = None, + service_tags: Optional[object] = None, + service_properties: Optional[object] = None, + **kwargs + ): + super(MachineLearningServicesModelDeployedEventData, self).__init__(**kwargs) + self.service_name = service_name + self.service_compute_type = service_compute_type + self.model_ids = model_ids + self.service_tags = service_tags + self.service_properties = service_properties + + +class MachineLearningServicesModelRegisteredEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.ModelRegistered event. + + :param model_name: The name of the model that was registered. + :type model_name: str + :param model_version: The version of the model that was registered. + :type model_version: str + :param model_tags: The tags of the model that was registered. + :type model_tags: object + :param model_properties: The properties of the model that was registered. + :type model_properties: object + """ + + _attribute_map = { + 'model_name': {'key': 'modelName', 'type': 'str'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + 'model_tags': {'key': 'modelTags', 'type': 'object'}, + 'model_properties': {'key': 'modelProperties', 'type': 'object'}, + } + + def __init__( + self, + *, + model_name: Optional[str] = None, + model_version: Optional[str] = None, + model_tags: Optional[object] = None, + model_properties: Optional[object] = None, + **kwargs + ): + super(MachineLearningServicesModelRegisteredEventData, self).__init__(**kwargs) + self.model_name = model_name + self.model_version = model_version + self.model_tags = model_tags + self.model_properties = model_properties + + +class MachineLearningServicesRunCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.RunCompleted event. + + :param experiment_id: The ID of the experiment that the run belongs to. + :type experiment_id: str + :param experiment_name: The name of the experiment that the run belongs to. + :type experiment_name: str + :param run_id: The ID of the Run that was completed. + :type run_id: str + :param run_type: The Run Type of the completed Run. + :type run_type: str + :param run_tags: The tags of the completed Run. + :type run_tags: object + :param run_properties: The properties of the completed Run. + :type run_properties: object + """ + + _attribute_map = { + 'experiment_id': {'key': 'experimentId', 'type': 'str'}, + 'experiment_name': {'key': 'experimentName', 'type': 'str'}, + 'run_id': {'key': 'runId', 'type': 'str'}, + 'run_type': {'key': 'runType', 'type': 'str'}, + 'run_tags': {'key': 'runTags', 'type': 'object'}, + 'run_properties': {'key': 'runProperties', 'type': 'object'}, + } + + def __init__( + self, + *, + experiment_id: Optional[str] = None, + experiment_name: Optional[str] = None, + run_id: Optional[str] = None, + run_type: Optional[str] = None, + run_tags: Optional[object] = None, + run_properties: Optional[object] = None, + **kwargs + ): + super(MachineLearningServicesRunCompletedEventData, self).__init__(**kwargs) + self.experiment_id = experiment_id + self.experiment_name = experiment_name + self.run_id = run_id + self.run_type = run_type + self.run_tags = run_tags + self.run_properties = run_properties + + +class MachineLearningServicesRunStatusChangedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.RunStatusChanged event. + + :param experiment_id: The ID of the experiment that the Machine Learning Run belongs to. + :type experiment_id: str + :param experiment_name: The name of the experiment that the Machine Learning Run belongs to. + :type experiment_name: str + :param run_id: The ID of the Machine Learning Run. + :type run_id: str + :param run_type: The Run Type of the Machine Learning Run. + :type run_type: str + :param run_tags: The tags of the Machine Learning Run. + :type run_tags: object + :param run_properties: The properties of the Machine Learning Run. + :type run_properties: object + :param run_status: The status of the Machine Learning Run. + :type run_status: str + """ + + _attribute_map = { + 'experiment_id': {'key': 'experimentId', 'type': 'str'}, + 'experiment_name': {'key': 'experimentName', 'type': 'str'}, + 'run_id': {'key': 'runId', 'type': 'str'}, + 'run_type': {'key': 'runType', 'type': 'str'}, + 'run_tags': {'key': 'runTags', 'type': 'object'}, + 'run_properties': {'key': 'runProperties', 'type': 'object'}, + 'run_status': {'key': 'runStatus', 'type': 'str'}, + } + + def __init__( + self, + *, + experiment_id: Optional[str] = None, + experiment_name: Optional[str] = None, + run_id: Optional[str] = None, + run_type: Optional[str] = None, + run_tags: Optional[object] = None, + run_properties: Optional[object] = None, + run_status: Optional[str] = None, + **kwargs + ): + super(MachineLearningServicesRunStatusChangedEventData, self).__init__(**kwargs) + self.experiment_id = experiment_id + self.experiment_name = experiment_name + self.run_id = run_id + self.run_type = run_type + self.run_tags = run_tags + self.run_properties = run_properties + self.run_status = run_status + + +class MapsGeofenceEventProperties(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Geofence event (GeofenceEntered, GeofenceExited, GeofenceResult). + + :param expired_geofence_geometry_id: Lists of the geometry ID of the geofence which is expired + relative to the user time in the request. + :type expired_geofence_geometry_id: list[str] + :param geometries: Lists the fence geometries that either fully contain the coordinate position + or have an overlap with the searchBuffer around the fence. + :type geometries: list[~event_grid_publisher_client.models.MapsGeofenceGeometry] + :param invalid_period_geofence_geometry_id: Lists of the geometry ID of the geofence which is + in invalid period relative to the user time in the request. + :type invalid_period_geofence_geometry_id: list[str] + :param is_event_published: True if at least one event is published to the Azure Maps event + subscriber, false if no event is published to the Azure Maps event subscriber. + :type is_event_published: bool + """ + + _attribute_map = { + 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, + 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, + 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, + 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, + } + + def __init__( + self, + *, + expired_geofence_geometry_id: Optional[List[str]] = None, + geometries: Optional[List["MapsGeofenceGeometry"]] = None, + invalid_period_geofence_geometry_id: Optional[List[str]] = None, + is_event_published: Optional[bool] = None, + **kwargs + ): + super(MapsGeofenceEventProperties, self).__init__(**kwargs) + self.expired_geofence_geometry_id = expired_geofence_geometry_id + self.geometries = geometries + self.invalid_period_geofence_geometry_id = invalid_period_geofence_geometry_id + self.is_event_published = is_event_published + + +class MapsGeofenceEnteredEventData(MapsGeofenceEventProperties): + """Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceEntered event. + + :param expired_geofence_geometry_id: Lists of the geometry ID of the geofence which is expired + relative to the user time in the request. + :type expired_geofence_geometry_id: list[str] + :param geometries: Lists the fence geometries that either fully contain the coordinate position + or have an overlap with the searchBuffer around the fence. + :type geometries: list[~event_grid_publisher_client.models.MapsGeofenceGeometry] + :param invalid_period_geofence_geometry_id: Lists of the geometry ID of the geofence which is + in invalid period relative to the user time in the request. + :type invalid_period_geofence_geometry_id: list[str] + :param is_event_published: True if at least one event is published to the Azure Maps event + subscriber, false if no event is published to the Azure Maps event subscriber. + :type is_event_published: bool + """ + + _attribute_map = { + 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, + 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, + 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, + 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, + } + + def __init__( + self, + *, + expired_geofence_geometry_id: Optional[List[str]] = None, + geometries: Optional[List["MapsGeofenceGeometry"]] = None, + invalid_period_geofence_geometry_id: Optional[List[str]] = None, + is_event_published: Optional[bool] = None, + **kwargs + ): + super(MapsGeofenceEnteredEventData, self).__init__(expired_geofence_geometry_id=expired_geofence_geometry_id, geometries=geometries, invalid_period_geofence_geometry_id=invalid_period_geofence_geometry_id, is_event_published=is_event_published, **kwargs) + + +class MapsGeofenceExitedEventData(MapsGeofenceEventProperties): + """Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceExited event. + + :param expired_geofence_geometry_id: Lists of the geometry ID of the geofence which is expired + relative to the user time in the request. + :type expired_geofence_geometry_id: list[str] + :param geometries: Lists the fence geometries that either fully contain the coordinate position + or have an overlap with the searchBuffer around the fence. + :type geometries: list[~event_grid_publisher_client.models.MapsGeofenceGeometry] + :param invalid_period_geofence_geometry_id: Lists of the geometry ID of the geofence which is + in invalid period relative to the user time in the request. + :type invalid_period_geofence_geometry_id: list[str] + :param is_event_published: True if at least one event is published to the Azure Maps event + subscriber, false if no event is published to the Azure Maps event subscriber. + :type is_event_published: bool + """ + + _attribute_map = { + 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, + 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, + 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, + 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, + } + + def __init__( + self, + *, + expired_geofence_geometry_id: Optional[List[str]] = None, + geometries: Optional[List["MapsGeofenceGeometry"]] = None, + invalid_period_geofence_geometry_id: Optional[List[str]] = None, + is_event_published: Optional[bool] = None, + **kwargs + ): + super(MapsGeofenceExitedEventData, self).__init__(expired_geofence_geometry_id=expired_geofence_geometry_id, geometries=geometries, invalid_period_geofence_geometry_id=invalid_period_geofence_geometry_id, is_event_published=is_event_published, **kwargs) + + +class MapsGeofenceGeometry(msrest.serialization.Model): + """The geofence geometry. + + :param device_id: ID of the device. + :type device_id: str + :param distance: Distance from the coordinate to the closest border of the geofence. Positive + means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, + but more than the value of searchBuffer away from the closest geofence border, then the value + is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside + the polygon, but more than the value of searchBuffer away from the closest geofencing + border,then the value is -999. A value of 999 means that there is great confidence the + coordinate is well outside the geofence. A value of -999 means that there is great confidence + the coordinate is well within the geofence. + :type distance: float + :param geometry_id: The unique ID for the geofence geometry. + :type geometry_id: str + :param nearest_lat: Latitude of the nearest point of the geometry. + :type nearest_lat: float + :param nearest_lon: Longitude of the nearest point of the geometry. + :type nearest_lon: float + :param ud_id: The unique id returned from user upload service when uploading a geofence. Will + not be included in geofencing post API. + :type ud_id: str + """ + + _attribute_map = { + 'device_id': {'key': 'deviceId', 'type': 'str'}, + 'distance': {'key': 'distance', 'type': 'float'}, + 'geometry_id': {'key': 'geometryId', 'type': 'str'}, + 'nearest_lat': {'key': 'nearestLat', 'type': 'float'}, + 'nearest_lon': {'key': 'nearestLon', 'type': 'float'}, + 'ud_id': {'key': 'udId', 'type': 'str'}, + } + + def __init__( + self, + *, + device_id: Optional[str] = None, + distance: Optional[float] = None, + geometry_id: Optional[str] = None, + nearest_lat: Optional[float] = None, + nearest_lon: Optional[float] = None, + ud_id: Optional[str] = None, + **kwargs + ): + super(MapsGeofenceGeometry, self).__init__(**kwargs) + self.device_id = device_id + self.distance = distance + self.geometry_id = geometry_id + self.nearest_lat = nearest_lat + self.nearest_lon = nearest_lon + self.ud_id = ud_id + + +class MapsGeofenceResultEventData(MapsGeofenceEventProperties): + """Schema of the Data property of an EventGridEvent for a Microsoft.Maps.GeofenceResult event. + + :param expired_geofence_geometry_id: Lists of the geometry ID of the geofence which is expired + relative to the user time in the request. + :type expired_geofence_geometry_id: list[str] + :param geometries: Lists the fence geometries that either fully contain the coordinate position + or have an overlap with the searchBuffer around the fence. + :type geometries: list[~event_grid_publisher_client.models.MapsGeofenceGeometry] + :param invalid_period_geofence_geometry_id: Lists of the geometry ID of the geofence which is + in invalid period relative to the user time in the request. + :type invalid_period_geofence_geometry_id: list[str] + :param is_event_published: True if at least one event is published to the Azure Maps event + subscriber, false if no event is published to the Azure Maps event subscriber. + :type is_event_published: bool + """ + + _attribute_map = { + 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, + 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, + 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, + 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, + } + + def __init__( + self, + *, + expired_geofence_geometry_id: Optional[List[str]] = None, + geometries: Optional[List["MapsGeofenceGeometry"]] = None, + invalid_period_geofence_geometry_id: Optional[List[str]] = None, + is_event_published: Optional[bool] = None, + **kwargs + ): + super(MapsGeofenceResultEventData, self).__init__(expired_geofence_geometry_id=expired_geofence_geometry_id, geometries=geometries, invalid_period_geofence_geometry_id=invalid_period_geofence_geometry_id, is_event_published=is_event_published, **kwargs) + + +class MediaJobStateChangeEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Media.JobStateChange event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobStateChangeEventData, self).__init__(**kwargs) + self.previous_state = None + self.state = None + self.correlation_data = correlation_data + + +class MediaJobCanceledEventData(MediaJobStateChangeEventData): + """Job canceled event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + :param outputs: Gets the Job outputs. + :type outputs: list[~event_grid_publisher_client.models.MediaJobOutput] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, + } + + def __init__( + self, + *, + correlation_data: Optional[Dict[str, str]] = None, + outputs: Optional[List["MediaJobOutput"]] = None, + **kwargs + ): + super(MediaJobCanceledEventData, self).__init__(correlation_data=correlation_data, **kwargs) + self.outputs = outputs + + +class MediaJobCancelingEventData(MediaJobStateChangeEventData): + """Job canceling event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobCancelingEventData, self).__init__(correlation_data=correlation_data, **kwargs) + + +class MediaJobError(msrest.serialization.Model): + """Details of JobOutput errors. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Error code describing the error. Possible values include: "ServiceError", + "ServiceTransientError", "DownloadNotAccessible", "DownloadTransientError", + "UploadNotAccessible", "UploadTransientError", "ConfigurationUnsupported", "ContentMalformed", + "ContentUnsupported". + :vartype code: str or ~event_grid_publisher_client.models.MediaJobErrorCode + :ivar message: A human-readable language-dependent representation of the error. + :vartype message: str + :ivar category: Helps with categorization of errors. Possible values include: "Service", + "Download", "Upload", "Configuration", "Content". + :vartype category: str or ~event_grid_publisher_client.models.MediaJobErrorCategory + :ivar retry: Indicates that it may be possible to retry the Job. If retry is unsuccessful, + please contact Azure support via Azure Portal. Possible values include: "DoNotRetry", + "MayRetry". + :vartype retry: str or ~event_grid_publisher_client.models.MediaJobRetry + :ivar details: An array of details about specific errors that led to this reported error. + :vartype details: list[~event_grid_publisher_client.models.MediaJobErrorDetail] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'category': {'readonly': True}, + 'retry': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'retry': {'key': 'retry', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[MediaJobErrorDetail]'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobError, self).__init__(**kwargs) + self.code = None + self.message = None + self.category = None + self.retry = None + self.details = None + + +class MediaJobErrorDetail(msrest.serialization.Model): + """Details of JobOutput errors. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Code describing the error detail. + :vartype code: str + :ivar message: A human-readable representation of the error. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaJobErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + + +class MediaJobErroredEventData(MediaJobStateChangeEventData): + """Job error state event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + :param outputs: Gets the Job outputs. + :type outputs: list[~event_grid_publisher_client.models.MediaJobOutput] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, + } + + def __init__( + self, + *, + correlation_data: Optional[Dict[str, str]] = None, + outputs: Optional[List["MediaJobOutput"]] = None, + **kwargs + ): + super(MediaJobErroredEventData, self).__init__(correlation_data=correlation_data, **kwargs) + self.outputs = outputs + + +class MediaJobFinishedEventData(MediaJobStateChangeEventData): + """Job finished event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + :param outputs: Gets the Job outputs. + :type outputs: list[~event_grid_publisher_client.models.MediaJobOutput] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, + } + + def __init__( + self, + *, + correlation_data: Optional[Dict[str, str]] = None, + outputs: Optional[List["MediaJobOutput"]] = None, + **kwargs + ): + super(MediaJobFinishedEventData, self).__init__(correlation_data=correlation_data, **kwargs) + self.outputs = outputs + + +class MediaJobOutput(msrest.serialization.Model): + """The event data for a Job output. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MediaJobOutputAsset. + + All required parameters must be populated in order to send to Azure. + + :param odata_type: The discriminator for derived types.Constant filled by server. + :type odata_type: str + :param error: Gets the Job output error. + :type error: ~event_grid_publisher_client.models.MediaJobError + :param label: Gets the Job output label. + :type label: str + :param progress: Required. Gets the Job output progress. + :type progress: long + :param state: Required. Gets the Job output state. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :type state: str or ~event_grid_publisher_client.models.MediaJobState + """ + + _validation = { + 'progress': {'required': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'MediaJobError'}, + 'label': {'key': 'label', 'type': 'str'}, + 'progress': {'key': 'progress', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + _subtype_map = { + 'odata_type': {'#Microsoft.Media.JobOutputAsset': 'MediaJobOutputAsset'} + } + + def __init__( + self, + *, + progress: int, + state: Union[str, "MediaJobState"], + error: Optional["MediaJobError"] = None, + label: Optional[str] = None, + **kwargs + ): + super(MediaJobOutput, self).__init__(**kwargs) + self.odata_type = None # type: Optional[str] + self.error = error + self.label = label + self.progress = progress + self.state = state + + +class MediaJobOutputAsset(MediaJobOutput): + """The event data for a Job output asset. + + All required parameters must be populated in order to send to Azure. + + :param odata_type: The discriminator for derived types.Constant filled by server. + :type odata_type: str + :param error: Gets the Job output error. + :type error: ~event_grid_publisher_client.models.MediaJobError + :param label: Gets the Job output label. + :type label: str + :param progress: Required. Gets the Job output progress. + :type progress: long + :param state: Required. Gets the Job output state. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :type state: str or ~event_grid_publisher_client.models.MediaJobState + :param asset_name: Gets the Job output asset name. + :type asset_name: str + """ + + _validation = { + 'progress': {'required': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'MediaJobError'}, + 'label': {'key': 'label', 'type': 'str'}, + 'progress': {'key': 'progress', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'asset_name': {'key': 'assetName', 'type': 'str'}, + } + + def __init__( + self, + *, + progress: int, + state: Union[str, "MediaJobState"], + error: Optional["MediaJobError"] = None, + label: Optional[str] = None, + asset_name: Optional[str] = None, + **kwargs + ): + super(MediaJobOutputAsset, self).__init__(error=error, label=label, progress=progress, state=state, **kwargs) + self.odata_type = '#Microsoft.Media.JobOutputAsset' # type: str + self.asset_name = asset_name + + +class MediaJobOutputStateChangeEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Media.JobOutputStateChange event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + output: Optional["MediaJobOutput"] = None, + job_correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobOutputStateChangeEventData, self).__init__(**kwargs) + self.previous_state = None + self.output = output + self.job_correlation_data = job_correlation_data + + +class MediaJobOutputCanceledEventData(MediaJobOutputStateChangeEventData): + """Job output canceled event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + output: Optional["MediaJobOutput"] = None, + job_correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobOutputCanceledEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) + + +class MediaJobOutputCancelingEventData(MediaJobOutputStateChangeEventData): + """Job output canceling event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + output: Optional["MediaJobOutput"] = None, + job_correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobOutputCancelingEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) + + +class MediaJobOutputErroredEventData(MediaJobOutputStateChangeEventData): + """Job output error event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + output: Optional["MediaJobOutput"] = None, + job_correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobOutputErroredEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) + + +class MediaJobOutputFinishedEventData(MediaJobOutputStateChangeEventData): + """Job output finished event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + output: Optional["MediaJobOutput"] = None, + job_correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobOutputFinishedEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) + + +class MediaJobOutputProcessingEventData(MediaJobOutputStateChangeEventData): + """Job output processing event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + output: Optional["MediaJobOutput"] = None, + job_correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobOutputProcessingEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) + + +class MediaJobOutputProgressEventData(msrest.serialization.Model): + """Job Output Progress Event Data. + + :param label: Gets the Job output label. + :type label: str + :param progress: Gets the Job output progress. + :type progress: long + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _attribute_map = { + 'label': {'key': 'label', 'type': 'str'}, + 'progress': {'key': 'progress', 'type': 'long'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + label: Optional[str] = None, + progress: Optional[int] = None, + job_correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobOutputProgressEventData, self).__init__(**kwargs) + self.label = label + self.progress = progress + self.job_correlation_data = job_correlation_data + + +class MediaJobOutputScheduledEventData(MediaJobOutputStateChangeEventData): + """Job output scheduled event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :param output: Gets the output. + :type output: ~event_grid_publisher_client.models.MediaJobOutput + :param job_correlation_data: Gets the Job correlation data. + :type job_correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'output': {'key': 'output', 'type': 'MediaJobOutput'}, + 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + output: Optional["MediaJobOutput"] = None, + job_correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobOutputScheduledEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) + + +class MediaJobProcessingEventData(MediaJobStateChangeEventData): + """Job processing event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobProcessingEventData, self).__init__(correlation_data=correlation_data, **kwargs) + + +class MediaJobScheduledEventData(MediaJobStateChangeEventData): + """Job scheduled event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar previous_state: The previous state of the Job. Possible values include: "Canceled", + "Canceling", "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype previous_state: str or ~event_grid_publisher_client.models.MediaJobState + :ivar state: The new state of the Job. Possible values include: "Canceled", "Canceling", + "Error", "Finished", "Processing", "Queued", "Scheduled". + :vartype state: str or ~event_grid_publisher_client.models.MediaJobState + :param correlation_data: Gets the Job correlation data. + :type correlation_data: dict[str, str] + """ + + _validation = { + 'previous_state': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'previous_state': {'key': 'previousState', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, + } + + def __init__( + self, + *, + correlation_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MediaJobScheduledEventData, self).__init__(correlation_data=correlation_data, **kwargs) + + +class MediaLiveEventConnectionRejectedEventData(msrest.serialization.Model): + """Encoder connection rejected event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ingest_url: Gets the ingest URL provided by the live event. + :vartype ingest_url: str + :ivar stream_id: Gets the stream Id. + :vartype stream_id: str + :ivar encoder_ip: Gets the remote IP. + :vartype encoder_ip: str + :ivar encoder_port: Gets the remote port. + :vartype encoder_port: str + :ivar result_code: Gets the result code. + :vartype result_code: str + """ + + _validation = { + 'ingest_url': {'readonly': True}, + 'stream_id': {'readonly': True}, + 'encoder_ip': {'readonly': True}, + 'encoder_port': {'readonly': True}, + 'result_code': {'readonly': True}, + } + + _attribute_map = { + 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, + 'stream_id': {'key': 'streamId', 'type': 'str'}, + 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, + 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, + 'result_code': {'key': 'resultCode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventConnectionRejectedEventData, self).__init__(**kwargs) + self.ingest_url = None + self.stream_id = None + self.encoder_ip = None + self.encoder_port = None + self.result_code = None + + +class MediaLiveEventEncoderConnectedEventData(msrest.serialization.Model): + """Encoder connect event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ingest_url: Gets the ingest URL provided by the live event. + :vartype ingest_url: str + :ivar stream_id: Gets the stream Id. + :vartype stream_id: str + :ivar encoder_ip: Gets the remote IP. + :vartype encoder_ip: str + :ivar encoder_port: Gets the remote port. + :vartype encoder_port: str + """ + + _validation = { + 'ingest_url': {'readonly': True}, + 'stream_id': {'readonly': True}, + 'encoder_ip': {'readonly': True}, + 'encoder_port': {'readonly': True}, + } + + _attribute_map = { + 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, + 'stream_id': {'key': 'streamId', 'type': 'str'}, + 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, + 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventEncoderConnectedEventData, self).__init__(**kwargs) + self.ingest_url = None + self.stream_id = None + self.encoder_ip = None + self.encoder_port = None + + +class MediaLiveEventEncoderDisconnectedEventData(msrest.serialization.Model): + """Encoder disconnected event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ingest_url: Gets the ingest URL provided by the live event. + :vartype ingest_url: str + :ivar stream_id: Gets the stream Id. + :vartype stream_id: str + :ivar encoder_ip: Gets the remote IP. + :vartype encoder_ip: str + :ivar encoder_port: Gets the remote port. + :vartype encoder_port: str + :ivar result_code: Gets the result code. + :vartype result_code: str + """ + + _validation = { + 'ingest_url': {'readonly': True}, + 'stream_id': {'readonly': True}, + 'encoder_ip': {'readonly': True}, + 'encoder_port': {'readonly': True}, + 'result_code': {'readonly': True}, + } + + _attribute_map = { + 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, + 'stream_id': {'key': 'streamId', 'type': 'str'}, + 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, + 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, + 'result_code': {'key': 'resultCode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventEncoderDisconnectedEventData, self).__init__(**kwargs) + self.ingest_url = None + self.stream_id = None + self.encoder_ip = None + self.encoder_port = None + self.result_code = None + + +class MediaLiveEventIncomingDataChunkDroppedEventData(msrest.serialization.Model): + """Ingest fragment dropped event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar timestamp: Gets the timestamp of the data chunk dropped. + :vartype timestamp: str + :ivar track_type: Gets the type of the track (Audio / Video). + :vartype track_type: str + :ivar bitrate: Gets the bitrate of the track. + :vartype bitrate: long + :ivar timescale: Gets the timescale of the Timestamp. + :vartype timescale: str + :ivar result_code: Gets the result code for fragment drop operation. + :vartype result_code: str + :ivar track_name: Gets the name of the track for which fragment is dropped. + :vartype track_name: str + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'track_type': {'readonly': True}, + 'bitrate': {'readonly': True}, + 'timescale': {'readonly': True}, + 'result_code': {'readonly': True}, + 'track_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'track_type': {'key': 'trackType', 'type': 'str'}, + 'bitrate': {'key': 'bitrate', 'type': 'long'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + 'result_code': {'key': 'resultCode', 'type': 'str'}, + 'track_name': {'key': 'trackName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIncomingDataChunkDroppedEventData, self).__init__(**kwargs) + self.timestamp = None + self.track_type = None + self.bitrate = None + self.timescale = None + self.result_code = None + self.track_name = None + + +class MediaLiveEventIncomingStreamReceivedEventData(msrest.serialization.Model): + """Encoder connect event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ingest_url: Gets the ingest URL provided by the live event. + :vartype ingest_url: str + :ivar track_type: Gets the type of the track (Audio / Video). + :vartype track_type: str + :ivar track_name: Gets the track name. + :vartype track_name: str + :ivar bitrate: Gets the bitrate of the track. + :vartype bitrate: long + :ivar encoder_ip: Gets the remote IP. + :vartype encoder_ip: str + :ivar encoder_port: Gets the remote port. + :vartype encoder_port: str + :ivar timestamp: Gets the first timestamp of the data chunk received. + :vartype timestamp: str + :ivar duration: Gets the duration of the first data chunk. + :vartype duration: str + :ivar timescale: Gets the timescale in which timestamp is represented. + :vartype timescale: str + """ + + _validation = { + 'ingest_url': {'readonly': True}, + 'track_type': {'readonly': True}, + 'track_name': {'readonly': True}, + 'bitrate': {'readonly': True}, + 'encoder_ip': {'readonly': True}, + 'encoder_port': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'duration': {'readonly': True}, + 'timescale': {'readonly': True}, + } + + _attribute_map = { + 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, + 'track_type': {'key': 'trackType', 'type': 'str'}, + 'track_name': {'key': 'trackName', 'type': 'str'}, + 'bitrate': {'key': 'bitrate', 'type': 'long'}, + 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, + 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'duration': {'key': 'duration', 'type': 'str'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIncomingStreamReceivedEventData, self).__init__(**kwargs) + self.ingest_url = None + self.track_type = None + self.track_name = None + self.bitrate = None + self.encoder_ip = None + self.encoder_port = None + self.timestamp = None + self.duration = None + self.timescale = None + + +class MediaLiveEventIncomingStreamsOutOfSyncEventData(msrest.serialization.Model): + """Incoming streams out of sync event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar min_last_timestamp: Gets the minimum last timestamp received. + :vartype min_last_timestamp: str + :ivar type_of_stream_with_min_last_timestamp: Gets the type of stream with minimum last + timestamp. + :vartype type_of_stream_with_min_last_timestamp: str + :ivar max_last_timestamp: Gets the maximum timestamp among all the tracks (audio or video). + :vartype max_last_timestamp: str + :ivar type_of_stream_with_max_last_timestamp: Gets the type of stream with maximum last + timestamp. + :vartype type_of_stream_with_max_last_timestamp: str + :ivar timescale_of_min_last_timestamp: Gets the timescale in which "MinLastTimestamp" is + represented. + :vartype timescale_of_min_last_timestamp: str + :ivar timescale_of_max_last_timestamp: Gets the timescale in which "MaxLastTimestamp" is + represented. + :vartype timescale_of_max_last_timestamp: str + """ + + _validation = { + 'min_last_timestamp': {'readonly': True}, + 'type_of_stream_with_min_last_timestamp': {'readonly': True}, + 'max_last_timestamp': {'readonly': True}, + 'type_of_stream_with_max_last_timestamp': {'readonly': True}, + 'timescale_of_min_last_timestamp': {'readonly': True}, + 'timescale_of_max_last_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'min_last_timestamp': {'key': 'minLastTimestamp', 'type': 'str'}, + 'type_of_stream_with_min_last_timestamp': {'key': 'typeOfStreamWithMinLastTimestamp', 'type': 'str'}, + 'max_last_timestamp': {'key': 'maxLastTimestamp', 'type': 'str'}, + 'type_of_stream_with_max_last_timestamp': {'key': 'typeOfStreamWithMaxLastTimestamp', 'type': 'str'}, + 'timescale_of_min_last_timestamp': {'key': 'timescaleOfMinLastTimestamp', 'type': 'str'}, + 'timescale_of_max_last_timestamp': {'key': 'timescaleOfMaxLastTimestamp', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIncomingStreamsOutOfSyncEventData, self).__init__(**kwargs) + self.min_last_timestamp = None + self.type_of_stream_with_min_last_timestamp = None + self.max_last_timestamp = None + self.type_of_stream_with_max_last_timestamp = None + self.timescale_of_min_last_timestamp = None + self.timescale_of_max_last_timestamp = None + + +class MediaLiveEventIncomingVideoStreamsOutOfSyncEventData(msrest.serialization.Model): + """Incoming video stream out of synch event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar first_timestamp: Gets the first timestamp received for one of the quality levels. + :vartype first_timestamp: str + :ivar first_duration: Gets the duration of the data chunk with first timestamp. + :vartype first_duration: str + :ivar second_timestamp: Gets the timestamp received for some other quality levels. + :vartype second_timestamp: str + :ivar second_duration: Gets the duration of the data chunk with second timestamp. + :vartype second_duration: str + :ivar timescale: Gets the timescale in which both the timestamps and durations are represented. + :vartype timescale: str + """ + + _validation = { + 'first_timestamp': {'readonly': True}, + 'first_duration': {'readonly': True}, + 'second_timestamp': {'readonly': True}, + 'second_duration': {'readonly': True}, + 'timescale': {'readonly': True}, + } + + _attribute_map = { + 'first_timestamp': {'key': 'firstTimestamp', 'type': 'str'}, + 'first_duration': {'key': 'firstDuration', 'type': 'str'}, + 'second_timestamp': {'key': 'secondTimestamp', 'type': 'str'}, + 'second_duration': {'key': 'secondDuration', 'type': 'str'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIncomingVideoStreamsOutOfSyncEventData, self).__init__(**kwargs) + self.first_timestamp = None + self.first_duration = None + self.second_timestamp = None + self.second_duration = None + self.timescale = None + + +class MediaLiveEventIngestHeartbeatEventData(msrest.serialization.Model): + """Ingest fragment dropped event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar track_type: Gets the type of the track (Audio / Video). + :vartype track_type: str + :ivar track_name: Gets the track name. + :vartype track_name: str + :ivar bitrate: Gets the bitrate of the track. + :vartype bitrate: long + :ivar incoming_bitrate: Gets the incoming bitrate. + :vartype incoming_bitrate: long + :ivar last_timestamp: Gets the last timestamp. + :vartype last_timestamp: str + :ivar timescale: Gets the timescale of the last timestamp. + :vartype timescale: str + :ivar overlap_count: Gets the fragment Overlap count. + :vartype overlap_count: long + :ivar discontinuity_count: Gets the fragment Discontinuity count. + :vartype discontinuity_count: long + :ivar nonincreasing_count: Gets Non increasing count. + :vartype nonincreasing_count: long + :ivar unexpected_bitrate: Gets a value indicating whether unexpected bitrate is present or not. + :vartype unexpected_bitrate: bool + :ivar state: Gets the state of the live event. + :vartype state: str + :ivar healthy: Gets a value indicating whether preview is healthy or not. + :vartype healthy: bool + """ + + _validation = { + 'track_type': {'readonly': True}, + 'track_name': {'readonly': True}, + 'bitrate': {'readonly': True}, + 'incoming_bitrate': {'readonly': True}, + 'last_timestamp': {'readonly': True}, + 'timescale': {'readonly': True}, + 'overlap_count': {'readonly': True}, + 'discontinuity_count': {'readonly': True}, + 'nonincreasing_count': {'readonly': True}, + 'unexpected_bitrate': {'readonly': True}, + 'state': {'readonly': True}, + 'healthy': {'readonly': True}, + } + + _attribute_map = { + 'track_type': {'key': 'trackType', 'type': 'str'}, + 'track_name': {'key': 'trackName', 'type': 'str'}, + 'bitrate': {'key': 'bitrate', 'type': 'long'}, + 'incoming_bitrate': {'key': 'incomingBitrate', 'type': 'long'}, + 'last_timestamp': {'key': 'lastTimestamp', 'type': 'str'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + 'overlap_count': {'key': 'overlapCount', 'type': 'long'}, + 'discontinuity_count': {'key': 'discontinuityCount', 'type': 'long'}, + 'nonincreasing_count': {'key': 'nonincreasingCount', 'type': 'long'}, + 'unexpected_bitrate': {'key': 'unexpectedBitrate', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'healthy': {'key': 'healthy', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventIngestHeartbeatEventData, self).__init__(**kwargs) + self.track_type = None + self.track_name = None + self.bitrate = None + self.incoming_bitrate = None + self.last_timestamp = None + self.timescale = None + self.overlap_count = None + self.discontinuity_count = None + self.nonincreasing_count = None + self.unexpected_bitrate = None + self.state = None + self.healthy = None + + +class MediaLiveEventTrackDiscontinuityDetectedEventData(msrest.serialization.Model): + """Ingest track discontinuity detected event data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar track_type: Gets the type of the track (Audio / Video). + :vartype track_type: str + :ivar track_name: Gets the track name. + :vartype track_name: str + :ivar bitrate: Gets the bitrate. + :vartype bitrate: long + :ivar previous_timestamp: Gets the timestamp of the previous fragment. + :vartype previous_timestamp: str + :ivar new_timestamp: Gets the timestamp of the current fragment. + :vartype new_timestamp: str + :ivar timescale: Gets the timescale in which both timestamps and discontinuity gap are + represented. + :vartype timescale: str + :ivar discontinuity_gap: Gets the discontinuity gap between PreviousTimestamp and NewTimestamp. + :vartype discontinuity_gap: str + """ + + _validation = { + 'track_type': {'readonly': True}, + 'track_name': {'readonly': True}, + 'bitrate': {'readonly': True}, + 'previous_timestamp': {'readonly': True}, + 'new_timestamp': {'readonly': True}, + 'timescale': {'readonly': True}, + 'discontinuity_gap': {'readonly': True}, + } + + _attribute_map = { + 'track_type': {'key': 'trackType', 'type': 'str'}, + 'track_name': {'key': 'trackName', 'type': 'str'}, + 'bitrate': {'key': 'bitrate', 'type': 'long'}, + 'previous_timestamp': {'key': 'previousTimestamp', 'type': 'str'}, + 'new_timestamp': {'key': 'newTimestamp', 'type': 'str'}, + 'timescale': {'key': 'timescale', 'type': 'str'}, + 'discontinuity_gap': {'key': 'discontinuityGap', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MediaLiveEventTrackDiscontinuityDetectedEventData, self).__init__(**kwargs) + self.track_type = None + self.track_name = None + self.bitrate = None + self.previous_timestamp = None + self.new_timestamp = None + self.timescale = None + self.discontinuity_gap = None + + +class RedisExportRDBCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ExportRDBCompleted event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param name: The name of this event. + :type name: str + :param status: The status of this event. Failed or succeeded. + :type status: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + timestamp: Optional[datetime.datetime] = None, + name: Optional[str] = None, + status: Optional[str] = None, + **kwargs + ): + super(RedisExportRDBCompletedEventData, self).__init__(**kwargs) + self.timestamp = timestamp + self.name = name + self.status = status + + +class RedisImportRDBCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ImportRDBCompleted event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param name: The name of this event. + :type name: str + :param status: The status of this event. Failed or succeeded. + :type status: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + timestamp: Optional[datetime.datetime] = None, + name: Optional[str] = None, + status: Optional[str] = None, + **kwargs + ): + super(RedisImportRDBCompletedEventData, self).__init__(**kwargs) + self.timestamp = timestamp + self.name = name + self.status = status + + +class RedisPatchingCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Cache.PatchingCompleted event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param name: The name of this event. + :type name: str + :param status: The status of this event. Failed or succeeded. + :type status: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + timestamp: Optional[datetime.datetime] = None, + name: Optional[str] = None, + status: Optional[str] = None, + **kwargs + ): + super(RedisPatchingCompletedEventData, self).__init__(**kwargs) + self.timestamp = timestamp + self.name = name + self.status = status + + +class RedisScalingCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ScalingCompleted event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param name: The name of this event. + :type name: str + :param status: The status of this event. Failed or succeeded. + :type status: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + timestamp: Optional[datetime.datetime] = None, + name: Optional[str] = None, + status: Optional[str] = None, + **kwargs + ): + super(RedisScalingCompletedEventData, self).__init__(**kwargs) + self.timestamp = timestamp + self.name = name + self.status = status + + +class ResourceActionCancelData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Resources.ResourceActionCancel event. This is raised when a resource action operation is canceled. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceActionCancelData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ResourceActionFailureData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceActionFailure event. This is raised when a resource action operation fails. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceActionFailureData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ResourceActionSuccessData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceActionSuccess event. This is raised when a resource action operation succeeds. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceActionSuccessData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ResourceDeleteCancelData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Resources.ResourceDeleteCancel event. This is raised when a resource delete operation is canceled. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceDeleteCancelData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ResourceDeleteFailureData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteFailure event. This is raised when a resource delete operation fails. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceDeleteFailureData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ResourceDeleteSuccessData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteSuccess event. This is raised when a resource delete operation succeeds. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceDeleteSuccessData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ResourceWriteCancelData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteCancel event. This is raised when a resource create or update operation is canceled. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceWriteCancelData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ResourceWriteFailureData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteFailure event. This is raised when a resource create or update operation fails. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceWriteFailureData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ResourceWriteSuccessData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteSuccess event. This is raised when a resource create or update operation succeeds. + + :param tenant_id: The tenant ID of the resource. + :type tenant_id: str + :param subscription_id: The subscription ID of the resource. + :type subscription_id: str + :param resource_group: The resource group of the resource. + :type resource_group: str + :param resource_provider: The resource provider performing the operation. + :type resource_provider: str + :param resource_uri: The URI of the resource in the operation. + :type resource_uri: str + :param operation_name: The operation that was performed. + :type operation_name: str + :param status: The status of the operation. + :type status: str + :param authorization: The requested authorization for the operation. + :type authorization: str + :param claims: The properties of the claims. + :type claims: str + :param correlation_id: An operation ID used for troubleshooting. + :type correlation_id: str + :param http_request: The details of the operation. + :type http_request: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'operation_name': {'key': 'operationName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'str'}, + 'claims': {'key': 'claims', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'http_request': {'key': 'httpRequest', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + subscription_id: Optional[str] = None, + resource_group: Optional[str] = None, + resource_provider: Optional[str] = None, + resource_uri: Optional[str] = None, + operation_name: Optional[str] = None, + status: Optional[str] = None, + authorization: Optional[str] = None, + claims: Optional[str] = None, + correlation_id: Optional[str] = None, + http_request: Optional[str] = None, + **kwargs + ): + super(ResourceWriteSuccessData, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.subscription_id = subscription_id + self.resource_group = resource_group + self.resource_provider = resource_provider + self.resource_uri = resource_uri + self.operation_name = operation_name + self.status = status + self.authorization = authorization + self.claims = claims + self.correlation_id = correlation_id + self.http_request = http_request + + +class ServiceBusActiveMessagesAvailableWithNoListenersEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners event. + + :param namespace_name: The namespace name of the Microsoft.ServiceBus resource. + :type namespace_name: str + :param request_uri: The endpoint of the Microsoft.ServiceBus resource. + :type request_uri: str + :param entity_type: The entity type of the Microsoft.ServiceBus resource. Could be one of + 'queue' or 'subscriber'. + :type entity_type: str + :param queue_name: The name of the Microsoft.ServiceBus queue. If the entity type is of type + 'subscriber', then this value will be null. + :type queue_name: str + :param topic_name: The name of the Microsoft.ServiceBus topic. If the entity type is of type + 'queue', then this value will be null. + :type topic_name: str + :param subscription_name: The name of the Microsoft.ServiceBus topic's subscription. If the + entity type is of type 'queue', then this value will be null. + :type subscription_name: str + """ + + _attribute_map = { + 'namespace_name': {'key': 'namespaceName', 'type': 'str'}, + 'request_uri': {'key': 'requestUri', 'type': 'str'}, + 'entity_type': {'key': 'entityType', 'type': 'str'}, + 'queue_name': {'key': 'queueName', 'type': 'str'}, + 'topic_name': {'key': 'topicName', 'type': 'str'}, + 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, + } + + def __init__( + self, + *, + namespace_name: Optional[str] = None, + request_uri: Optional[str] = None, + entity_type: Optional[str] = None, + queue_name: Optional[str] = None, + topic_name: Optional[str] = None, + subscription_name: Optional[str] = None, + **kwargs + ): + super(ServiceBusActiveMessagesAvailableWithNoListenersEventData, self).__init__(**kwargs) + self.namespace_name = namespace_name + self.request_uri = request_uri + self.entity_type = entity_type + self.queue_name = queue_name + self.topic_name = topic_name + self.subscription_name = subscription_name + + +class ServiceBusDeadletterMessagesAvailableWithNoListenersEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListenersEvent event. + + :param namespace_name: The namespace name of the Microsoft.ServiceBus resource. + :type namespace_name: str + :param request_uri: The endpoint of the Microsoft.ServiceBus resource. + :type request_uri: str + :param entity_type: The entity type of the Microsoft.ServiceBus resource. Could be one of + 'queue' or 'subscriber'. + :type entity_type: str + :param queue_name: The name of the Microsoft.ServiceBus queue. If the entity type is of type + 'subscriber', then this value will be null. + :type queue_name: str + :param topic_name: The name of the Microsoft.ServiceBus topic. If the entity type is of type + 'queue', then this value will be null. + :type topic_name: str + :param subscription_name: The name of the Microsoft.ServiceBus topic's subscription. If the + entity type is of type 'queue', then this value will be null. + :type subscription_name: str + """ + + _attribute_map = { + 'namespace_name': {'key': 'namespaceName', 'type': 'str'}, + 'request_uri': {'key': 'requestUri', 'type': 'str'}, + 'entity_type': {'key': 'entityType', 'type': 'str'}, + 'queue_name': {'key': 'queueName', 'type': 'str'}, + 'topic_name': {'key': 'topicName', 'type': 'str'}, + 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, + } + + def __init__( + self, + *, + namespace_name: Optional[str] = None, + request_uri: Optional[str] = None, + entity_type: Optional[str] = None, + queue_name: Optional[str] = None, + topic_name: Optional[str] = None, + subscription_name: Optional[str] = None, + **kwargs + ): + super(ServiceBusDeadletterMessagesAvailableWithNoListenersEventData, self).__init__(**kwargs) + self.namespace_name = namespace_name + self.request_uri = request_uri + self.entity_type = entity_type + self.queue_name = queue_name + self.topic_name = topic_name + self.subscription_name = subscription_name + + +class SignalRServiceClientConnectionConnectedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.SignalRService.ClientConnectionConnected event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param hub_name: The hub of connected client connection. + :type hub_name: str + :param connection_id: The connection Id of connected client connection. + :type connection_id: str + :param user_id: The user Id of connected client connection. + :type user_id: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'connection_id': {'key': 'connectionId', 'type': 'str'}, + 'user_id': {'key': 'userId', 'type': 'str'}, + } + + def __init__( + self, + *, + timestamp: Optional[datetime.datetime] = None, + hub_name: Optional[str] = None, + connection_id: Optional[str] = None, + user_id: Optional[str] = None, + **kwargs + ): + super(SignalRServiceClientConnectionConnectedEventData, self).__init__(**kwargs) + self.timestamp = timestamp + self.hub_name = hub_name + self.connection_id = connection_id + self.user_id = user_id + + +class SignalRServiceClientConnectionDisconnectedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.SignalRService.ClientConnectionDisconnected event. + + :param timestamp: The time at which the event occurred. + :type timestamp: ~datetime.datetime + :param hub_name: The hub of connected client connection. + :type hub_name: str + :param connection_id: The connection Id of connected client connection. + :type connection_id: str + :param user_id: The user Id of connected client connection. + :type user_id: str + :param error_message: The message of error that cause the client connection disconnected. + :type error_message: str + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'hub_name': {'key': 'hubName', 'type': 'str'}, + 'connection_id': {'key': 'connectionId', 'type': 'str'}, + 'user_id': {'key': 'userId', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + timestamp: Optional[datetime.datetime] = None, + hub_name: Optional[str] = None, + connection_id: Optional[str] = None, + user_id: Optional[str] = None, + error_message: Optional[str] = None, + **kwargs + ): + super(SignalRServiceClientConnectionDisconnectedEventData, self).__init__(**kwargs) + self.timestamp = timestamp + self.hub_name = hub_name + self.connection_id = connection_id + self.user_id = user_id + self.error_message = error_message + + +class SMSDeliveryAttemptProperties(msrest.serialization.Model): + """Schema for details of a delivery attempt. + + :param timestamp: TimeStamp when delivery was attempted. + :type timestamp: ~datetime.datetime + :param segments_succeeded: Number of segments that were successfully delivered. + :type segments_succeeded: int + :param segments_failed: Number of segments whose delivery failed. + :type segments_failed: int + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'segments_succeeded': {'key': 'segmentsSucceeded', 'type': 'int'}, + 'segments_failed': {'key': 'segmentsFailed', 'type': 'int'}, + } + + def __init__( + self, + *, + timestamp: Optional[datetime.datetime] = None, + segments_succeeded: Optional[int] = None, + segments_failed: Optional[int] = None, + **kwargs + ): + super(SMSDeliveryAttemptProperties, self).__init__(**kwargs) + self.timestamp = timestamp + self.segments_succeeded = segments_succeeded + self.segments_failed = segments_failed + + +class SMSEventBaseProperties(msrest.serialization.Model): + """Schema of common properties of all SMS events. + + :param message_id: The identity of the SMS message. + :type message_id: str + :param from_property: The identity of SMS message sender. + :type from_property: str + :param to: The identity of SMS message receiver. + :type to: str + """ + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'from_property': {'key': 'from', 'type': 'str'}, + 'to': {'key': 'to', 'type': 'str'}, + } + + def __init__( + self, + *, + message_id: Optional[str] = None, + from_property: Optional[str] = None, + to: Optional[str] = None, + **kwargs + ): + super(SMSEventBaseProperties, self).__init__(**kwargs) + self.message_id = message_id + self.from_property = from_property + self.to = to + + +class SMSDeliveryReportReceivedEventData(SMSEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSDeliveryReportReceived event. + + :param message_id: The identity of the SMS message. + :type message_id: str + :param from_property: The identity of SMS message sender. + :type from_property: str + :param to: The identity of SMS message receiver. + :type to: str + :param delivery_status: Status of Delivery. + :type delivery_status: str + :param delivery_status_details: Details about Delivery Status. + :type delivery_status_details: str + :param delivery_attempts: List of details of delivery attempts made. + :type delivery_attempts: list[~event_grid_publisher_client.models.SMSDeliveryAttemptProperties] + """ + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'from_property': {'key': 'from', 'type': 'str'}, + 'to': {'key': 'to', 'type': 'str'}, + 'delivery_status': {'key': 'deliveryStatus', 'type': 'str'}, + 'delivery_status_details': {'key': 'deliveryStatusDetails', 'type': 'str'}, + 'delivery_attempts': {'key': 'deliveryAttempts', 'type': '[SMSDeliveryAttemptProperties]'}, + } + + def __init__( + self, + *, + message_id: Optional[str] = None, + from_property: Optional[str] = None, + to: Optional[str] = None, + delivery_status: Optional[str] = None, + delivery_status_details: Optional[str] = None, + delivery_attempts: Optional[List["SMSDeliveryAttemptProperties"]] = None, + **kwargs + ): + super(SMSDeliveryReportReceivedEventData, self).__init__(message_id=message_id, from_property=from_property, to=to, **kwargs) + self.delivery_status = delivery_status + self.delivery_status_details = delivery_status_details + self.delivery_attempts = delivery_attempts + + +class SMSReceivedEventData(SMSEventBaseProperties): + """Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSReceived event. + + :param message_id: The identity of the SMS message. + :type message_id: str + :param from_property: The identity of SMS message sender. + :type from_property: str + :param to: The identity of SMS message receiver. + :type to: str + :param message: The SMS content. + :type message: str + :param received_timestamp: The time at which the SMS was received. + :type received_timestamp: ~datetime.datetime + """ + + _attribute_map = { + 'message_id': {'key': 'messageId', 'type': 'str'}, + 'from_property': {'key': 'from', 'type': 'str'}, + 'to': {'key': 'to', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'received_timestamp': {'key': 'receivedTimestamp', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + message_id: Optional[str] = None, + from_property: Optional[str] = None, + to: Optional[str] = None, + message: Optional[str] = None, + received_timestamp: Optional[datetime.datetime] = None, + **kwargs + ): + super(SMSReceivedEventData, self).__init__(message_id=message_id, from_property=from_property, to=to, **kwargs) + self.message = message + self.received_timestamp = received_timestamp + + +class StorageBlobCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobCreated event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the Storage service for the storage API + operation that triggered this event. + :type request_id: str + :param e_tag: The etag of the blob at the time this event was triggered. + :type e_tag: str + :param content_type: The content type of the blob. This is the same as what would be returned + in the Content-Type header from the blob. + :type content_type: str + :param content_length: The size of the blob in bytes. This is the same as what would be + returned in the Content-Length header from the blob. + :type content_length: long + :param content_offset: The offset of the blob in bytes. + :type content_offset: long + :param blob_type: The type of blob. + :type blob_type: str + :param url: The path to the blob. + :type url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular blob name. Users can use standard string comparison to understand the relative + sequence of two events on the same blob name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'content_length': {'key': 'contentLength', 'type': 'long'}, + 'content_offset': {'key': 'contentOffset', 'type': 'long'}, + 'blob_type': {'key': 'blobType', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + *, + api: Optional[str] = None, + client_request_id: Optional[str] = None, + request_id: Optional[str] = None, + e_tag: Optional[str] = None, + content_type: Optional[str] = None, + content_length: Optional[int] = None, + content_offset: Optional[int] = None, + blob_type: Optional[str] = None, + url: Optional[str] = None, + sequencer: Optional[str] = None, + identity: Optional[str] = None, + storage_diagnostics: Optional[object] = None, + **kwargs + ): + super(StorageBlobCreatedEventData, self).__init__(**kwargs) + self.api = api + self.client_request_id = client_request_id + self.request_id = request_id + self.e_tag = e_tag + self.content_type = content_type + self.content_length = content_length + self.content_offset = content_offset + self.blob_type = blob_type + self.url = url + self.sequencer = sequencer + self.identity = identity + self.storage_diagnostics = storage_diagnostics + + +class StorageBlobDeletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobDeleted event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the Storage service for the storage API + operation that triggered this event. + :type request_id: str + :param content_type: The content type of the blob. This is the same as what would be returned + in the Content-Type header from the blob. + :type content_type: str + :param blob_type: The type of blob. + :type blob_type: str + :param url: The path to the blob. + :type url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular blob name. Users can use standard string comparison to understand the relative + sequence of two events on the same blob name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'blob_type': {'key': 'blobType', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + *, + api: Optional[str] = None, + client_request_id: Optional[str] = None, + request_id: Optional[str] = None, + content_type: Optional[str] = None, + blob_type: Optional[str] = None, + url: Optional[str] = None, + sequencer: Optional[str] = None, + identity: Optional[str] = None, + storage_diagnostics: Optional[object] = None, + **kwargs + ): + super(StorageBlobDeletedEventData, self).__init__(**kwargs) + self.api = api + self.client_request_id = client_request_id + self.request_id = request_id + self.content_type = content_type + self.blob_type = blob_type + self.url = url + self.sequencer = sequencer + self.identity = identity + self.storage_diagnostics = storage_diagnostics + + +class StorageBlobRenamedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobRenamed event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the storage service for the storage API + operation that triggered this event. + :type request_id: str + :param source_url: The path to the blob that was renamed. + :type source_url: str + :param destination_url: The new path to the blob after the rename operation. + :type destination_url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular blob name. Users can use standard string comparison to understand the relative + sequence of two events on the same blob name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'source_url': {'key': 'sourceUrl', 'type': 'str'}, + 'destination_url': {'key': 'destinationUrl', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + *, + api: Optional[str] = None, + client_request_id: Optional[str] = None, + request_id: Optional[str] = None, + source_url: Optional[str] = None, + destination_url: Optional[str] = None, + sequencer: Optional[str] = None, + identity: Optional[str] = None, + storage_diagnostics: Optional[object] = None, + **kwargs + ): + super(StorageBlobRenamedEventData, self).__init__(**kwargs) + self.api = api + self.client_request_id = client_request_id + self.request_id = request_id + self.source_url = source_url + self.destination_url = destination_url + self.sequencer = sequencer + self.identity = identity + self.storage_diagnostics = storage_diagnostics + + +class StorageDirectoryCreatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryCreated event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the storage service for the storage API + operation that triggered this event. + :type request_id: str + :param e_tag: The etag of the directory at the time this event was triggered. + :type e_tag: str + :param url: The path to the directory. + :type url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular directory name. Users can use standard string comparison to understand the relative + sequence of two events on the same directory name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + *, + api: Optional[str] = None, + client_request_id: Optional[str] = None, + request_id: Optional[str] = None, + e_tag: Optional[str] = None, + url: Optional[str] = None, + sequencer: Optional[str] = None, + identity: Optional[str] = None, + storage_diagnostics: Optional[object] = None, + **kwargs + ): + super(StorageDirectoryCreatedEventData, self).__init__(**kwargs) + self.api = api + self.client_request_id = client_request_id + self.request_id = request_id + self.e_tag = e_tag + self.url = url + self.sequencer = sequencer + self.identity = identity + self.storage_diagnostics = storage_diagnostics + + +class StorageDirectoryDeletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryDeleted event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the storage service for the storage API + operation that triggered this event. + :type request_id: str + :param url: The path to the deleted directory. + :type url: str + :param recursive: Is this event for a recursive delete operation. + :type recursive: bool + :param sequencer: An opaque string value representing the logical sequence of events for any + particular directory name. Users can use standard string comparison to understand the relative + sequence of two events on the same directory name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'recursive': {'key': 'recursive', 'type': 'bool'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + *, + api: Optional[str] = None, + client_request_id: Optional[str] = None, + request_id: Optional[str] = None, + url: Optional[str] = None, + recursive: Optional[bool] = None, + sequencer: Optional[str] = None, + identity: Optional[str] = None, + storage_diagnostics: Optional[object] = None, + **kwargs + ): + super(StorageDirectoryDeletedEventData, self).__init__(**kwargs) + self.api = api + self.client_request_id = client_request_id + self.request_id = request_id + self.url = url + self.recursive = recursive + self.sequencer = sequencer + self.identity = identity + self.storage_diagnostics = storage_diagnostics + + +class StorageDirectoryRenamedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryRenamed event. + + :param api: The name of the API/operation that triggered this event. + :type api: str + :param client_request_id: A request id provided by the client of the storage API operation that + triggered this event. + :type client_request_id: str + :param request_id: The request id generated by the storage service for the storage API + operation that triggered this event. + :type request_id: str + :param source_url: The path to the directory that was renamed. + :type source_url: str + :param destination_url: The new path to the directory after the rename operation. + :type destination_url: str + :param sequencer: An opaque string value representing the logical sequence of events for any + particular directory name. Users can use standard string comparison to understand the relative + sequence of two events on the same directory name. + :type sequencer: str + :param identity: The identity of the requester that triggered this event. + :type identity: str + :param storage_diagnostics: For service use only. Diagnostic data occasionally included by the + Azure Storage service. This property should be ignored by event consumers. + :type storage_diagnostics: object + """ + + _attribute_map = { + 'api': {'key': 'api', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'source_url': {'key': 'sourceUrl', 'type': 'str'}, + 'destination_url': {'key': 'destinationUrl', 'type': 'str'}, + 'sequencer': {'key': 'sequencer', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'str'}, + 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, + } + + def __init__( + self, + *, + api: Optional[str] = None, + client_request_id: Optional[str] = None, + request_id: Optional[str] = None, + source_url: Optional[str] = None, + destination_url: Optional[str] = None, + sequencer: Optional[str] = None, + identity: Optional[str] = None, + storage_diagnostics: Optional[object] = None, + **kwargs + ): + super(StorageDirectoryRenamedEventData, self).__init__(**kwargs) + self.api = api + self.client_request_id = client_request_id + self.request_id = request_id + self.source_url = source_url + self.destination_url = destination_url + self.sequencer = sequencer + self.identity = identity + self.storage_diagnostics = storage_diagnostics + + +class StorageLifecyclePolicyActionSummaryDetail(msrest.serialization.Model): + """Execution statistics of a specific policy action in a Blob Management cycle. + + :param total_objects_count: Total number of objects to be acted on by this action. + :type total_objects_count: long + :param success_count: Number of success operations of this action. + :type success_count: long + :param error_list: Error messages of this action if any. + :type error_list: str + """ + + _attribute_map = { + 'total_objects_count': {'key': 'totalObjectsCount', 'type': 'long'}, + 'success_count': {'key': 'successCount', 'type': 'long'}, + 'error_list': {'key': 'errorList', 'type': 'str'}, + } + + def __init__( + self, + *, + total_objects_count: Optional[int] = None, + success_count: Optional[int] = None, + error_list: Optional[str] = None, + **kwargs + ): + super(StorageLifecyclePolicyActionSummaryDetail, self).__init__(**kwargs) + self.total_objects_count = total_objects_count + self.success_count = success_count + self.error_list = error_list + + +class StorageLifecyclePolicyCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Storage.LifecyclePolicyCompleted event. + + :param schedule_time: The time the policy task was scheduled. + :type schedule_time: str + :param delete_summary: Execution statistics of a specific policy action in a Blob Management + cycle. + :type delete_summary: + ~event_grid_publisher_client.models.StorageLifecyclePolicyActionSummaryDetail + :param tier_to_cool_summary: Execution statistics of a specific policy action in a Blob + Management cycle. + :type tier_to_cool_summary: + ~event_grid_publisher_client.models.StorageLifecyclePolicyActionSummaryDetail + :param tier_to_archive_summary: Execution statistics of a specific policy action in a Blob + Management cycle. + :type tier_to_archive_summary: + ~event_grid_publisher_client.models.StorageLifecyclePolicyActionSummaryDetail + """ + + _attribute_map = { + 'schedule_time': {'key': 'scheduleTime', 'type': 'str'}, + 'delete_summary': {'key': 'deleteSummary', 'type': 'StorageLifecyclePolicyActionSummaryDetail'}, + 'tier_to_cool_summary': {'key': 'tierToCoolSummary', 'type': 'StorageLifecyclePolicyActionSummaryDetail'}, + 'tier_to_archive_summary': {'key': 'tierToArchiveSummary', 'type': 'StorageLifecyclePolicyActionSummaryDetail'}, + } + + def __init__( + self, + *, + schedule_time: Optional[str] = None, + delete_summary: Optional["StorageLifecyclePolicyActionSummaryDetail"] = None, + tier_to_cool_summary: Optional["StorageLifecyclePolicyActionSummaryDetail"] = None, + tier_to_archive_summary: Optional["StorageLifecyclePolicyActionSummaryDetail"] = None, + **kwargs + ): + super(StorageLifecyclePolicyCompletedEventData, self).__init__(**kwargs) + self.schedule_time = schedule_time + self.delete_summary = delete_summary + self.tier_to_cool_summary = tier_to_cool_summary + self.tier_to_archive_summary = tier_to_archive_summary + + +class SubscriptionDeletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionDeletedEvent. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar event_subscription_id: The Azure resource ID of the deleted event subscription. + :vartype event_subscription_id: str + """ + + _validation = { + 'event_subscription_id': {'readonly': True}, + } + + _attribute_map = { + 'event_subscription_id': {'key': 'eventSubscriptionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubscriptionDeletedEventData, self).__init__(**kwargs) + self.event_subscription_id = None + + +class SubscriptionValidationEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionValidationEvent. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar validation_code: The validation code sent by Azure Event Grid to validate an event + subscription. To complete the validation handshake, the subscriber must either respond with + this validation code as part of the validation response, or perform a GET request on the + validationUrl (available starting version 2018-05-01-preview). + :vartype validation_code: str + :ivar validation_url: The validation URL sent by Azure Event Grid (available starting version + 2018-05-01-preview). To complete the validation handshake, the subscriber must either respond + with the validationCode as part of the validation response, or perform a GET request on the + validationUrl (available starting version 2018-05-01-preview). + :vartype validation_url: str + """ + + _validation = { + 'validation_code': {'readonly': True}, + 'validation_url': {'readonly': True}, + } + + _attribute_map = { + 'validation_code': {'key': 'validationCode', 'type': 'str'}, + 'validation_url': {'key': 'validationUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubscriptionValidationEventData, self).__init__(**kwargs) + self.validation_code = None + self.validation_url = None + + +class SubscriptionValidationResponse(msrest.serialization.Model): + """To complete an event subscription validation handshake, a subscriber can use either the validationCode or the validationUrl received in a SubscriptionValidationEvent. When the validationCode is used, the SubscriptionValidationResponse can be used to build the response. + + :param validation_response: The validation response sent by the subscriber to Azure Event Grid + to complete the validation of an event subscription. + :type validation_response: str + """ + + _attribute_map = { + 'validation_response': {'key': 'validationResponse', 'type': 'str'}, + } + + def __init__( + self, + *, + validation_response: Optional[str] = None, + **kwargs + ): + super(SubscriptionValidationResponse, self).__init__(**kwargs) + self.validation_response = validation_response + + +class WebAppServicePlanUpdatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.AppServicePlanUpdated event. + + :param app_service_plan_event_type_detail: Detail of action on the app service plan. + :type app_service_plan_event_type_detail: + ~event_grid_publisher_client.models.AppServicePlanEventTypeDetail + :param sku: sku of app service plan. + :type sku: ~event_grid_publisher_client.models.WebAppServicePlanUpdatedEventDataSku + :param name: name of the app service plan that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the app + service plan API operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + app service plan API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the app service plan API + operation that triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_service_plan_event_type_detail': {'key': 'appServicePlanEventTypeDetail', 'type': 'AppServicePlanEventTypeDetail'}, + 'sku': {'key': 'sku', 'type': 'WebAppServicePlanUpdatedEventDataSku'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_service_plan_event_type_detail: Optional["AppServicePlanEventTypeDetail"] = None, + sku: Optional["WebAppServicePlanUpdatedEventDataSku"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebAppServicePlanUpdatedEventData, self).__init__(**kwargs) + self.app_service_plan_event_type_detail = app_service_plan_event_type_detail + self.sku = sku + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebAppServicePlanUpdatedEventDataSku(msrest.serialization.Model): + """sku of app service plan. + + :param name: name of app service plan sku. + :type name: str + :param tier: tier of app service plan sku. + :type tier: str + :param size: size of app service plan sku. + :type size: str + :param family: family of app service plan sku. + :type family: str + :param capacity: capacity of app service plan sku. + :type capacity: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'Tier', 'type': 'str'}, + 'size': {'key': 'Size', 'type': 'str'}, + 'family': {'key': 'Family', 'type': 'str'}, + 'capacity': {'key': 'Capacity', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + tier: Optional[str] = None, + size: Optional[str] = None, + family: Optional[str] = None, + capacity: Optional[str] = None, + **kwargs + ): + super(WebAppServicePlanUpdatedEventDataSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + + +class WebAppUpdatedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.AppUpdated event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebAppUpdatedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebBackupOperationCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationCompleted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebBackupOperationCompletedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebBackupOperationFailedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationFailed event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebBackupOperationFailedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebBackupOperationStartedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationStarted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebBackupOperationStartedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebRestoreOperationCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationCompleted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebRestoreOperationCompletedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebRestoreOperationFailedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationFailed event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebRestoreOperationFailedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebRestoreOperationStartedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationStarted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebRestoreOperationStartedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebSlotSwapCompletedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapCompleted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebSlotSwapCompletedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebSlotSwapFailedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapFailed event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebSlotSwapFailedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebSlotSwapStartedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapStarted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebSlotSwapStartedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebSlotSwapWithPreviewCancelledEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapWithPreviewCancelled event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebSlotSwapWithPreviewCancelledEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb + + +class WebSlotSwapWithPreviewStartedEventData(msrest.serialization.Model): + """Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapWithPreviewStarted event. + + :param app_event_type_detail: Detail of action on the app. + :type app_event_type_detail: ~event_grid_publisher_client.models.AppEventTypeDetail + :param name: name of the web site that had this event. + :type name: str + :param client_request_id: The client request id generated by the app service for the site API + operation that triggered this event. + :type client_request_id: str + :param correlation_request_id: The correlation request id generated by the app service for the + site API operation that triggered this event. + :type correlation_request_id: str + :param request_id: The request id generated by the app service for the site API operation that + triggered this event. + :type request_id: str + :param address: HTTP request URL of this operation. + :type address: str + :param verb: HTTP verb of this operation. + :type verb: str + """ + + _attribute_map = { + 'app_event_type_detail': {'key': 'appEventTypeDetail', 'type': 'AppEventTypeDetail'}, + 'name': {'key': 'name', 'type': 'str'}, + 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, + 'correlation_request_id': {'key': 'correlationRequestId', 'type': 'str'}, + 'request_id': {'key': 'requestId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'verb': {'key': 'verb', 'type': 'str'}, + } + + def __init__( + self, + *, + app_event_type_detail: Optional["AppEventTypeDetail"] = None, + name: Optional[str] = None, + client_request_id: Optional[str] = None, + correlation_request_id: Optional[str] = None, + request_id: Optional[str] = None, + address: Optional[str] = None, + verb: Optional[str] = None, + **kwargs + ): + super(WebSlotSwapWithPreviewStartedEventData, self).__init__(**kwargs) + self.app_event_type_detail = app_event_type_detail + self.name = name + self.client_request_id = client_request_id + self.correlation_request_id = correlation_request_id + self.request_id = request_id + self.address = address + self.verb = verb diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/operations/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/operations/__init__.py new file mode 100644 index 000000000000..842b4ec6d735 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/operations/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._event_grid_publisher_client_operations import EventGridPublisherClientOperationsMixin + +__all__ = [ + 'EventGridPublisherClientOperationsMixin', +] diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/operations/_event_grid_publisher_client_operations.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/operations/_event_grid_publisher_client_operations.py new file mode 100644 index 000000000000..2e894cbcd5d5 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/operations/_event_grid_publisher_client_operations.py @@ -0,0 +1,192 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class EventGridPublisherClientOperationsMixin(object): + + def publish_events( + self, + topic_hostname, # type: str + events, # type: List["models.EventGridEvent"] + **kwargs # type: Any + ): + # type: (...) -> None + """Publishes a batch of events to an Azure Event Grid topic. + + :param topic_hostname: The host name of the topic, e.g. topic1.westus2-1.eventgrid.azure.net. + :type topic_hostname: str + :param events: An array of events to be published to Event Grid. + :type events: list[~event_grid_publisher_client.models.EventGridEvent] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-01-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.publish_events.metadata['url'] # type: ignore + path_format_arguments = { + 'topicHostname': self._serialize.url("topic_hostname", topic_hostname, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(events, '[EventGridEvent]') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response) + + if cls: + return cls(pipeline_response, None, {}) + + publish_events.metadata = {'url': '/api/events'} # type: ignore + + def publish_cloud_event_events( + self, + topic_hostname, # type: str + events, # type: List["models.CloudEvent"] + **kwargs # type: Any + ): + # type: (...) -> None + """Publishes a batch of events to an Azure Event Grid topic. + + :param topic_hostname: The host name of the topic, e.g. topic1.westus2-1.eventgrid.azure.net. + :type topic_hostname: str + :param events: An array of events to be published to Event Grid. + :type events: list[~event_grid_publisher_client.models.CloudEvent] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-01-01" + content_type = kwargs.pop("content_type", "application/cloudevents-batch+json; charset=utf-8") + + # Construct URL + url = self.publish_cloud_event_events.metadata['url'] # type: ignore + path_format_arguments = { + 'topicHostname': self._serialize.url("topic_hostname", topic_hostname, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(events, '[CloudEvent]') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response) + + if cls: + return cls(pipeline_response, None, {}) + + publish_cloud_event_events.metadata = {'url': '/api/events'} # type: ignore + + def publish_custom_event_events( + self, + topic_hostname, # type: str + events, # type: List[object] + **kwargs # type: Any + ): + # type: (...) -> None + """Publishes a batch of events to an Azure Event Grid topic. + + :param topic_hostname: The host name of the topic, e.g. topic1.westus2-1.eventgrid.azure.net. + :type topic_hostname: str + :param events: An array of events to be published to Event Grid. + :type events: list[object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-01-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.publish_custom_event_events.metadata['url'] # type: ignore + path_format_arguments = { + 'topicHostname': self._serialize.url("topic_hostname", topic_hostname, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(events, '[object]') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response) + + if cls: + return cls(pipeline_response, None, {}) + + publish_custom_event_events.metadata = {'url': '/api/events'} # type: ignore diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/py.typed b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/py.typed new file mode 100644 index 000000000000..e5aff4f83af8 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_generated/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py new file mode 100644 index 000000000000..454fe543a5fb --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py @@ -0,0 +1,80 @@ +import hashlib +import hmac +import base64 +try: + from urllib.parse import quote +except ImportError: + from urllib2 import quote # type: ignore +import datetime + +from azure.core.pipeline.policies import AzureKeyCredentialPolicy +from azure.core.credentials import AzureKeyCredential +from ._shared_access_signature_credential import EventGridSharedAccessSignatureCredential +from ._signature_credential_policy import EventGridSharedAccessSignatureCredentialPolicy +from . import _constants as constants + +def generate_shared_access_signature(topic_hostname, shared_access_key, expiration_date_utc, **kwargs): + # type: (str, str, datetime.Datetime, Any) -> str + """ Helper method to generate shared access signature given hostname, key, and expiration date. + :param str topic_hostname: The topic endpoint to send the events to. + Similar to .-1.eventgrid.azure.net + :param str shared_access_key: The shared access key to be used for generating the token + :param datetime.datetime expiration_date_utc: The expiration datetime in UTC for the signature. + :param str api_version: The API Version to include in the signature. If not provided, the default API version will be used. + :rtype: str + """ + + full_topic_hostname = _get_full_topic_hostname(topic_hostname) + + full_topic_hostname = "{}?apiVersion={}".format(full_topic_hostname, kwargs.get('api_version', None) or constants.DEFAULT_API_VERSION) + encoded_resource = quote(full_topic_hostname, safe=constants.SAFE_ENCODE) + encoded_expiration_utc = quote(str(expiration_date_utc), safe=constants.SAFE_ENCODE) + + unsigned_sas = "r={}&e={}".format(encoded_resource, encoded_expiration_utc) + signature = quote(_generate_hmac(shared_access_key, unsigned_sas), safe=constants.SAFE_ENCODE) + signed_sas = "{}&s={}".format(unsigned_sas, signature) + return signed_sas + +def _get_topic_hostname_only_fqdn(topic_hostname): + if topic_hostname.startswith('http://'): + raise ValueError("HTTP is not supported. Only HTTPS is supported.") + if topic_hostname.startswith('https://'): + topic_hostname = topic_hostname.replace("https://", "") + if topic_hostname.endswith("/api/events"): + topic_hostname = topic_hostname.replace("/api/events", "") + + return topic_hostname + +def _get_full_topic_hostname(topic_hostname): + if topic_hostname.startswith('http://'): + raise ValueError("HTTP is not supported. Only HTTPS is supported.") + if not topic_hostname.startswith('https://'): + topic_hostname = "https://{}".format(topic_hostname) + if not topic_hostname.endswith("/api/events"): + topic_hostname = "{}/api/events".format(topic_hostname) + + return topic_hostname + +def _generate_hmac(key, message): + decoded_key = base64.b64decode(key) + bytes_message = message.encode('ascii') + hmac_new = hmac.new(decoded_key, bytes_message, hashlib.sha256).digest() + + return base64.b64encode(hmac_new) + +def _get_authentication_policy(credential): + if credential is None: + raise ValueError("Parameter 'self._credential' must not be None.") + if isinstance(credential, AzureKeyCredential): + authentication_policy = AzureKeyCredentialPolicy(credential=credential, name=constants.EVENTGRID_KEY_HEADER) + if isinstance(credential, EventGridSharedAccessSignatureCredential): + authentication_policy = EventGridSharedAccessSignatureCredentialPolicy(credential=credential, name=constants.EVENTGRID_TOKEN_HEADER) + return authentication_policy + +def _is_cloud_event(event): + # type: dict -> bool + required = ('id', 'source', 'specversion', 'type') + try: + return all([_ in event for _ in required]) and event['specversion'] == "1.0" + except TypeError: + return False diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_models.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_models.py new file mode 100644 index 000000000000..62d5ac7c1a29 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_models.py @@ -0,0 +1,200 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint:disable=protected-access +from typing import Optional +from msrest.serialization import UTC +import datetime as dt +import uuid +import json +from ._generated import models +from ._generated.models import StorageBlobCreatedEventData, \ + EventGridEvent as InternalEventGridEvent, \ + CloudEvent as InternalCloudEvent +from ._shared.mixins import DictMixin +from ._event_mappings import _event_mappings + +class CloudEvent(InternalCloudEvent): #pylint:disable=too-many-instance-attributes + """Properties of an event published to an Event Grid topic using the CloudEvent 1.0 Schema. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. Identifies the context in which an event happened. The combination of id and source must be + unique for each distinct event. If publishing to a domain topic, source must be the domain name. + :type source: str + :param data: Event data specific to the event type. + :type data: object + :param type: Required. Type of event related to the originating occurrence. + :type type: str + :param time: The time (in UTC) the event was generated, in RFC3339 format. + :type time: ~datetime.datetime + :param dataschema: Identifies the schema that data adheres to. + :type dataschema: str + :param datacontenttype: Content type of data value. + :type datacontenttype: str + :param subject: This describes the subject of the event in the context of the event producer + (identified by source). + :type subject: str + :param id: Optional. An identifier for the event. The combination of id and source must be + unique for each distinct event. + :type id: Optional[str] + """ + + _validation = { + 'source': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'object'}, + 'data_base64': {'key': 'data_base64', 'type': 'bytearray'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'specversion': {'key': 'specversion', 'type': 'str'}, + 'dataschema': {'key': 'dataschema', 'type': 'str'}, + 'datacontenttype': {'key': 'datacontenttype', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + } + + def __init__(self, source, type, **kwargs): + # type: (str, str, Any) -> None + kwargs.setdefault('id', uuid.uuid4()) + kwargs.setdefault("source", source) + kwargs.setdefault("type", type) + kwargs.setdefault("time", dt.datetime.now(UTC()).isoformat()) + kwargs.setdefault("specversion", "1.0") + + super(CloudEvent, self).__init__(**kwargs) + + +class EventGridEvent(InternalEventGridEvent): + """Properties of an event published to an Event Grid topic using the EventGrid Schema. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param topic: The resource path of the event source. If not provided, Event Grid will stamp onto the event. + :type topic: str + :param subject: Required. A resource path relative to the topic path. + :type subject: str + :param data: Event data specific to the event type. + :type data: object + :param event_type: Required. The type of the event that occurred. + :type event_type: str + :ivar metadata_version: The schema version of the event metadata. If provided, must match Event Grid Schema exactly. + If not provided, EventGrid will stamp onto event. + :vartype metadata_version: str + :param data_version: The schema version of the data object. If not provided, will be stamped with an empty value. + :type data_version: str + :param id: Optional. An identifier for the event. The combination of id and source must be + unique for each distinct event. + :type id: Optional[str] + :param event_time: Optional.The time (in UTC) of the event. If not provided, it will be the time (in UTC) the event was generated. + :type event_time: Optional[~datetime.datetime] + """ + + _validation = { + 'id': {'required': True}, + 'subject': {'required': True}, + 'data': {'required': True}, + 'event_type': {'required': True}, + 'event_time': {'required': True}, + 'metadata_version': {'readonly': True}, + 'data_version': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'topic': {'key': 'topic', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'object'}, + 'event_type': {'key': 'eventType', 'type': 'str'}, + 'event_time': {'key': 'eventTime', 'type': 'iso-8601'}, + 'metadata_version': {'key': 'metadataVersion', 'type': 'str'}, + 'data_version': {'key': 'dataVersion', 'type': 'str'}, + } + + def __init__(self, subject, event_type, **kwargs): + # type: (str, str, Any) -> None + kwargs.setdefault('id', uuid.uuid4()) + kwargs.setdefault('subject', subject) + kwargs.setdefault("event_type", event_type) + kwargs.setdefault('event_time', dt.datetime.now(UTC()).isoformat()) + kwargs.setdefault('data', None) + + super(EventGridEvent, self).__init__(**kwargs) + + +class DeserializedEvent(): + """The container for the deserialized event model and mapping of event envelope properties. + :param dict event: dict + """ + + def __init__(self, event): + # type: (Any) -> None + self._model = None + self._event_dict = event + + def to_json(self): + # type: () -> dict + return self._event_dict + + @property + def model(self): + # type: () -> Union[CloudEvent, EventGridEvent] + """ + Returns strongly typed EventGridEvent/CloudEvent object defined by the format of the properties. + All properties of the model are strongly typed (ie. for an EventGridEvent, event_time property will return a datetime.datetime object). + + model.data: Returns a system event type(StorageBlobCreated, StorageBlobDeleted, etc.). If model.type/model.event_type is not defined in the + system registry, returns None. + + :raise: :class:`ValueError`, when events do not follow CloudEvent or EventGridEvent schema. + + :rtype: Union[CloudEvent, EventGridEvent] + """ + if not self._model: + try: + if 'specversion' in self._event_dict.keys(): + self._model = CloudEvent.deserialize(self._event_dict) + event_type = self._model.type + else: + self._model = EventGridEvent.deserialize(self._event_dict) + event_type = self._model.event_type + except: + raise ValueError("Event is not correctly formatted CloudEvent or EventGridEvent.") + + self._deserialize_data(event_type) + + return self._model + + def _deserialize_data(self, event_type): + """ + Sets self._model.data to strongly typed event object if event type exists in _event_mappings. + Otherwise, sets self._model.data to None. + + :param str event_type: The event_type of the EventGridEvent object or the type of the CloudEvent object. + """ + # if system event type defined, set model.data to system event object + try: + self._model.data = (_event_mappings[event_type]).deserialize(self._model.data) + except KeyError: # else, if custom event, then model.data is dict and should be set to None + self._model.data = None + +class CustomEvent(DictMixin): + """The wrapper class for a CustomEvent, to be used when publishing events. + :param dict args: dict + """ + + def __init__(self, *args, **kwargs): + # type: (Any, Any) -> None + self._update(*args, **kwargs) + + def _update(self, *args, **kwargs): + for k, v in dict(*args, **kwargs).items(): + self[k] = v diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_publisher_client.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_publisher_client.py new file mode 100644 index 000000000000..a0e5ff7e62c8 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_publisher_client.py @@ -0,0 +1,74 @@ +# +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING, Sequence +import json + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Union, Dict, List + SendType = Union[ + CloudEvent, + EventGridEvent, + CustomEvent, + Dict, + List[CloudEvent], + List[EventGridEvent], + List[CustomEvent], + List[Dict] + ] + +from ._models import CloudEvent, EventGridEvent, CustomEvent +from ._helpers import _get_topic_hostname_only_fqdn, _get_authentication_policy, _is_cloud_event +from ._generated._event_grid_publisher_client import EventGridPublisherClient as EventGridPublisherClientImpl +from . import _constants as constants + + +class EventGridPublisherClient(object): + """EventGrid Python Publisher Client. + + :param str topic_hostname: The topic endpoint to send the events to. + :param credential: The credential object used for authentication which implements SAS key authentication or SAS token authentication. + :type credential: Union[~azure.core.credentials.AzureKeyCredential, azure.eventgrid.EventGridSharedAccessSignatureCredential] + """ + + def __init__(self, topic_hostname, credential, **kwargs): + # type: (str, Union[AzureKeyCredential, EventGridSharedAccessSignatureCredential], Any) -> None + + topic_hostname = _get_topic_hostname_only_fqdn(topic_hostname) + + self._topic_hostname = topic_hostname + auth_policy = _get_authentication_policy(credential) + self._client = EventGridPublisherClientImpl(authentication_policy=auth_policy, **kwargs) + def send(self, events, **kwargs): + # type: (SendType, Any) -> None + """Sends event data to topic hostname specified during client initialization. + + :param events: A list of CloudEvent/EventGridEvent/CustomEvent to be sent. + :type events: Union[List[models.CloudEvent], List[models.EventGridEvent], List[models.CustomEvent]] + :keyword str content_type: The type of content to be used to send the events. + Has default value "application/json; charset=utf-8" for EventGridEvents, with "cloudevents-batch+json" for CloudEvents + :rtype: None + :raise: :class:`ValueError`, when events do not follow specified SendType. + """ + if not isinstance(events, list): + events = [events] + + if all(isinstance(e, CloudEvent) for e in events) or all(_is_cloud_event(e) for e in events): + kwargs.setdefault("content_type", "application/cloudevents-batch+json; charset=utf-8") + self._client.publish_cloud_event_events(self._topic_hostname, events, **kwargs) + elif all(isinstance(e, EventGridEvent) for e in events) or all(isinstance(e, dict) for e in events): + kwargs.setdefault("content_type", "application/json; charset=utf-8") + self._client.publish_events(self._topic_hostname, events, **kwargs) + elif all(isinstance(e, CustomEvent) for e in events): + serialized_events = [dict(e) for e in events] + self._client.publish_custom_event_events(self._topic_hostname, serialized_events, **kwargs) + else: + raise ValueError("Event schema is not correct.") diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared/__init__.py new file mode 100644 index 000000000000..4897306df708 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared/__init__.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------- + +from .mixins import DictMixin +__all__ = ['DictMixin'] diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared/mixins.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared/mixins.py new file mode 100644 index 000000000000..0b24e8edc45c --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared/mixins.py @@ -0,0 +1,58 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint:disable=protected-access + +class DictMixin(object): + + def __setitem__(self, key, item): + self.__dict__[key] = item + + def __getitem__(self, key): + return self.__dict__[key] + + def __contains__(self, key): + return key in self.__dict__ + + def __repr__(self): + return str(self) + + def __len__(self): + return len(self.keys()) + + def __delitem__(self, key): + self.__dict__[key] = None + + def __eq__(self, other): + """Compare objects by comparing all attributes.""" + if isinstance(other, self.__class__): + return self.__dict__ == other.__dict__ + return False + + def __ne__(self, other): + """Compare objects by comparing all attributes.""" + return not self.__eq__(other) + + def __str__(self): + return str({k: v for k, v in self.__dict__.items() if not k.startswith('_')}) + + def has_key(self, k, **kwargs): + return k in self.__dict__ + + def update(self, *args, **kwargs): + return self.__dict__.update(*args, **kwargs) + + def keys(self, **kwargs): + return [k for k in self.__dict__ if not k.startswith('_')] + + def values(self, **kwargs): + return [v for k, v in self.__dict__.items() if not k.startswith('_')] + + def items(self, **kwargs): + return [(k, v) for k, v in self.__dict__.items() if not k.startswith('_')] + + def get(self, key, default=None, **kwargs): + if key in self.__dict__: + return self.__dict__[key] + return default diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared_access_signature_credential.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared_access_signature_credential.py new file mode 100644 index 000000000000..dece8da69fe1 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_shared_access_signature_credential.py @@ -0,0 +1,33 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE.txt in the project root for +# license information. +# ------------------------------------------------------------------------- + +class EventGridSharedAccessSignatureCredential(object): + """Creates an instance of an EventGridSharedAccessSignatureCredential for use with a service client. + :param str signature: Signature to use in authentication. + """ + + def __init__(self, signature): + # type: (str) -> None + self._signature = signature + + @property + def signature(self): + # type: () -> str + """ + The value of the signature to be used in authentication. + + :rtype: str + """ + return self._signature + + def update(self, signature): + # type: (str) -> None + """ + Updates the key property value of the signature to be used in authentication. + + :param str signature: Signature to use in authentication. + """ + self._signature = signature diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_signature_credential_policy.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_signature_credential_policy.py new file mode 100644 index 000000000000..3370595d1d5d --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_signature_credential_policy.py @@ -0,0 +1,23 @@ +import six + +from azure.core.pipeline.policies import SansIOHTTPPolicy + +class EventGridSharedAccessSignatureCredentialPolicy(SansIOHTTPPolicy): + """Adds a token header for the provided credential. + :param credential: The credential used to authenticate requests. + :type credential: ~azure.eventgrid.EventGridSharedAccessSignatureCredential + :param str name: The name of the token header used for the credential. + :raises: ValueError or TypeError + """ + def __init__(self, credential, name, **kwargs): # pylint: disable=unused-argument + # type: (EventGridSharedAccessSignatureCredential, str, Any) -> None + super(EventGridSharedAccessSignatureCredentialPolicy, self).__init__() + self._credential = credential + if not name: + raise ValueError("name can not be None or empty") + if not isinstance(name, six.string_types): + raise TypeError("name must be a string.") + self._name = name + + def on_request(self, request): + request.http_request.headers[self._name] = self._credential.signature diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/version.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_version.py similarity index 95% rename from sdk/eventgrid/azure-eventgrid/azure/eventgrid/version.py rename to sdk/eventgrid/azure-eventgrid/azure/eventgrid/_version.py index d24076f8d84b..b24b0b48a5e6 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/version.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_version.py @@ -9,5 +9,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "1.3.0" - +VERSION = "2.0.0b1" diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/__init__.py new file mode 100644 index 000000000000..2de020d81e02 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/__init__.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +from ._publisher_client_async import EventGridPublisherClient + +__all__ = ['EventGridPublisherClient'] diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py new file mode 100644 index 000000000000..f4b552b0882e --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +from .._models import CloudEvent, EventGridEvent, CustomEvent +from .._helpers import _get_topic_hostname_only_fqdn, _get_authentication_policy, _is_cloud_event +from azure.core.pipeline.policies import AzureKeyCredentialPolicy +from azure.core.credentials import AzureKeyCredential +from .._generated.aio import EventGridPublisherClient as EventGridPublisherClientAsync +from .. import _constants as constants + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Union, Dict, List + SendType = Union[ + CloudEvent, + EventGridEvent, + CustomEvent, + Dict, + List[CloudEvent], + List[EventGridEvent], + List[CustomEvent], + List[Dict] + ] + +class EventGridPublisherClient(object): + """Asynchronous EventGrid Python Publisher Client. + + :param str topic_hostname: The topic endpoint to send the events to. + :param credential: The credential object used for authentication which implements SAS key authentication or SAS token authentication. + :type credential: Union[~azure.core.credentials.AzureKeyCredential, azure.eventgrid.EventGridSharedAccessSignatureCredential] + """ + + def __init__(self, topic_hostname, credential, **kwargs): + # type: (str, Union[AzureKeyCredential, EventGridSharedAccessSignatureCredential], Any) -> None + auth_policy = _get_authentication_policy(credential) + self._client = EventGridPublisherClientAsync(authentication_policy=auth_policy, **kwargs) + topic_hostname = _get_topic_hostname_only_fqdn(topic_hostname) + self._topic_hostname = topic_hostname + + + async def send(self, events, **kwargs): + # type: (SendType) -> None + """Sends event data to topic hostname specified during client initialization. + + :param events: A list of CloudEvent/EventGridEvent/CustomEvent to be sent. + :type events: Union[List[models.CloudEvent], List[models.EventGridEvent], List[models.CustomEvent]] + :keyword str content_type: The type of content to be used to send the events. + Has default value "application/json; charset=utf-8" for EventGridEvents, with "cloudevents-batch+json" for CloudEvents + :rtype: None + :raise: :class:`ValueError`, when events do not follow specified SendType. + """ + if not isinstance(events, list): + events = [events] + + if all(isinstance(e, CloudEvent) for e in events) or all(_is_cloud_event(e) for e in events): + kwargs.setdefault("content_type", "application/cloudevents-batch+json; charset=utf-8") + await self._client.publish_cloud_event_events(self._topic_hostname, events, **kwargs) + elif all(isinstance(e, EventGridEvent) for e in events) or all(isinstance(e, dict) for e in events): + kwargs.setdefault("content_type", "application/json; charset=utf-8") + await self._client.publish_events(self._topic_hostname, events, **kwargs) + elif all(isinstance(e, CustomEvent) for e in events): + serialized_events = [dict(e) for e in events] + await self._client.publish_custom_event_events(self._topic_hostname, serialized_events, **kwargs) + else: + raise ValueError("Event schema is not correct.") + diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/event_grid_client.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/event_grid_client.py deleted file mode 100644 index cd2878ff4c78..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/event_grid_client.py +++ /dev/null @@ -1,116 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Configuration, Serializer, Deserializer -from .version import VERSION -from msrest.pipeline import ClientRawResponse -from msrest.exceptions import HttpOperationError -from . import models - - -class EventGridClientConfiguration(Configuration): - """Configuration for EventGridClient - Note that all parameters used to create this instance are saved as instance - attributes. - - :param credentials: Subscription credentials which uniquely identify - client subscription. - :type credentials: None - """ - - def __init__( - self, credentials): - - if credentials is None: - raise ValueError("Parameter 'credentials' must not be None.") - base_url = 'https://{topicHostname}' - - super(EventGridClientConfiguration, self).__init__(base_url) - - self.add_user_agent('azure-eventgrid/{}'.format(VERSION)) - - self.credentials = credentials - - -class EventGridClient(SDKClient): - """EventGrid Client - - :ivar config: Configuration for client. - :vartype config: EventGridClientConfiguration - - :param credentials: Subscription credentials which uniquely identify - client subscription. - :type credentials: None - """ - - def __init__( - self, credentials): - - self.config = EventGridClientConfiguration(credentials) - super(EventGridClient, self).__init__(self.config.credentials, self.config) - - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2018-01-01' - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - - def publish_events( - self, topic_hostname, events, custom_headers=None, raw=False, **operation_config): - """Publishes a batch of events to an Azure Event Grid topic. - - :param topic_hostname: The host name of the topic, e.g. - topic1.westus2-1.eventgrid.azure.net - :type topic_hostname: str - :param events: An array of events to be published to Event Grid. - :type events: list[~azure.eventgrid.models.EventGridEvent] - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`HttpOperationError` - """ - # Construct URL - url = self.publish_events.metadata['url'] - path_format_arguments = { - 'topicHostname': self._serialize.url("topic_hostname", topic_hostname, 'str', skip_quote=True) - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if custom_headers: - header_parameters.update(custom_headers) - - # Construct body - body_content = self._serialize.body(events, '[EventGridEvent]') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise HttpOperationError(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - publish_events.metadata = {'url': '/api/events'} diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/__init__.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/__init__.py index 30defc1761ca..c89dbc17e927 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/__init__.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/__init__.py @@ -1,266 +1,300 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------- -try: - from .storage_blob_created_event_data_py3 import StorageBlobCreatedEventData - from .storage_blob_deleted_event_data_py3 import StorageBlobDeletedEventData - from .event_hub_capture_file_created_event_data_py3 import EventHubCaptureFileCreatedEventData - from .resource_write_success_data_py3 import ResourceWriteSuccessData - from .resource_write_failure_data_py3 import ResourceWriteFailureData - from .resource_write_cancel_data_py3 import ResourceWriteCancelData - from .resource_delete_success_data_py3 import ResourceDeleteSuccessData - from .resource_delete_failure_data_py3 import ResourceDeleteFailureData - from .resource_delete_cancel_data_py3 import ResourceDeleteCancelData - from .resource_action_success_data_py3 import ResourceActionSuccessData - from .resource_action_failure_data_py3 import ResourceActionFailureData - from .resource_action_cancel_data_py3 import ResourceActionCancelData - from .event_grid_event_py3 import EventGridEvent - from .subscription_validation_event_data_py3 import SubscriptionValidationEventData - from .subscription_validation_response_py3 import SubscriptionValidationResponse - from .subscription_deleted_event_data_py3 import SubscriptionDeletedEventData - from .iot_hub_device_created_event_data_py3 import IotHubDeviceCreatedEventData - from .iot_hub_device_deleted_event_data_py3 import IotHubDeviceDeletedEventData - from .iot_hub_device_connected_event_data_py3 import IotHubDeviceConnectedEventData - from .iot_hub_device_disconnected_event_data_py3 import IotHubDeviceDisconnectedEventData - from .iot_hub_device_telemetry_event_data_py3 import IotHubDeviceTelemetryEventData - from .device_twin_metadata_py3 import DeviceTwinMetadata - from .device_twin_properties_py3 import DeviceTwinProperties - from .device_twin_info_properties_py3 import DeviceTwinInfoProperties - from .device_twin_info_x509_thumbprint_py3 import DeviceTwinInfoX509Thumbprint - from .device_twin_info_py3 import DeviceTwinInfo - from .device_life_cycle_event_properties_py3 import DeviceLifeCycleEventProperties - from .device_connection_state_event_info_py3 import DeviceConnectionStateEventInfo - from .device_connection_state_event_properties_py3 import DeviceConnectionStateEventProperties - from .device_telemetry_event_properties_py3 import DeviceTelemetryEventProperties - from .container_registry_image_pushed_event_data_py3 import ContainerRegistryImagePushedEventData - from .container_registry_image_deleted_event_data_py3 import ContainerRegistryImageDeletedEventData - from .container_registry_chart_pushed_event_data_py3 import ContainerRegistryChartPushedEventData - from .container_registry_chart_deleted_event_data_py3 import ContainerRegistryChartDeletedEventData - from .container_registry_event_target_py3 import ContainerRegistryEventTarget - from .container_registry_event_request_py3 import ContainerRegistryEventRequest - from .container_registry_event_actor_py3 import ContainerRegistryEventActor - from .container_registry_event_source_py3 import ContainerRegistryEventSource - from .container_registry_event_data_py3 import ContainerRegistryEventData - from .container_registry_artifact_event_target_py3 import ContainerRegistryArtifactEventTarget - from .container_registry_artifact_event_data_py3 import ContainerRegistryArtifactEventData - from .service_bus_active_messages_available_with_no_listeners_event_data_py3 import ServiceBusActiveMessagesAvailableWithNoListenersEventData - from .service_bus_deadletter_messages_available_with_no_listeners_event_data_py3 import ServiceBusDeadletterMessagesAvailableWithNoListenersEventData - from .media_job_state_change_event_data_py3 import MediaJobStateChangeEventData - from .media_job_error_detail_py3 import MediaJobErrorDetail - from .media_job_error_py3 import MediaJobError - from .media_job_output_py3 import MediaJobOutput - from .media_job_output_asset_py3 import MediaJobOutputAsset - from .media_job_output_progress_event_data_py3 import MediaJobOutputProgressEventData - from .media_job_output_state_change_event_data_py3 import MediaJobOutputStateChangeEventData - from .media_job_scheduled_event_data_py3 import MediaJobScheduledEventData - from .media_job_processing_event_data_py3 import MediaJobProcessingEventData - from .media_job_canceling_event_data_py3 import MediaJobCancelingEventData - from .media_job_finished_event_data_py3 import MediaJobFinishedEventData - from .media_job_canceled_event_data_py3 import MediaJobCanceledEventData - from .media_job_errored_event_data_py3 import MediaJobErroredEventData - from .media_job_output_canceled_event_data_py3 import MediaJobOutputCanceledEventData - from .media_job_output_canceling_event_data_py3 import MediaJobOutputCancelingEventData - from .media_job_output_errored_event_data_py3 import MediaJobOutputErroredEventData - from .media_job_output_finished_event_data_py3 import MediaJobOutputFinishedEventData - from .media_job_output_processing_event_data_py3 import MediaJobOutputProcessingEventData - from .media_job_output_scheduled_event_data_py3 import MediaJobOutputScheduledEventData - from .media_live_event_encoder_connected_event_data_py3 import MediaLiveEventEncoderConnectedEventData - from .media_live_event_connection_rejected_event_data_py3 import MediaLiveEventConnectionRejectedEventData - from .media_live_event_encoder_disconnected_event_data_py3 import MediaLiveEventEncoderDisconnectedEventData - from .media_live_event_incoming_stream_received_event_data_py3 import MediaLiveEventIncomingStreamReceivedEventData - from .media_live_event_incoming_streams_out_of_sync_event_data_py3 import MediaLiveEventIncomingStreamsOutOfSyncEventData - from .media_live_event_incoming_video_streams_out_of_sync_event_data_py3 import MediaLiveEventIncomingVideoStreamsOutOfSyncEventData - from .media_live_event_incoming_data_chunk_dropped_event_data_py3 import MediaLiveEventIncomingDataChunkDroppedEventData - from .media_live_event_ingest_heartbeat_event_data_py3 import MediaLiveEventIngestHeartbeatEventData - from .media_live_event_track_discontinuity_detected_event_data_py3 import MediaLiveEventTrackDiscontinuityDetectedEventData - from .maps_geofence_entered_event_data_py3 import MapsGeofenceEnteredEventData - from .maps_geofence_exited_event_data_py3 import MapsGeofenceExitedEventData - from .maps_geofence_result_event_data_py3 import MapsGeofenceResultEventData - from .maps_geofence_geometry_py3 import MapsGeofenceGeometry - from .maps_geofence_event_properties_py3 import MapsGeofenceEventProperties - from .app_configuration_key_value_modified_event_data_py3 import AppConfigurationKeyValueModifiedEventData - from .app_configuration_key_value_deleted_event_data_py3 import AppConfigurationKeyValueDeletedEventData - from .signal_rservice_client_connection_connected_event_data_py3 import SignalRServiceClientConnectionConnectedEventData - from .signal_rservice_client_connection_disconnected_event_data_py3 import SignalRServiceClientConnectionDisconnectedEventData -except (SyntaxError, ImportError): - from .storage_blob_created_event_data import StorageBlobCreatedEventData - from .storage_blob_deleted_event_data import StorageBlobDeletedEventData - from .event_hub_capture_file_created_event_data import EventHubCaptureFileCreatedEventData - from .resource_write_success_data import ResourceWriteSuccessData - from .resource_write_failure_data import ResourceWriteFailureData - from .resource_write_cancel_data import ResourceWriteCancelData - from .resource_delete_success_data import ResourceDeleteSuccessData - from .resource_delete_failure_data import ResourceDeleteFailureData - from .resource_delete_cancel_data import ResourceDeleteCancelData - from .resource_action_success_data import ResourceActionSuccessData - from .resource_action_failure_data import ResourceActionFailureData - from .resource_action_cancel_data import ResourceActionCancelData - from .event_grid_event import EventGridEvent - from .subscription_validation_event_data import SubscriptionValidationEventData - from .subscription_validation_response import SubscriptionValidationResponse - from .subscription_deleted_event_data import SubscriptionDeletedEventData - from .iot_hub_device_created_event_data import IotHubDeviceCreatedEventData - from .iot_hub_device_deleted_event_data import IotHubDeviceDeletedEventData - from .iot_hub_device_connected_event_data import IotHubDeviceConnectedEventData - from .iot_hub_device_disconnected_event_data import IotHubDeviceDisconnectedEventData - from .iot_hub_device_telemetry_event_data import IotHubDeviceTelemetryEventData - from .device_twin_metadata import DeviceTwinMetadata - from .device_twin_properties import DeviceTwinProperties - from .device_twin_info_properties import DeviceTwinInfoProperties - from .device_twin_info_x509_thumbprint import DeviceTwinInfoX509Thumbprint - from .device_twin_info import DeviceTwinInfo - from .device_life_cycle_event_properties import DeviceLifeCycleEventProperties - from .device_connection_state_event_info import DeviceConnectionStateEventInfo - from .device_connection_state_event_properties import DeviceConnectionStateEventProperties - from .device_telemetry_event_properties import DeviceTelemetryEventProperties - from .container_registry_image_pushed_event_data import ContainerRegistryImagePushedEventData - from .container_registry_image_deleted_event_data import ContainerRegistryImageDeletedEventData - from .container_registry_chart_pushed_event_data import ContainerRegistryChartPushedEventData - from .container_registry_chart_deleted_event_data import ContainerRegistryChartDeletedEventData - from .container_registry_event_target import ContainerRegistryEventTarget - from .container_registry_event_request import ContainerRegistryEventRequest - from .container_registry_event_actor import ContainerRegistryEventActor - from .container_registry_event_source import ContainerRegistryEventSource - from .container_registry_event_data import ContainerRegistryEventData - from .container_registry_artifact_event_target import ContainerRegistryArtifactEventTarget - from .container_registry_artifact_event_data import ContainerRegistryArtifactEventData - from .service_bus_active_messages_available_with_no_listeners_event_data import ServiceBusActiveMessagesAvailableWithNoListenersEventData - from .service_bus_deadletter_messages_available_with_no_listeners_event_data import ServiceBusDeadletterMessagesAvailableWithNoListenersEventData - from .media_job_state_change_event_data import MediaJobStateChangeEventData - from .media_job_error_detail import MediaJobErrorDetail - from .media_job_error import MediaJobError - from .media_job_output import MediaJobOutput - from .media_job_output_asset import MediaJobOutputAsset - from .media_job_output_progress_event_data import MediaJobOutputProgressEventData - from .media_job_output_state_change_event_data import MediaJobOutputStateChangeEventData - from .media_job_scheduled_event_data import MediaJobScheduledEventData - from .media_job_processing_event_data import MediaJobProcessingEventData - from .media_job_canceling_event_data import MediaJobCancelingEventData - from .media_job_finished_event_data import MediaJobFinishedEventData - from .media_job_canceled_event_data import MediaJobCanceledEventData - from .media_job_errored_event_data import MediaJobErroredEventData - from .media_job_output_canceled_event_data import MediaJobOutputCanceledEventData - from .media_job_output_canceling_event_data import MediaJobOutputCancelingEventData - from .media_job_output_errored_event_data import MediaJobOutputErroredEventData - from .media_job_output_finished_event_data import MediaJobOutputFinishedEventData - from .media_job_output_processing_event_data import MediaJobOutputProcessingEventData - from .media_job_output_scheduled_event_data import MediaJobOutputScheduledEventData - from .media_live_event_encoder_connected_event_data import MediaLiveEventEncoderConnectedEventData - from .media_live_event_connection_rejected_event_data import MediaLiveEventConnectionRejectedEventData - from .media_live_event_encoder_disconnected_event_data import MediaLiveEventEncoderDisconnectedEventData - from .media_live_event_incoming_stream_received_event_data import MediaLiveEventIncomingStreamReceivedEventData - from .media_live_event_incoming_streams_out_of_sync_event_data import MediaLiveEventIncomingStreamsOutOfSyncEventData - from .media_live_event_incoming_video_streams_out_of_sync_event_data import MediaLiveEventIncomingVideoStreamsOutOfSyncEventData - from .media_live_event_incoming_data_chunk_dropped_event_data import MediaLiveEventIncomingDataChunkDroppedEventData - from .media_live_event_ingest_heartbeat_event_data import MediaLiveEventIngestHeartbeatEventData - from .media_live_event_track_discontinuity_detected_event_data import MediaLiveEventTrackDiscontinuityDetectedEventData - from .maps_geofence_entered_event_data import MapsGeofenceEnteredEventData - from .maps_geofence_exited_event_data import MapsGeofenceExitedEventData - from .maps_geofence_result_event_data import MapsGeofenceResultEventData - from .maps_geofence_geometry import MapsGeofenceGeometry - from .maps_geofence_event_properties import MapsGeofenceEventProperties - from .app_configuration_key_value_modified_event_data import AppConfigurationKeyValueModifiedEventData - from .app_configuration_key_value_deleted_event_data import AppConfigurationKeyValueDeletedEventData - from .signal_rservice_client_connection_connected_event_data import SignalRServiceClientConnectionConnectedEventData - from .signal_rservice_client_connection_disconnected_event_data import SignalRServiceClientConnectionDisconnectedEventData -from .event_grid_client_enums import ( - MediaJobState, - MediaJobErrorCode, +from .._generated.models import( + AppConfigurationKeyValueDeletedEventData, + AppConfigurationKeyValueModifiedEventData, + AppEventTypeDetail, + AppServicePlanEventTypeDetail, + ChatEventBaseProperties, + ChatMemberAddedToThreadWithUserEventData, + ChatMemberRemovedFromThreadForWithUserEventData, + ChatMessageDeletedEventData, + ChatMessageEditedEventData, + ChatMessageEventBaseProperties, + ChatMessageReceivedEventData, + ChatThreadCreatedWithUserEventData, + ChatThreadEventBaseProperties, + ChatThreadMemberProperties, + ChatThreadPropertiesUpdatedPerUserEventData, + ChatThreadWithUserDeletedEventData, + ContainerRegistryArtifactEventData, + ContainerRegistryArtifactEventTarget, + ContainerRegistryChartDeletedEventData, + ContainerRegistryChartPushedEventData, + ContainerRegistryEventActor, + ContainerRegistryEventData, + ContainerRegistryEventRequest, + ContainerRegistryEventSource, + ContainerRegistryEventTarget, + ContainerRegistryImageDeletedEventData, + ContainerRegistryImagePushedEventData, + DeviceConnectionStateEventInfo, + DeviceConnectionStateEventProperties, + DeviceLifeCycleEventProperties, + DeviceTelemetryEventProperties, + DeviceTwinInfo, + DeviceTwinInfoProperties, + DeviceTwinInfoX509Thumbprint, + DeviceTwinMetadata, + DeviceTwinProperties, + EventHubCaptureFileCreatedEventData, + IotHubDeviceConnectedEventData, + IotHubDeviceCreatedEventData, + IotHubDeviceDeletedEventData, + IotHubDeviceDisconnectedEventData, + IotHubDeviceTelemetryEventData, + KeyVaultCertificateExpiredEventData, + KeyVaultCertificateNearExpiryEventData, + KeyVaultCertificateNewVersionCreatedEventData, + KeyVaultKeyExpiredEventData, + KeyVaultKeyNearExpiryEventData, + KeyVaultKeyNewVersionCreatedEventData, + KeyVaultSecretExpiredEventData, + KeyVaultSecretNearExpiryEventData, + KeyVaultSecretNewVersionCreatedEventData, + MachineLearningServicesDatasetDriftDetectedEventData, + MachineLearningServicesModelDeployedEventData, + MachineLearningServicesModelRegisteredEventData, + MachineLearningServicesRunCompletedEventData, + MachineLearningServicesRunStatusChangedEventData, + MapsGeofenceEnteredEventData, + MapsGeofenceEventProperties, + MapsGeofenceExitedEventData, + MapsGeofenceGeometry, + MapsGeofenceResultEventData, + MediaJobCanceledEventData, + MediaJobCancelingEventData, + MediaJobError, + MediaJobErrorDetail, + MediaJobErroredEventData, + MediaJobFinishedEventData, + MediaJobOutput, + MediaJobOutputAsset, + MediaJobOutputCanceledEventData, + MediaJobOutputCancelingEventData, + MediaJobOutputErroredEventData, + MediaJobOutputFinishedEventData, + MediaJobOutputProcessingEventData, + MediaJobOutputProgressEventData, + MediaJobOutputScheduledEventData, + MediaJobOutputStateChangeEventData, + MediaJobProcessingEventData, + MediaJobScheduledEventData, + MediaJobStateChangeEventData, + MediaLiveEventConnectionRejectedEventData, + MediaLiveEventEncoderConnectedEventData, + MediaLiveEventEncoderDisconnectedEventData, + MediaLiveEventIncomingDataChunkDroppedEventData, + MediaLiveEventIncomingStreamReceivedEventData, + MediaLiveEventIncomingStreamsOutOfSyncEventData, + MediaLiveEventIncomingVideoStreamsOutOfSyncEventData, + MediaLiveEventIngestHeartbeatEventData, + MediaLiveEventTrackDiscontinuityDetectedEventData, + RedisExportRDBCompletedEventData, + RedisImportRDBCompletedEventData, + RedisPatchingCompletedEventData, + RedisScalingCompletedEventData, + ResourceActionCancelData, + ResourceActionFailureData, + ResourceActionSuccessData, + ResourceDeleteCancelData, + ResourceDeleteFailureData, + ResourceDeleteSuccessData, + ResourceWriteCancelData, + ResourceWriteFailureData, + ResourceWriteSuccessData, + SMSDeliveryAttemptProperties, + SMSDeliveryReportReceivedEventData, + SMSEventBaseProperties, + SMSReceivedEventData, + ServiceBusActiveMessagesAvailableWithNoListenersEventData, + ServiceBusDeadletterMessagesAvailableWithNoListenersEventData, + SignalRServiceClientConnectionConnectedEventData, + SignalRServiceClientConnectionDisconnectedEventData, + StorageBlobCreatedEventData, + StorageBlobDeletedEventData, + StorageBlobRenamedEventData, + StorageDirectoryCreatedEventData, + StorageDirectoryDeletedEventData, + StorageDirectoryRenamedEventData, + StorageLifecyclePolicyActionSummaryDetail, + StorageLifecyclePolicyCompletedEventData, + SubscriptionDeletedEventData, + SubscriptionValidationEventData, + SubscriptionValidationResponse, + WebAppServicePlanUpdatedEventData, + WebAppServicePlanUpdatedEventDataSku, + WebAppUpdatedEventData, + WebBackupOperationCompletedEventData, + WebBackupOperationFailedEventData, + WebBackupOperationStartedEventData, + WebRestoreOperationCompletedEventData, + WebRestoreOperationFailedEventData, + WebRestoreOperationStartedEventData, + WebSlotSwapCompletedEventData, + WebSlotSwapFailedEventData, + WebSlotSwapStartedEventData, + WebSlotSwapWithPreviewCancelledEventData, + WebSlotSwapWithPreviewStartedEventData, +) + +from .._generated.models._event_grid_publisher_client_enums import ( + AppAction, + AppServicePlanAction, + AsyncStatus, MediaJobErrorCategory, + MediaJobErrorCode, MediaJobRetry, + MediaJobState, + StampKind, ) __all__ = [ - 'StorageBlobCreatedEventData', - 'StorageBlobDeletedEventData', + 'AppConfigurationKeyValueDeletedEventData', + 'AppConfigurationKeyValueModifiedEventData', + 'AppEventTypeDetail', + 'AppServicePlanEventTypeDetail', + 'ChatEventBaseProperties', + 'ChatMemberAddedToThreadWithUserEventData', + 'ChatMemberRemovedFromThreadForWithUserEventData', + 'ChatMessageDeletedEventData', + 'ChatMessageEditedEventData', + 'ChatMessageEventBaseProperties', + 'ChatMessageReceivedEventData', + 'ChatThreadCreatedWithUserEventData', + 'ChatThreadEventBaseProperties', + 'ChatThreadMemberProperties', + 'ChatThreadPropertiesUpdatedPerUserEventData', + 'ChatThreadWithUserDeletedEventData', + 'ContainerRegistryArtifactEventData', + 'ContainerRegistryArtifactEventTarget', + 'ContainerRegistryChartDeletedEventData', + 'ContainerRegistryChartPushedEventData', + 'ContainerRegistryEventActor', + 'ContainerRegistryEventData', + 'ContainerRegistryEventRequest', + 'ContainerRegistryEventSource', + 'ContainerRegistryEventTarget', + 'ContainerRegistryImageDeletedEventData', + 'ContainerRegistryImagePushedEventData', + 'DeviceConnectionStateEventInfo', + 'DeviceConnectionStateEventProperties', + 'DeviceLifeCycleEventProperties', + 'DeviceTelemetryEventProperties', + 'DeviceTwinInfo', + 'DeviceTwinInfoProperties', + 'DeviceTwinInfoX509Thumbprint', + 'DeviceTwinMetadata', + 'DeviceTwinProperties', 'EventHubCaptureFileCreatedEventData', - 'ResourceWriteSuccessData', - 'ResourceWriteFailureData', - 'ResourceWriteCancelData', - 'ResourceDeleteSuccessData', - 'ResourceDeleteFailureData', - 'ResourceDeleteCancelData', - 'ResourceActionSuccessData', - 'ResourceActionFailureData', - 'ResourceActionCancelData', - 'EventGridEvent', - 'SubscriptionValidationEventData', - 'SubscriptionValidationResponse', - 'SubscriptionDeletedEventData', + 'IotHubDeviceConnectedEventData', 'IotHubDeviceCreatedEventData', 'IotHubDeviceDeletedEventData', - 'IotHubDeviceConnectedEventData', 'IotHubDeviceDisconnectedEventData', 'IotHubDeviceTelemetryEventData', - 'DeviceTwinMetadata', - 'DeviceTwinProperties', - 'DeviceTwinInfoProperties', - 'DeviceTwinInfoX509Thumbprint', - 'DeviceTwinInfo', - 'DeviceLifeCycleEventProperties', - 'DeviceConnectionStateEventInfo', - 'DeviceConnectionStateEventProperties', - 'DeviceTelemetryEventProperties', - 'ContainerRegistryImagePushedEventData', - 'ContainerRegistryImageDeletedEventData', - 'ContainerRegistryChartPushedEventData', - 'ContainerRegistryChartDeletedEventData', - 'ContainerRegistryEventTarget', - 'ContainerRegistryEventRequest', - 'ContainerRegistryEventActor', - 'ContainerRegistryEventSource', - 'ContainerRegistryEventData', - 'ContainerRegistryArtifactEventTarget', - 'ContainerRegistryArtifactEventData', - 'ServiceBusActiveMessagesAvailableWithNoListenersEventData', - 'ServiceBusDeadletterMessagesAvailableWithNoListenersEventData', - 'MediaJobStateChangeEventData', - 'MediaJobErrorDetail', + 'KeyVaultCertificateExpiredEventData', + 'KeyVaultCertificateNearExpiryEventData', + 'KeyVaultCertificateNewVersionCreatedEventData', + 'KeyVaultKeyExpiredEventData', + 'KeyVaultKeyNearExpiryEventData', + 'KeyVaultKeyNewVersionCreatedEventData', + 'KeyVaultSecretExpiredEventData', + 'KeyVaultSecretNearExpiryEventData', + 'KeyVaultSecretNewVersionCreatedEventData', + 'MachineLearningServicesDatasetDriftDetectedEventData', + 'MachineLearningServicesModelDeployedEventData', + 'MachineLearningServicesModelRegisteredEventData', + 'MachineLearningServicesRunCompletedEventData', + 'MachineLearningServicesRunStatusChangedEventData', + 'MapsGeofenceEnteredEventData', + 'MapsGeofenceEventProperties', + 'MapsGeofenceExitedEventData', + 'MapsGeofenceGeometry', + 'MapsGeofenceResultEventData', + 'MediaJobCanceledEventData', + 'MediaJobCancelingEventData', 'MediaJobError', + 'MediaJobErrorDetail', + 'MediaJobErroredEventData', + 'MediaJobFinishedEventData', 'MediaJobOutput', 'MediaJobOutputAsset', - 'MediaJobOutputProgressEventData', - 'MediaJobOutputStateChangeEventData', - 'MediaJobScheduledEventData', - 'MediaJobProcessingEventData', - 'MediaJobCancelingEventData', - 'MediaJobFinishedEventData', - 'MediaJobCanceledEventData', - 'MediaJobErroredEventData', 'MediaJobOutputCanceledEventData', 'MediaJobOutputCancelingEventData', 'MediaJobOutputErroredEventData', 'MediaJobOutputFinishedEventData', 'MediaJobOutputProcessingEventData', + 'MediaJobOutputProgressEventData', 'MediaJobOutputScheduledEventData', - 'MediaLiveEventEncoderConnectedEventData', + 'MediaJobOutputStateChangeEventData', + 'MediaJobProcessingEventData', + 'MediaJobScheduledEventData', + 'MediaJobStateChangeEventData', 'MediaLiveEventConnectionRejectedEventData', + 'MediaLiveEventEncoderConnectedEventData', 'MediaLiveEventEncoderDisconnectedEventData', + 'MediaLiveEventIncomingDataChunkDroppedEventData', 'MediaLiveEventIncomingStreamReceivedEventData', 'MediaLiveEventIncomingStreamsOutOfSyncEventData', 'MediaLiveEventIncomingVideoStreamsOutOfSyncEventData', - 'MediaLiveEventIncomingDataChunkDroppedEventData', 'MediaLiveEventIngestHeartbeatEventData', 'MediaLiveEventTrackDiscontinuityDetectedEventData', - 'MapsGeofenceEnteredEventData', - 'MapsGeofenceExitedEventData', - 'MapsGeofenceResultEventData', - 'MapsGeofenceGeometry', - 'MapsGeofenceEventProperties', - 'AppConfigurationKeyValueModifiedEventData', - 'AppConfigurationKeyValueDeletedEventData', + 'RedisExportRDBCompletedEventData', + 'RedisImportRDBCompletedEventData', + 'RedisPatchingCompletedEventData', + 'RedisScalingCompletedEventData', + 'ResourceActionCancelData', + 'ResourceActionFailureData', + 'ResourceActionSuccessData', + 'ResourceDeleteCancelData', + 'ResourceDeleteFailureData', + 'ResourceDeleteSuccessData', + 'ResourceWriteCancelData', + 'ResourceWriteFailureData', + 'ResourceWriteSuccessData', + 'SMSDeliveryAttemptProperties', + 'SMSDeliveryReportReceivedEventData', + 'SMSEventBaseProperties', + 'SMSReceivedEventData', + 'ServiceBusActiveMessagesAvailableWithNoListenersEventData', + 'ServiceBusDeadletterMessagesAvailableWithNoListenersEventData', 'SignalRServiceClientConnectionConnectedEventData', 'SignalRServiceClientConnectionDisconnectedEventData', - 'MediaJobState', - 'MediaJobErrorCode', + 'StorageBlobCreatedEventData', + 'StorageBlobDeletedEventData', + 'StorageBlobRenamedEventData', + 'StorageDirectoryCreatedEventData', + 'StorageDirectoryDeletedEventData', + 'StorageDirectoryRenamedEventData', + 'StorageLifecyclePolicyActionSummaryDetail', + 'StorageLifecyclePolicyCompletedEventData', + 'SubscriptionDeletedEventData', + 'SubscriptionValidationEventData', + 'SubscriptionValidationResponse', + 'WebAppServicePlanUpdatedEventData', + 'WebAppServicePlanUpdatedEventDataSku', + 'WebAppUpdatedEventData', + 'WebBackupOperationCompletedEventData', + 'WebBackupOperationFailedEventData', + 'WebBackupOperationStartedEventData', + 'WebRestoreOperationCompletedEventData', + 'WebRestoreOperationFailedEventData', + 'WebRestoreOperationStartedEventData', + 'WebSlotSwapCompletedEventData', + 'WebSlotSwapFailedEventData', + 'WebSlotSwapStartedEventData', + 'WebSlotSwapWithPreviewCancelledEventData', + 'WebSlotSwapWithPreviewStartedEventData', + 'AppAction', + 'AppServicePlanAction', + 'AsyncStatus', 'MediaJobErrorCategory', + 'MediaJobErrorCode', 'MediaJobRetry', + 'MediaJobState', + 'StampKind', ] diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_deleted_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_deleted_event_data.py deleted file mode 100644 index 8a0adb6c209a..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_deleted_event_data.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AppConfigurationKeyValueDeletedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.AppConfiguration.KeyValueDeleted event. - - :param key: The key used to identify the key-value that was deleted. - :type key: str - :param label: The label, if any, used to identify the key-value that was - deleted. - :type label: str - :param etag: The etag representing the key-value that was deleted. - :type etag: str - """ - - _attribute_map = { - 'key': {'key': 'key', 'type': 'str'}, - 'label': {'key': 'label', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AppConfigurationKeyValueDeletedEventData, self).__init__(**kwargs) - self.key = kwargs.get('key', None) - self.label = kwargs.get('label', None) - self.etag = kwargs.get('etag', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_deleted_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_deleted_event_data_py3.py deleted file mode 100644 index 28ac0ab4055f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_deleted_event_data_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AppConfigurationKeyValueDeletedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.AppConfiguration.KeyValueDeleted event. - - :param key: The key used to identify the key-value that was deleted. - :type key: str - :param label: The label, if any, used to identify the key-value that was - deleted. - :type label: str - :param etag: The etag representing the key-value that was deleted. - :type etag: str - """ - - _attribute_map = { - 'key': {'key': 'key', 'type': 'str'}, - 'label': {'key': 'label', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, key: str=None, label: str=None, etag: str=None, **kwargs) -> None: - super(AppConfigurationKeyValueDeletedEventData, self).__init__(**kwargs) - self.key = key - self.label = label - self.etag = etag diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_modified_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_modified_event_data.py deleted file mode 100644 index e0147ee242b2..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_modified_event_data.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AppConfigurationKeyValueModifiedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.AppConfiguration.KeyValueModified event. - - :param key: The key used to identify the key-value that was modified. - :type key: str - :param label: The label, if any, used to identify the key-value that was - modified. - :type label: str - :param etag: The etag representing the new state of the key-value. - :type etag: str - """ - - _attribute_map = { - 'key': {'key': 'key', 'type': 'str'}, - 'label': {'key': 'label', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AppConfigurationKeyValueModifiedEventData, self).__init__(**kwargs) - self.key = kwargs.get('key', None) - self.label = kwargs.get('label', None) - self.etag = kwargs.get('etag', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_modified_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_modified_event_data_py3.py deleted file mode 100644 index b37c56469de8..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/app_configuration_key_value_modified_event_data_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AppConfigurationKeyValueModifiedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.AppConfiguration.KeyValueModified event. - - :param key: The key used to identify the key-value that was modified. - :type key: str - :param label: The label, if any, used to identify the key-value that was - modified. - :type label: str - :param etag: The etag representing the new state of the key-value. - :type etag: str - """ - - _attribute_map = { - 'key': {'key': 'key', 'type': 'str'}, - 'label': {'key': 'label', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, key: str=None, label: str=None, etag: str=None, **kwargs) -> None: - super(AppConfigurationKeyValueModifiedEventData, self).__init__(**kwargs) - self.key = key - self.label = label - self.etag = etag diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_data.py deleted file mode 100644 index 464d9ede7215..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_data.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryArtifactEventData(Model): - """The content of the event request message. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryArtifactEventTarget - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryArtifactEventData, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.timestamp = kwargs.get('timestamp', None) - self.action = kwargs.get('action', None) - self.target = kwargs.get('target', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_data_py3.py deleted file mode 100644 index abd508e82b8e..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_data_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryArtifactEventData(Model): - """The content of the event request message. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryArtifactEventTarget - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, - } - - def __init__(self, *, id: str=None, timestamp=None, action: str=None, target=None, **kwargs) -> None: - super(ContainerRegistryArtifactEventData, self).__init__(**kwargs) - self.id = id - self.timestamp = timestamp - self.action = action - self.target = target diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_target.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_target.py deleted file mode 100644 index 661b8c55564a..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_target.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryArtifactEventTarget(Model): - """The target of the event. - - :param media_type: The MIME type of the artifact. - :type media_type: str - :param size: The size in bytes of the artifact. - :type size: long - :param digest: The digest of the artifact. - :type digest: str - :param repository: The repository name of the artifact. - :type repository: str - :param tag: The tag of the artifact. - :type tag: str - :param name: The name of the artifact. - :type name: str - :param version: The version of the artifact. - :type version: str - """ - - _attribute_map = { - 'media_type': {'key': 'mediaType', 'type': 'str'}, - 'size': {'key': 'size', 'type': 'long'}, - 'digest': {'key': 'digest', 'type': 'str'}, - 'repository': {'key': 'repository', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryArtifactEventTarget, self).__init__(**kwargs) - self.media_type = kwargs.get('media_type', None) - self.size = kwargs.get('size', None) - self.digest = kwargs.get('digest', None) - self.repository = kwargs.get('repository', None) - self.tag = kwargs.get('tag', None) - self.name = kwargs.get('name', None) - self.version = kwargs.get('version', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_target_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_target_py3.py deleted file mode 100644 index 1acf124735a7..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_artifact_event_target_py3.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryArtifactEventTarget(Model): - """The target of the event. - - :param media_type: The MIME type of the artifact. - :type media_type: str - :param size: The size in bytes of the artifact. - :type size: long - :param digest: The digest of the artifact. - :type digest: str - :param repository: The repository name of the artifact. - :type repository: str - :param tag: The tag of the artifact. - :type tag: str - :param name: The name of the artifact. - :type name: str - :param version: The version of the artifact. - :type version: str - """ - - _attribute_map = { - 'media_type': {'key': 'mediaType', 'type': 'str'}, - 'size': {'key': 'size', 'type': 'long'}, - 'digest': {'key': 'digest', 'type': 'str'}, - 'repository': {'key': 'repository', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'str'}, - } - - def __init__(self, *, media_type: str=None, size: int=None, digest: str=None, repository: str=None, tag: str=None, name: str=None, version: str=None, **kwargs) -> None: - super(ContainerRegistryArtifactEventTarget, self).__init__(**kwargs) - self.media_type = media_type - self.size = size - self.digest = digest - self.repository = repository - self.tag = tag - self.name = name - self.version = version diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_deleted_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_deleted_event_data.py deleted file mode 100644 index bfca65e364b9..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_deleted_event_data.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_registry_artifact_event_data import ContainerRegistryArtifactEventData - - -class ContainerRegistryChartDeletedEventData(ContainerRegistryArtifactEventData): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ContainerRegistry.ChartDeleted event. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryArtifactEventTarget - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryChartDeletedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_deleted_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_deleted_event_data_py3.py deleted file mode 100644 index 7c8b2d18d26a..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_deleted_event_data_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_registry_artifact_event_data_py3 import ContainerRegistryArtifactEventData - - -class ContainerRegistryChartDeletedEventData(ContainerRegistryArtifactEventData): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ContainerRegistry.ChartDeleted event. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryArtifactEventTarget - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, - } - - def __init__(self, *, id: str=None, timestamp=None, action: str=None, target=None, **kwargs) -> None: - super(ContainerRegistryChartDeletedEventData, self).__init__(id=id, timestamp=timestamp, action=action, target=target, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_pushed_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_pushed_event_data.py deleted file mode 100644 index 5a2b4b37e6cf..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_pushed_event_data.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_registry_artifact_event_data import ContainerRegistryArtifactEventData - - -class ContainerRegistryChartPushedEventData(ContainerRegistryArtifactEventData): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ContainerRegistry.ChartPushed event. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryArtifactEventTarget - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryChartPushedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_pushed_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_pushed_event_data_py3.py deleted file mode 100644 index ecce11098dac..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_chart_pushed_event_data_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_registry_artifact_event_data_py3 import ContainerRegistryArtifactEventData - - -class ContainerRegistryChartPushedEventData(ContainerRegistryArtifactEventData): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ContainerRegistry.ChartPushed event. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryArtifactEventTarget - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryArtifactEventTarget'}, - } - - def __init__(self, *, id: str=None, timestamp=None, action: str=None, target=None, **kwargs) -> None: - super(ContainerRegistryChartPushedEventData, self).__init__(id=id, timestamp=timestamp, action=action, target=target, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_actor.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_actor.py deleted file mode 100644 index 4fcf82f6a7fc..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_actor.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventActor(Model): - """The agent that initiated the event. For most situations, this could be from - the authorization context of the request. - - :param name: The subject or username associated with the request context - that generated the event. - :type name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryEventActor, self).__init__(**kwargs) - self.name = kwargs.get('name', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_actor_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_actor_py3.py deleted file mode 100644 index 419b4e917e60..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_actor_py3.py +++ /dev/null @@ -1,30 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventActor(Model): - """The agent that initiated the event. For most situations, this could be from - the authorization context of the request. - - :param name: The subject or username associated with the request context - that generated the event. - :type name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, **kwargs) -> None: - super(ContainerRegistryEventActor, self).__init__(**kwargs) - self.name = name diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_data.py deleted file mode 100644 index f2b7d10a3f3f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_data.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventData(Model): - """The content of the event request message. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryEventTarget - :param request: The request that generated the event. - :type request: ~azure.eventgrid.models.ContainerRegistryEventRequest - :param actor: The agent that initiated the event. For most situations, - this could be from the authorization context of the request. - :type actor: ~azure.eventgrid.models.ContainerRegistryEventActor - :param source: The registry node that generated the event. Put - differently, while the actor initiates the event, the source generates it. - :type source: ~azure.eventgrid.models.ContainerRegistryEventSource - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, - 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, - 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, - 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryEventData, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.timestamp = kwargs.get('timestamp', None) - self.action = kwargs.get('action', None) - self.target = kwargs.get('target', None) - self.request = kwargs.get('request', None) - self.actor = kwargs.get('actor', None) - self.source = kwargs.get('source', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_data_py3.py deleted file mode 100644 index 1729ad8c9cba..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_data_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventData(Model): - """The content of the event request message. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryEventTarget - :param request: The request that generated the event. - :type request: ~azure.eventgrid.models.ContainerRegistryEventRequest - :param actor: The agent that initiated the event. For most situations, - this could be from the authorization context of the request. - :type actor: ~azure.eventgrid.models.ContainerRegistryEventActor - :param source: The registry node that generated the event. Put - differently, while the actor initiates the event, the source generates it. - :type source: ~azure.eventgrid.models.ContainerRegistryEventSource - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, - 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, - 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, - 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, - } - - def __init__(self, *, id: str=None, timestamp=None, action: str=None, target=None, request=None, actor=None, source=None, **kwargs) -> None: - super(ContainerRegistryEventData, self).__init__(**kwargs) - self.id = id - self.timestamp = timestamp - self.action = action - self.target = target - self.request = request - self.actor = actor - self.source = source diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_request.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_request.py deleted file mode 100644 index 51d0917c1eb5..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_request.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventRequest(Model): - """The request that generated the event. - - :param id: The ID of the request that initiated the event. - :type id: str - :param addr: The IP or hostname and possibly port of the client connection - that initiated the event. This is the RemoteAddr from the standard http - request. - :type addr: str - :param host: The externally accessible hostname of the registry instance, - as specified by the http host header on incoming requests. - :type host: str - :param method: The request method that generated the event. - :type method: str - :param useragent: The user agent header of the request. - :type useragent: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'addr': {'key': 'addr', 'type': 'str'}, - 'host': {'key': 'host', 'type': 'str'}, - 'method': {'key': 'method', 'type': 'str'}, - 'useragent': {'key': 'useragent', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryEventRequest, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.addr = kwargs.get('addr', None) - self.host = kwargs.get('host', None) - self.method = kwargs.get('method', None) - self.useragent = kwargs.get('useragent', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_request_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_request_py3.py deleted file mode 100644 index 4f14fff4ad67..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_request_py3.py +++ /dev/null @@ -1,47 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventRequest(Model): - """The request that generated the event. - - :param id: The ID of the request that initiated the event. - :type id: str - :param addr: The IP or hostname and possibly port of the client connection - that initiated the event. This is the RemoteAddr from the standard http - request. - :type addr: str - :param host: The externally accessible hostname of the registry instance, - as specified by the http host header on incoming requests. - :type host: str - :param method: The request method that generated the event. - :type method: str - :param useragent: The user agent header of the request. - :type useragent: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'addr': {'key': 'addr', 'type': 'str'}, - 'host': {'key': 'host', 'type': 'str'}, - 'method': {'key': 'method', 'type': 'str'}, - 'useragent': {'key': 'useragent', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, addr: str=None, host: str=None, method: str=None, useragent: str=None, **kwargs) -> None: - super(ContainerRegistryEventRequest, self).__init__(**kwargs) - self.id = id - self.addr = addr - self.host = host - self.method = method - self.useragent = useragent diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_source.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_source.py deleted file mode 100644 index 4cd58ec01101..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_source.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventSource(Model): - """The registry node that generated the event. Put differently, while the - actor initiates the event, the source generates it. - - :param addr: The IP or hostname and the port of the registry node that - generated the event. Generally, this will be resolved by os.Hostname() - along with the running port. - :type addr: str - :param instance_id: The running instance of an application. Changes after - each restart. - :type instance_id: str - """ - - _attribute_map = { - 'addr': {'key': 'addr', 'type': 'str'}, - 'instance_id': {'key': 'instanceID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryEventSource, self).__init__(**kwargs) - self.addr = kwargs.get('addr', None) - self.instance_id = kwargs.get('instance_id', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_source_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_source_py3.py deleted file mode 100644 index b12c6c354a61..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_source_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventSource(Model): - """The registry node that generated the event. Put differently, while the - actor initiates the event, the source generates it. - - :param addr: The IP or hostname and the port of the registry node that - generated the event. Generally, this will be resolved by os.Hostname() - along with the running port. - :type addr: str - :param instance_id: The running instance of an application. Changes after - each restart. - :type instance_id: str - """ - - _attribute_map = { - 'addr': {'key': 'addr', 'type': 'str'}, - 'instance_id': {'key': 'instanceID', 'type': 'str'}, - } - - def __init__(self, *, addr: str=None, instance_id: str=None, **kwargs) -> None: - super(ContainerRegistryEventSource, self).__init__(**kwargs) - self.addr = addr - self.instance_id = instance_id diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_target.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_target.py deleted file mode 100644 index fd8c0448169c..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_target.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventTarget(Model): - """The target of the event. - - :param media_type: The MIME type of the referenced object. - :type media_type: str - :param size: The number of bytes of the content. Same as Length field. - :type size: long - :param digest: The digest of the content, as defined by the Registry V2 - HTTP API Specification. - :type digest: str - :param length: The number of bytes of the content. Same as Size field. - :type length: long - :param repository: The repository name. - :type repository: str - :param url: The direct URL to the content. - :type url: str - :param tag: The tag name. - :type tag: str - """ - - _attribute_map = { - 'media_type': {'key': 'mediaType', 'type': 'str'}, - 'size': {'key': 'size', 'type': 'long'}, - 'digest': {'key': 'digest', 'type': 'str'}, - 'length': {'key': 'length', 'type': 'long'}, - 'repository': {'key': 'repository', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryEventTarget, self).__init__(**kwargs) - self.media_type = kwargs.get('media_type', None) - self.size = kwargs.get('size', None) - self.digest = kwargs.get('digest', None) - self.length = kwargs.get('length', None) - self.repository = kwargs.get('repository', None) - self.url = kwargs.get('url', None) - self.tag = kwargs.get('tag', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_target_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_target_py3.py deleted file mode 100644 index accbe49f9615..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_event_target_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerRegistryEventTarget(Model): - """The target of the event. - - :param media_type: The MIME type of the referenced object. - :type media_type: str - :param size: The number of bytes of the content. Same as Length field. - :type size: long - :param digest: The digest of the content, as defined by the Registry V2 - HTTP API Specification. - :type digest: str - :param length: The number of bytes of the content. Same as Size field. - :type length: long - :param repository: The repository name. - :type repository: str - :param url: The direct URL to the content. - :type url: str - :param tag: The tag name. - :type tag: str - """ - - _attribute_map = { - 'media_type': {'key': 'mediaType', 'type': 'str'}, - 'size': {'key': 'size', 'type': 'long'}, - 'digest': {'key': 'digest', 'type': 'str'}, - 'length': {'key': 'length', 'type': 'long'}, - 'repository': {'key': 'repository', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - } - - def __init__(self, *, media_type: str=None, size: int=None, digest: str=None, length: int=None, repository: str=None, url: str=None, tag: str=None, **kwargs) -> None: - super(ContainerRegistryEventTarget, self).__init__(**kwargs) - self.media_type = media_type - self.size = size - self.digest = digest - self.length = length - self.repository = repository - self.url = url - self.tag = tag diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_deleted_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_deleted_event_data.py deleted file mode 100644 index 5db3644bb11f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_deleted_event_data.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_registry_event_data import ContainerRegistryEventData - - -class ContainerRegistryImageDeletedEventData(ContainerRegistryEventData): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ContainerRegistry.ImageDeleted event. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryEventTarget - :param request: The request that generated the event. - :type request: ~azure.eventgrid.models.ContainerRegistryEventRequest - :param actor: The agent that initiated the event. For most situations, - this could be from the authorization context of the request. - :type actor: ~azure.eventgrid.models.ContainerRegistryEventActor - :param source: The registry node that generated the event. Put - differently, while the actor initiates the event, the source generates it. - :type source: ~azure.eventgrid.models.ContainerRegistryEventSource - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, - 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, - 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, - 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryImageDeletedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_deleted_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_deleted_event_data_py3.py deleted file mode 100644 index 7365ea5c6a98..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_deleted_event_data_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_registry_event_data_py3 import ContainerRegistryEventData - - -class ContainerRegistryImageDeletedEventData(ContainerRegistryEventData): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ContainerRegistry.ImageDeleted event. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryEventTarget - :param request: The request that generated the event. - :type request: ~azure.eventgrid.models.ContainerRegistryEventRequest - :param actor: The agent that initiated the event. For most situations, - this could be from the authorization context of the request. - :type actor: ~azure.eventgrid.models.ContainerRegistryEventActor - :param source: The registry node that generated the event. Put - differently, while the actor initiates the event, the source generates it. - :type source: ~azure.eventgrid.models.ContainerRegistryEventSource - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, - 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, - 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, - 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, - } - - def __init__(self, *, id: str=None, timestamp=None, action: str=None, target=None, request=None, actor=None, source=None, **kwargs) -> None: - super(ContainerRegistryImageDeletedEventData, self).__init__(id=id, timestamp=timestamp, action=action, target=target, request=request, actor=actor, source=source, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_pushed_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_pushed_event_data.py deleted file mode 100644 index 6ddc5985f4dc..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_pushed_event_data.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_registry_event_data import ContainerRegistryEventData - - -class ContainerRegistryImagePushedEventData(ContainerRegistryEventData): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ContainerRegistry.ImagePushed event. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryEventTarget - :param request: The request that generated the event. - :type request: ~azure.eventgrid.models.ContainerRegistryEventRequest - :param actor: The agent that initiated the event. For most situations, - this could be from the authorization context of the request. - :type actor: ~azure.eventgrid.models.ContainerRegistryEventActor - :param source: The registry node that generated the event. Put - differently, while the actor initiates the event, the source generates it. - :type source: ~azure.eventgrid.models.ContainerRegistryEventSource - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, - 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, - 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, - 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, - } - - def __init__(self, **kwargs): - super(ContainerRegistryImagePushedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_pushed_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_pushed_event_data_py3.py deleted file mode 100644 index f12aa21fc809..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/container_registry_image_pushed_event_data_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_registry_event_data_py3 import ContainerRegistryEventData - - -class ContainerRegistryImagePushedEventData(ContainerRegistryEventData): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ContainerRegistry.ImagePushed event. - - :param id: The event ID. - :type id: str - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param action: The action that encompasses the provided event. - :type action: str - :param target: The target of the event. - :type target: ~azure.eventgrid.models.ContainerRegistryEventTarget - :param request: The request that generated the event. - :type request: ~azure.eventgrid.models.ContainerRegistryEventRequest - :param actor: The agent that initiated the event. For most situations, - this could be from the authorization context of the request. - :type actor: ~azure.eventgrid.models.ContainerRegistryEventActor - :param source: The registry node that generated the event. Put - differently, while the actor initiates the event, the source generates it. - :type source: ~azure.eventgrid.models.ContainerRegistryEventSource - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'action': {'key': 'action', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'ContainerRegistryEventTarget'}, - 'request': {'key': 'request', 'type': 'ContainerRegistryEventRequest'}, - 'actor': {'key': 'actor', 'type': 'ContainerRegistryEventActor'}, - 'source': {'key': 'source', 'type': 'ContainerRegistryEventSource'}, - } - - def __init__(self, *, id: str=None, timestamp=None, action: str=None, target=None, request=None, actor=None, source=None, **kwargs) -> None: - super(ContainerRegistryImagePushedEventData, self).__init__(id=id, timestamp=timestamp, action=action, target=target, request=request, actor=actor, source=source, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_info.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_info.py deleted file mode 100644 index 7a110cab64af..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_info.py +++ /dev/null @@ -1,31 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceConnectionStateEventInfo(Model): - """Information about the device connection state event. - - :param sequence_number: Sequence number is string representation of a - hexadecimal number. string compare can be used to identify the larger - number because both in ASCII and HEX numbers come after alphabets. If you - are converting the string to hex, then the number is a 256 bit number. - :type sequence_number: str - """ - - _attribute_map = { - 'sequence_number': {'key': 'sequenceNumber', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DeviceConnectionStateEventInfo, self).__init__(**kwargs) - self.sequence_number = kwargs.get('sequence_number', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_info_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_info_py3.py deleted file mode 100644 index 0ef8c03b2074..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_info_py3.py +++ /dev/null @@ -1,31 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceConnectionStateEventInfo(Model): - """Information about the device connection state event. - - :param sequence_number: Sequence number is string representation of a - hexadecimal number. string compare can be used to identify the larger - number because both in ASCII and HEX numbers come after alphabets. If you - are converting the string to hex, then the number is a 256 bit number. - :type sequence_number: str - """ - - _attribute_map = { - 'sequence_number': {'key': 'sequenceNumber', 'type': 'str'}, - } - - def __init__(self, *, sequence_number: str=None, **kwargs) -> None: - super(DeviceConnectionStateEventInfo, self).__init__(**kwargs) - self.sequence_number = sequence_number diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_properties.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_properties.py deleted file mode 100644 index 04a5a1aefcb0..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_properties.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceConnectionStateEventProperties(Model): - """Schema of the Data property of an EventGridEvent for a device connection - state event (DeviceConnected, DeviceDisconnected). - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param module_id: The unique identifier of the module. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type module_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param device_connection_state_event_info: Information about the device - connection state event. - :type device_connection_state_event_info: - ~azure.eventgrid.models.DeviceConnectionStateEventInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'module_id': {'key': 'moduleId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, - } - - def __init__(self, **kwargs): - super(DeviceConnectionStateEventProperties, self).__init__(**kwargs) - self.device_id = kwargs.get('device_id', None) - self.module_id = kwargs.get('module_id', None) - self.hub_name = kwargs.get('hub_name', None) - self.device_connection_state_event_info = kwargs.get('device_connection_state_event_info', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_properties_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_properties_py3.py deleted file mode 100644 index b8c339e55f64..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_connection_state_event_properties_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceConnectionStateEventProperties(Model): - """Schema of the Data property of an EventGridEvent for a device connection - state event (DeviceConnected, DeviceDisconnected). - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param module_id: The unique identifier of the module. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type module_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param device_connection_state_event_info: Information about the device - connection state event. - :type device_connection_state_event_info: - ~azure.eventgrid.models.DeviceConnectionStateEventInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'module_id': {'key': 'moduleId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, - } - - def __init__(self, *, device_id: str=None, module_id: str=None, hub_name: str=None, device_connection_state_event_info=None, **kwargs) -> None: - super(DeviceConnectionStateEventProperties, self).__init__(**kwargs) - self.device_id = device_id - self.module_id = module_id - self.hub_name = hub_name - self.device_connection_state_event_info = device_connection_state_event_info diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_life_cycle_event_properties.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_life_cycle_event_properties.py deleted file mode 100644 index b6cf0e6f2961..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_life_cycle_event_properties.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceLifeCycleEventProperties(Model): - """Schema of the Data property of an EventGridEvent for a device life cycle - event (DeviceCreated, DeviceDeleted). - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param twin: Information about the device twin, which is the cloud - representation of application device metadata. - :type twin: ~azure.eventgrid.models.DeviceTwinInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, - } - - def __init__(self, **kwargs): - super(DeviceLifeCycleEventProperties, self).__init__(**kwargs) - self.device_id = kwargs.get('device_id', None) - self.hub_name = kwargs.get('hub_name', None) - self.twin = kwargs.get('twin', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_life_cycle_event_properties_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_life_cycle_event_properties_py3.py deleted file mode 100644 index f203cf9f1005..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_life_cycle_event_properties_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceLifeCycleEventProperties(Model): - """Schema of the Data property of an EventGridEvent for a device life cycle - event (DeviceCreated, DeviceDeleted). - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param twin: Information about the device twin, which is the cloud - representation of application device metadata. - :type twin: ~azure.eventgrid.models.DeviceTwinInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, - } - - def __init__(self, *, device_id: str=None, hub_name: str=None, twin=None, **kwargs) -> None: - super(DeviceLifeCycleEventProperties, self).__init__(**kwargs) - self.device_id = device_id - self.hub_name = hub_name - self.twin = twin diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_telemetry_event_properties.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_telemetry_event_properties.py deleted file mode 100644 index 5ef54c29c86d..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_telemetry_event_properties.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTelemetryEventProperties(Model): - """Schema of the Data property of an EventGridEvent for a device telemetry - event (DeviceTelemetry). - - :param body: The content of the message from the device. - :type body: object - :param properties: Application properties are user-defined strings that - can be added to the message. These fields are optional. - :type properties: dict[str, str] - :param system_properties: System properties help identify contents and - source of the messages. - :type system_properties: dict[str, str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'object'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'system_properties': {'key': 'systemProperties', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(DeviceTelemetryEventProperties, self).__init__(**kwargs) - self.body = kwargs.get('body', None) - self.properties = kwargs.get('properties', None) - self.system_properties = kwargs.get('system_properties', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_telemetry_event_properties_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_telemetry_event_properties_py3.py deleted file mode 100644 index 57fdb9114dc5..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_telemetry_event_properties_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTelemetryEventProperties(Model): - """Schema of the Data property of an EventGridEvent for a device telemetry - event (DeviceTelemetry). - - :param body: The content of the message from the device. - :type body: object - :param properties: Application properties are user-defined strings that - can be added to the message. These fields are optional. - :type properties: dict[str, str] - :param system_properties: System properties help identify contents and - source of the messages. - :type system_properties: dict[str, str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'object'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'system_properties': {'key': 'systemProperties', 'type': '{str}'}, - } - - def __init__(self, *, body=None, properties=None, system_properties=None, **kwargs) -> None: - super(DeviceTelemetryEventProperties, self).__init__(**kwargs) - self.body = body - self.properties = properties - self.system_properties = system_properties diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info.py deleted file mode 100644 index a3c555d320cf..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info.py +++ /dev/null @@ -1,78 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinInfo(Model): - """Information about the device twin, which is the cloud representation of - application device metadata. - - :param authentication_type: Authentication type used for this device: - either SAS, SelfSigned, or CertificateAuthority. - :type authentication_type: str - :param cloud_to_device_message_count: Count of cloud to device messages - sent to this device. - :type cloud_to_device_message_count: float - :param connection_state: Whether the device is connected or disconnected. - :type connection_state: str - :param device_id: The unique identifier of the device twin. - :type device_id: str - :param etag: A piece of information that describes the content of the - device twin. Each etag is guaranteed to be unique per device twin. - :type etag: str - :param last_activity_time: The ISO8601 timestamp of the last activity. - :type last_activity_time: str - :param properties: Properties JSON element. - :type properties: ~azure.eventgrid.models.DeviceTwinInfoProperties - :param status: Whether the device twin is enabled or disabled. - :type status: str - :param status_update_time: The ISO8601 timestamp of the last device twin - status update. - :type status_update_time: str - :param version: An integer that is incremented by one each time the device - twin is updated. - :type version: float - :param x509_thumbprint: The thumbprint is a unique value for the x509 - certificate, commonly used to find a particular certificate in a - certificate store. The thumbprint is dynamically generated using the SHA1 - algorithm, and does not physically exist in the certificate. - :type x509_thumbprint: - ~azure.eventgrid.models.DeviceTwinInfoX509Thumbprint - """ - - _attribute_map = { - 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, - 'cloud_to_device_message_count': {'key': 'cloudToDeviceMessageCount', 'type': 'float'}, - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'last_activity_time': {'key': 'lastActivityTime', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'DeviceTwinInfoProperties'}, - 'status': {'key': 'status', 'type': 'str'}, - 'status_update_time': {'key': 'statusUpdateTime', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'float'}, - 'x509_thumbprint': {'key': 'x509Thumbprint', 'type': 'DeviceTwinInfoX509Thumbprint'}, - } - - def __init__(self, **kwargs): - super(DeviceTwinInfo, self).__init__(**kwargs) - self.authentication_type = kwargs.get('authentication_type', None) - self.cloud_to_device_message_count = kwargs.get('cloud_to_device_message_count', None) - self.connection_state = kwargs.get('connection_state', None) - self.device_id = kwargs.get('device_id', None) - self.etag = kwargs.get('etag', None) - self.last_activity_time = kwargs.get('last_activity_time', None) - self.properties = kwargs.get('properties', None) - self.status = kwargs.get('status', None) - self.status_update_time = kwargs.get('status_update_time', None) - self.version = kwargs.get('version', None) - self.x509_thumbprint = kwargs.get('x509_thumbprint', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_properties.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_properties.py deleted file mode 100644 index 707a8bfb287f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_properties.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinInfoProperties(Model): - """Properties JSON element. - - :param desired: A portion of the properties that can be written only by - the application back-end, and read by the device. - :type desired: ~azure.eventgrid.models.DeviceTwinProperties - :param reported: A portion of the properties that can be written only by - the device, and read by the application back-end. - :type reported: ~azure.eventgrid.models.DeviceTwinProperties - """ - - _attribute_map = { - 'desired': {'key': 'desired', 'type': 'DeviceTwinProperties'}, - 'reported': {'key': 'reported', 'type': 'DeviceTwinProperties'}, - } - - def __init__(self, **kwargs): - super(DeviceTwinInfoProperties, self).__init__(**kwargs) - self.desired = kwargs.get('desired', None) - self.reported = kwargs.get('reported', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_properties_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_properties_py3.py deleted file mode 100644 index efb94dee3d97..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_properties_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinInfoProperties(Model): - """Properties JSON element. - - :param desired: A portion of the properties that can be written only by - the application back-end, and read by the device. - :type desired: ~azure.eventgrid.models.DeviceTwinProperties - :param reported: A portion of the properties that can be written only by - the device, and read by the application back-end. - :type reported: ~azure.eventgrid.models.DeviceTwinProperties - """ - - _attribute_map = { - 'desired': {'key': 'desired', 'type': 'DeviceTwinProperties'}, - 'reported': {'key': 'reported', 'type': 'DeviceTwinProperties'}, - } - - def __init__(self, *, desired=None, reported=None, **kwargs) -> None: - super(DeviceTwinInfoProperties, self).__init__(**kwargs) - self.desired = desired - self.reported = reported diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_py3.py deleted file mode 100644 index e74f3c65e994..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_py3.py +++ /dev/null @@ -1,78 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinInfo(Model): - """Information about the device twin, which is the cloud representation of - application device metadata. - - :param authentication_type: Authentication type used for this device: - either SAS, SelfSigned, or CertificateAuthority. - :type authentication_type: str - :param cloud_to_device_message_count: Count of cloud to device messages - sent to this device. - :type cloud_to_device_message_count: float - :param connection_state: Whether the device is connected or disconnected. - :type connection_state: str - :param device_id: The unique identifier of the device twin. - :type device_id: str - :param etag: A piece of information that describes the content of the - device twin. Each etag is guaranteed to be unique per device twin. - :type etag: str - :param last_activity_time: The ISO8601 timestamp of the last activity. - :type last_activity_time: str - :param properties: Properties JSON element. - :type properties: ~azure.eventgrid.models.DeviceTwinInfoProperties - :param status: Whether the device twin is enabled or disabled. - :type status: str - :param status_update_time: The ISO8601 timestamp of the last device twin - status update. - :type status_update_time: str - :param version: An integer that is incremented by one each time the device - twin is updated. - :type version: float - :param x509_thumbprint: The thumbprint is a unique value for the x509 - certificate, commonly used to find a particular certificate in a - certificate store. The thumbprint is dynamically generated using the SHA1 - algorithm, and does not physically exist in the certificate. - :type x509_thumbprint: - ~azure.eventgrid.models.DeviceTwinInfoX509Thumbprint - """ - - _attribute_map = { - 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, - 'cloud_to_device_message_count': {'key': 'cloudToDeviceMessageCount', 'type': 'float'}, - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'last_activity_time': {'key': 'lastActivityTime', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'DeviceTwinInfoProperties'}, - 'status': {'key': 'status', 'type': 'str'}, - 'status_update_time': {'key': 'statusUpdateTime', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'float'}, - 'x509_thumbprint': {'key': 'x509Thumbprint', 'type': 'DeviceTwinInfoX509Thumbprint'}, - } - - def __init__(self, *, authentication_type: str=None, cloud_to_device_message_count: float=None, connection_state: str=None, device_id: str=None, etag: str=None, last_activity_time: str=None, properties=None, status: str=None, status_update_time: str=None, version: float=None, x509_thumbprint=None, **kwargs) -> None: - super(DeviceTwinInfo, self).__init__(**kwargs) - self.authentication_type = authentication_type - self.cloud_to_device_message_count = cloud_to_device_message_count - self.connection_state = connection_state - self.device_id = device_id - self.etag = etag - self.last_activity_time = last_activity_time - self.properties = properties - self.status = status - self.status_update_time = status_update_time - self.version = version - self.x509_thumbprint = x509_thumbprint diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_x509_thumbprint.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_x509_thumbprint.py deleted file mode 100644 index abeb5e343bfa..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_x509_thumbprint.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinInfoX509Thumbprint(Model): - """The thumbprint is a unique value for the x509 certificate, commonly used to - find a particular certificate in a certificate store. The thumbprint is - dynamically generated using the SHA1 algorithm, and does not physically - exist in the certificate. - - :param primary_thumbprint: Primary thumbprint for the x509 certificate. - :type primary_thumbprint: str - :param secondary_thumbprint: Secondary thumbprint for the x509 - certificate. - :type secondary_thumbprint: str - """ - - _attribute_map = { - 'primary_thumbprint': {'key': 'primaryThumbprint', 'type': 'str'}, - 'secondary_thumbprint': {'key': 'secondaryThumbprint', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DeviceTwinInfoX509Thumbprint, self).__init__(**kwargs) - self.primary_thumbprint = kwargs.get('primary_thumbprint', None) - self.secondary_thumbprint = kwargs.get('secondary_thumbprint', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_x509_thumbprint_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_x509_thumbprint_py3.py deleted file mode 100644 index 8255b523b0ba..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_info_x509_thumbprint_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinInfoX509Thumbprint(Model): - """The thumbprint is a unique value for the x509 certificate, commonly used to - find a particular certificate in a certificate store. The thumbprint is - dynamically generated using the SHA1 algorithm, and does not physically - exist in the certificate. - - :param primary_thumbprint: Primary thumbprint for the x509 certificate. - :type primary_thumbprint: str - :param secondary_thumbprint: Secondary thumbprint for the x509 - certificate. - :type secondary_thumbprint: str - """ - - _attribute_map = { - 'primary_thumbprint': {'key': 'primaryThumbprint', 'type': 'str'}, - 'secondary_thumbprint': {'key': 'secondaryThumbprint', 'type': 'str'}, - } - - def __init__(self, *, primary_thumbprint: str=None, secondary_thumbprint: str=None, **kwargs) -> None: - super(DeviceTwinInfoX509Thumbprint, self).__init__(**kwargs) - self.primary_thumbprint = primary_thumbprint - self.secondary_thumbprint = secondary_thumbprint diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_metadata.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_metadata.py deleted file mode 100644 index 59219bd36fe2..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_metadata.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinMetadata(Model): - """Metadata information for the properties JSON document. - - :param last_updated: The ISO8601 timestamp of the last time the properties - were updated. - :type last_updated: str - """ - - _attribute_map = { - 'last_updated': {'key': 'lastUpdated', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DeviceTwinMetadata, self).__init__(**kwargs) - self.last_updated = kwargs.get('last_updated', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_metadata_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_metadata_py3.py deleted file mode 100644 index 8abb65fda8e2..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_metadata_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinMetadata(Model): - """Metadata information for the properties JSON document. - - :param last_updated: The ISO8601 timestamp of the last time the properties - were updated. - :type last_updated: str - """ - - _attribute_map = { - 'last_updated': {'key': 'lastUpdated', 'type': 'str'}, - } - - def __init__(self, *, last_updated: str=None, **kwargs) -> None: - super(DeviceTwinMetadata, self).__init__(**kwargs) - self.last_updated = last_updated diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_properties.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_properties.py deleted file mode 100644 index 9b207d5868ed..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_properties.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinProperties(Model): - """A portion of the properties that can be written only by the application - back-end, and read by the device. - - :param metadata: Metadata information for the properties JSON document. - :type metadata: ~azure.eventgrid.models.DeviceTwinMetadata - :param version: Version of device twin properties. - :type version: float - """ - - _attribute_map = { - 'metadata': {'key': 'metadata', 'type': 'DeviceTwinMetadata'}, - 'version': {'key': 'version', 'type': 'float'}, - } - - def __init__(self, **kwargs): - super(DeviceTwinProperties, self).__init__(**kwargs) - self.metadata = kwargs.get('metadata', None) - self.version = kwargs.get('version', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_properties_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_properties_py3.py deleted file mode 100644 index d28f52af8f84..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/device_twin_properties_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeviceTwinProperties(Model): - """A portion of the properties that can be written only by the application - back-end, and read by the device. - - :param metadata: Metadata information for the properties JSON document. - :type metadata: ~azure.eventgrid.models.DeviceTwinMetadata - :param version: Version of device twin properties. - :type version: float - """ - - _attribute_map = { - 'metadata': {'key': 'metadata', 'type': 'DeviceTwinMetadata'}, - 'version': {'key': 'version', 'type': 'float'}, - } - - def __init__(self, *, metadata=None, version: float=None, **kwargs) -> None: - super(DeviceTwinProperties, self).__init__(**kwargs) - self.metadata = metadata - self.version = version diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_client_enums.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_client_enums.py deleted file mode 100644 index eabef54f1c86..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_client_enums.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum - - -class MediaJobState(str, Enum): - - canceled = "Canceled" #: The job was canceled. This is a final state for the job. - canceling = "Canceling" #: The job is in the process of being canceled. This is a transient state for the job. - error = "Error" #: The job has encountered an error. This is a final state for the job. - finished = "Finished" #: The job is finished. This is a final state for the job. - processing = "Processing" #: The job is processing. This is a transient state for the job. - queued = "Queued" #: The job is in a queued state, waiting for resources to become available. This is a transient state. - scheduled = "Scheduled" #: The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states. - - -class MediaJobErrorCode(str, Enum): - - service_error = "ServiceError" #: Fatal service error, please contact support. - service_transient_error = "ServiceTransientError" #: Transient error, please retry, if retry is unsuccessful, please contact support. - download_not_accessible = "DownloadNotAccessible" #: While trying to download the input files, the files were not accessible, please check the availability of the source. - download_transient_error = "DownloadTransientError" #: While trying to download the input files, there was an issue during transfer (storage service, network errors), see details and check your source. - upload_not_accessible = "UploadNotAccessible" #: While trying to upload the output files, the destination was not reachable, please check the availability of the destination. - upload_transient_error = "UploadTransientError" #: While trying to upload the output files, there was an issue during transfer (storage service, network errors), see details and check your destination. - configuration_unsupported = "ConfigurationUnsupported" #: There was a problem with the combination of input files and the configuration settings applied, fix the configuration settings and retry with the same input, or change input to match the configuration. - content_malformed = "ContentMalformed" #: There was a problem with the input content (for example: zero byte files, or corrupt/non-decodable files), check the input files. - content_unsupported = "ContentUnsupported" #: There was a problem with the format of the input (not valid media file, or an unsupported file/codec), check the validity of the input files. - - -class MediaJobErrorCategory(str, Enum): - - service = "Service" #: The error is service related. - download = "Download" #: The error is download related. - upload = "Upload" #: The error is upload related. - configuration = "Configuration" #: The error is configuration related. - content = "Content" #: The error is related to data in the input files. - - -class MediaJobRetry(str, Enum): - - do_not_retry = "DoNotRetry" #: Issue needs to be investigated and then the job resubmitted with corrections or retried once the underlying issue has been corrected. - may_retry = "MayRetry" #: Issue may be resolved after waiting for a period of time and resubmitting the same Job. diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_event.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_event.py deleted file mode 100644 index f4828c24dd38..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_event.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EventGridEvent(Model): - """Properties of an event published to an Event Grid topic. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. An unique identifier for the event. - :type id: str - :param topic: The resource path of the event source. - :type topic: str - :param subject: Required. A resource path relative to the topic path. - :type subject: str - :param data: Required. Event data specific to the event type. - :type data: object - :param event_type: Required. The type of the event that occurred. - :type event_type: str - :param event_time: Required. The time (in UTC) the event was generated. - :type event_time: datetime - :ivar metadata_version: The schema version of the event metadata. - :vartype metadata_version: str - :param data_version: Required. The schema version of the data object. - :type data_version: str - """ - - _validation = { - 'id': {'required': True}, - 'subject': {'required': True}, - 'data': {'required': True}, - 'event_type': {'required': True}, - 'event_time': {'required': True}, - 'metadata_version': {'readonly': True}, - 'data_version': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'topic': {'key': 'topic', 'type': 'str'}, - 'subject': {'key': 'subject', 'type': 'str'}, - 'data': {'key': 'data', 'type': 'object'}, - 'event_type': {'key': 'eventType', 'type': 'str'}, - 'event_time': {'key': 'eventTime', 'type': 'iso-8601'}, - 'metadata_version': {'key': 'metadataVersion', 'type': 'str'}, - 'data_version': {'key': 'dataVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(EventGridEvent, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.topic = kwargs.get('topic', None) - self.subject = kwargs.get('subject', None) - self.data = kwargs.get('data', None) - self.event_type = kwargs.get('event_type', None) - self.event_time = kwargs.get('event_time', None) - self.metadata_version = None - self.data_version = kwargs.get('data_version', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_event_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_event_py3.py deleted file mode 100644 index 1f54ddad918a..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_grid_event_py3.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EventGridEvent(Model): - """Properties of an event published to an Event Grid topic. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. An unique identifier for the event. - :type id: str - :param topic: The resource path of the event source. - :type topic: str - :param subject: Required. A resource path relative to the topic path. - :type subject: str - :param data: Required. Event data specific to the event type. - :type data: object - :param event_type: Required. The type of the event that occurred. - :type event_type: str - :param event_time: Required. The time (in UTC) the event was generated. - :type event_time: datetime - :ivar metadata_version: The schema version of the event metadata. - :vartype metadata_version: str - :param data_version: Required. The schema version of the data object. - :type data_version: str - """ - - _validation = { - 'id': {'required': True}, - 'subject': {'required': True}, - 'data': {'required': True}, - 'event_type': {'required': True}, - 'event_time': {'required': True}, - 'metadata_version': {'readonly': True}, - 'data_version': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'topic': {'key': 'topic', 'type': 'str'}, - 'subject': {'key': 'subject', 'type': 'str'}, - 'data': {'key': 'data', 'type': 'object'}, - 'event_type': {'key': 'eventType', 'type': 'str'}, - 'event_time': {'key': 'eventTime', 'type': 'iso-8601'}, - 'metadata_version': {'key': 'metadataVersion', 'type': 'str'}, - 'data_version': {'key': 'dataVersion', 'type': 'str'}, - } - - def __init__(self, *, id: str, subject: str, data, event_type: str, event_time, data_version: str, topic: str=None, **kwargs) -> None: - super(EventGridEvent, self).__init__(**kwargs) - self.id = id - self.topic = topic - self.subject = subject - self.data = data - self.event_type = event_type - self.event_time = event_time - self.metadata_version = None - self.data_version = data_version diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_hub_capture_file_created_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_hub_capture_file_created_event_data.py deleted file mode 100644 index 7cca05430f96..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_hub_capture_file_created_event_data.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EventHubCaptureFileCreatedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.EventHub.CaptureFileCreated event. - - :param fileurl: The path to the capture file. - :type fileurl: str - :param file_type: The file type of the capture file. - :type file_type: str - :param partition_id: The shard ID. - :type partition_id: str - :param size_in_bytes: The file size. - :type size_in_bytes: int - :param event_count: The number of events in the file. - :type event_count: int - :param first_sequence_number: The smallest sequence number from the queue. - :type first_sequence_number: int - :param last_sequence_number: The last sequence number from the queue. - :type last_sequence_number: int - :param first_enqueue_time: The first time from the queue. - :type first_enqueue_time: datetime - :param last_enqueue_time: The last time from the queue. - :type last_enqueue_time: datetime - """ - - _attribute_map = { - 'fileurl': {'key': 'fileurl', 'type': 'str'}, - 'file_type': {'key': 'fileType', 'type': 'str'}, - 'partition_id': {'key': 'partitionId', 'type': 'str'}, - 'size_in_bytes': {'key': 'sizeInBytes', 'type': 'int'}, - 'event_count': {'key': 'eventCount', 'type': 'int'}, - 'first_sequence_number': {'key': 'firstSequenceNumber', 'type': 'int'}, - 'last_sequence_number': {'key': 'lastSequenceNumber', 'type': 'int'}, - 'first_enqueue_time': {'key': 'firstEnqueueTime', 'type': 'iso-8601'}, - 'last_enqueue_time': {'key': 'lastEnqueueTime', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(EventHubCaptureFileCreatedEventData, self).__init__(**kwargs) - self.fileurl = kwargs.get('fileurl', None) - self.file_type = kwargs.get('file_type', None) - self.partition_id = kwargs.get('partition_id', None) - self.size_in_bytes = kwargs.get('size_in_bytes', None) - self.event_count = kwargs.get('event_count', None) - self.first_sequence_number = kwargs.get('first_sequence_number', None) - self.last_sequence_number = kwargs.get('last_sequence_number', None) - self.first_enqueue_time = kwargs.get('first_enqueue_time', None) - self.last_enqueue_time = kwargs.get('last_enqueue_time', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_hub_capture_file_created_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_hub_capture_file_created_event_data_py3.py deleted file mode 100644 index 673a61b031e9..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/event_hub_capture_file_created_event_data_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EventHubCaptureFileCreatedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.EventHub.CaptureFileCreated event. - - :param fileurl: The path to the capture file. - :type fileurl: str - :param file_type: The file type of the capture file. - :type file_type: str - :param partition_id: The shard ID. - :type partition_id: str - :param size_in_bytes: The file size. - :type size_in_bytes: int - :param event_count: The number of events in the file. - :type event_count: int - :param first_sequence_number: The smallest sequence number from the queue. - :type first_sequence_number: int - :param last_sequence_number: The last sequence number from the queue. - :type last_sequence_number: int - :param first_enqueue_time: The first time from the queue. - :type first_enqueue_time: datetime - :param last_enqueue_time: The last time from the queue. - :type last_enqueue_time: datetime - """ - - _attribute_map = { - 'fileurl': {'key': 'fileurl', 'type': 'str'}, - 'file_type': {'key': 'fileType', 'type': 'str'}, - 'partition_id': {'key': 'partitionId', 'type': 'str'}, - 'size_in_bytes': {'key': 'sizeInBytes', 'type': 'int'}, - 'event_count': {'key': 'eventCount', 'type': 'int'}, - 'first_sequence_number': {'key': 'firstSequenceNumber', 'type': 'int'}, - 'last_sequence_number': {'key': 'lastSequenceNumber', 'type': 'int'}, - 'first_enqueue_time': {'key': 'firstEnqueueTime', 'type': 'iso-8601'}, - 'last_enqueue_time': {'key': 'lastEnqueueTime', 'type': 'iso-8601'}, - } - - def __init__(self, *, fileurl: str=None, file_type: str=None, partition_id: str=None, size_in_bytes: int=None, event_count: int=None, first_sequence_number: int=None, last_sequence_number: int=None, first_enqueue_time=None, last_enqueue_time=None, **kwargs) -> None: - super(EventHubCaptureFileCreatedEventData, self).__init__(**kwargs) - self.fileurl = fileurl - self.file_type = file_type - self.partition_id = partition_id - self.size_in_bytes = size_in_bytes - self.event_count = event_count - self.first_sequence_number = first_sequence_number - self.last_sequence_number = last_sequence_number - self.first_enqueue_time = first_enqueue_time - self.last_enqueue_time = last_enqueue_time diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_connected_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_connected_event_data.py deleted file mode 100644 index 9f48f9c10abc..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_connected_event_data.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_connection_state_event_properties import DeviceConnectionStateEventProperties - - -class IotHubDeviceConnectedEventData(DeviceConnectionStateEventProperties): - """Event data for Microsoft.Devices.DeviceConnected event. - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param module_id: The unique identifier of the module. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type module_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param device_connection_state_event_info: Information about the device - connection state event. - :type device_connection_state_event_info: - ~azure.eventgrid.models.DeviceConnectionStateEventInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'module_id': {'key': 'moduleId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, - } - - def __init__(self, **kwargs): - super(IotHubDeviceConnectedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_connected_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_connected_event_data_py3.py deleted file mode 100644 index 3c4791507b54..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_connected_event_data_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_connection_state_event_properties_py3 import DeviceConnectionStateEventProperties - - -class IotHubDeviceConnectedEventData(DeviceConnectionStateEventProperties): - """Event data for Microsoft.Devices.DeviceConnected event. - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param module_id: The unique identifier of the module. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type module_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param device_connection_state_event_info: Information about the device - connection state event. - :type device_connection_state_event_info: - ~azure.eventgrid.models.DeviceConnectionStateEventInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'module_id': {'key': 'moduleId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, - } - - def __init__(self, *, device_id: str=None, module_id: str=None, hub_name: str=None, device_connection_state_event_info=None, **kwargs) -> None: - super(IotHubDeviceConnectedEventData, self).__init__(device_id=device_id, module_id=module_id, hub_name=hub_name, device_connection_state_event_info=device_connection_state_event_info, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_created_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_created_event_data.py deleted file mode 100644 index df911f0b0456..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_created_event_data.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_life_cycle_event_properties import DeviceLifeCycleEventProperties - - -class IotHubDeviceCreatedEventData(DeviceLifeCycleEventProperties): - """Event data for Microsoft.Devices.DeviceCreated event. - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param twin: Information about the device twin, which is the cloud - representation of application device metadata. - :type twin: ~azure.eventgrid.models.DeviceTwinInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, - } - - def __init__(self, **kwargs): - super(IotHubDeviceCreatedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_created_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_created_event_data_py3.py deleted file mode 100644 index e8d497edc97e..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_created_event_data_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_life_cycle_event_properties_py3 import DeviceLifeCycleEventProperties - - -class IotHubDeviceCreatedEventData(DeviceLifeCycleEventProperties): - """Event data for Microsoft.Devices.DeviceCreated event. - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param twin: Information about the device twin, which is the cloud - representation of application device metadata. - :type twin: ~azure.eventgrid.models.DeviceTwinInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, - } - - def __init__(self, *, device_id: str=None, hub_name: str=None, twin=None, **kwargs) -> None: - super(IotHubDeviceCreatedEventData, self).__init__(device_id=device_id, hub_name=hub_name, twin=twin, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_deleted_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_deleted_event_data.py deleted file mode 100644 index 92d7e5c9c67f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_deleted_event_data.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_life_cycle_event_properties import DeviceLifeCycleEventProperties - - -class IotHubDeviceDeletedEventData(DeviceLifeCycleEventProperties): - """Event data for Microsoft.Devices.DeviceDeleted event. - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param twin: Information about the device twin, which is the cloud - representation of application device metadata. - :type twin: ~azure.eventgrid.models.DeviceTwinInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, - } - - def __init__(self, **kwargs): - super(IotHubDeviceDeletedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_deleted_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_deleted_event_data_py3.py deleted file mode 100644 index 635003d7176c..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_deleted_event_data_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_life_cycle_event_properties_py3 import DeviceLifeCycleEventProperties - - -class IotHubDeviceDeletedEventData(DeviceLifeCycleEventProperties): - """Event data for Microsoft.Devices.DeviceDeleted event. - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param twin: Information about the device twin, which is the cloud - representation of application device metadata. - :type twin: ~azure.eventgrid.models.DeviceTwinInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'twin': {'key': 'twin', 'type': 'DeviceTwinInfo'}, - } - - def __init__(self, *, device_id: str=None, hub_name: str=None, twin=None, **kwargs) -> None: - super(IotHubDeviceDeletedEventData, self).__init__(device_id=device_id, hub_name=hub_name, twin=twin, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_disconnected_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_disconnected_event_data.py deleted file mode 100644 index 0de85a3a601f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_disconnected_event_data.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_connection_state_event_properties import DeviceConnectionStateEventProperties - - -class IotHubDeviceDisconnectedEventData(DeviceConnectionStateEventProperties): - """Event data for Microsoft.Devices.DeviceDisconnected event. - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param module_id: The unique identifier of the module. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type module_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param device_connection_state_event_info: Information about the device - connection state event. - :type device_connection_state_event_info: - ~azure.eventgrid.models.DeviceConnectionStateEventInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'module_id': {'key': 'moduleId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, - } - - def __init__(self, **kwargs): - super(IotHubDeviceDisconnectedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_disconnected_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_disconnected_event_data_py3.py deleted file mode 100644 index d340d625e90c..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_disconnected_event_data_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_connection_state_event_properties_py3 import DeviceConnectionStateEventProperties - - -class IotHubDeviceDisconnectedEventData(DeviceConnectionStateEventProperties): - """Event data for Microsoft.Devices.DeviceDisconnected event. - - :param device_id: The unique identifier of the device. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type device_id: str - :param module_id: The unique identifier of the module. This case-sensitive - string can be up to 128 characters long, and supports ASCII 7-bit - alphanumeric characters plus the following special characters: - : . + % _ - # * ? ! ( ) , = @ ; $ '. - :type module_id: str - :param hub_name: Name of the IoT Hub where the device was created or - deleted. - :type hub_name: str - :param device_connection_state_event_info: Information about the device - connection state event. - :type device_connection_state_event_info: - ~azure.eventgrid.models.DeviceConnectionStateEventInfo - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'module_id': {'key': 'moduleId', 'type': 'str'}, - 'hub_name': {'key': 'hubName', 'type': 'str'}, - 'device_connection_state_event_info': {'key': 'deviceConnectionStateEventInfo', 'type': 'DeviceConnectionStateEventInfo'}, - } - - def __init__(self, *, device_id: str=None, module_id: str=None, hub_name: str=None, device_connection_state_event_info=None, **kwargs) -> None: - super(IotHubDeviceDisconnectedEventData, self).__init__(device_id=device_id, module_id=module_id, hub_name=hub_name, device_connection_state_event_info=device_connection_state_event_info, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_telemetry_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_telemetry_event_data.py deleted file mode 100644 index 68327f110245..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_telemetry_event_data.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_telemetry_event_properties import DeviceTelemetryEventProperties - - -class IotHubDeviceTelemetryEventData(DeviceTelemetryEventProperties): - """Event data for Microsoft.Devices.DeviceTelemetry event. - - :param body: The content of the message from the device. - :type body: object - :param properties: Application properties are user-defined strings that - can be added to the message. These fields are optional. - :type properties: dict[str, str] - :param system_properties: System properties help identify contents and - source of the messages. - :type system_properties: dict[str, str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'object'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'system_properties': {'key': 'systemProperties', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(IotHubDeviceTelemetryEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_telemetry_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_telemetry_event_data_py3.py deleted file mode 100644 index 99ff68ce2594..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/iot_hub_device_telemetry_event_data_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .device_telemetry_event_properties_py3 import DeviceTelemetryEventProperties - - -class IotHubDeviceTelemetryEventData(DeviceTelemetryEventProperties): - """Event data for Microsoft.Devices.DeviceTelemetry event. - - :param body: The content of the message from the device. - :type body: object - :param properties: Application properties are user-defined strings that - can be added to the message. These fields are optional. - :type properties: dict[str, str] - :param system_properties: System properties help identify contents and - source of the messages. - :type system_properties: dict[str, str] - """ - - _attribute_map = { - 'body': {'key': 'body', 'type': 'object'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'system_properties': {'key': 'systemProperties', 'type': '{str}'}, - } - - def __init__(self, *, body=None, properties=None, system_properties=None, **kwargs) -> None: - super(IotHubDeviceTelemetryEventData, self).__init__(body=body, properties=properties, system_properties=system_properties, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_entered_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_entered_event_data.py deleted file mode 100644 index ad261166eab6..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_entered_event_data.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .maps_geofence_event_properties import MapsGeofenceEventProperties - - -class MapsGeofenceEnteredEventData(MapsGeofenceEventProperties): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Maps.GeofenceEntered event. - - :param expired_geofence_geometry_id: Lists of the geometry ID of the - geofence which is expired relative to the user time in the request. - :type expired_geofence_geometry_id: list[str] - :param geometries: Lists the fence geometries that either fully contain - the coordinate position or have an overlap with the searchBuffer around - the fence. - :type geometries: list[~azure.eventgrid.models.MapsGeofenceGeometry] - :param invalid_period_geofence_geometry_id: Lists of the geometry ID of - the geofence which is in invalid period relative to the user time in the - request. - :type invalid_period_geofence_geometry_id: list[str] - :param is_event_published: True if at least one event is published to the - Azure Maps event subscriber, false if no event is published to the Azure - Maps event subscriber. - :type is_event_published: bool - """ - - _attribute_map = { - 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, - 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, - 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, - 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(MapsGeofenceEnteredEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_entered_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_entered_event_data_py3.py deleted file mode 100644 index 4a49e99df5ab..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_entered_event_data_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .maps_geofence_event_properties_py3 import MapsGeofenceEventProperties - - -class MapsGeofenceEnteredEventData(MapsGeofenceEventProperties): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Maps.GeofenceEntered event. - - :param expired_geofence_geometry_id: Lists of the geometry ID of the - geofence which is expired relative to the user time in the request. - :type expired_geofence_geometry_id: list[str] - :param geometries: Lists the fence geometries that either fully contain - the coordinate position or have an overlap with the searchBuffer around - the fence. - :type geometries: list[~azure.eventgrid.models.MapsGeofenceGeometry] - :param invalid_period_geofence_geometry_id: Lists of the geometry ID of - the geofence which is in invalid period relative to the user time in the - request. - :type invalid_period_geofence_geometry_id: list[str] - :param is_event_published: True if at least one event is published to the - Azure Maps event subscriber, false if no event is published to the Azure - Maps event subscriber. - :type is_event_published: bool - """ - - _attribute_map = { - 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, - 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, - 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, - 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, - } - - def __init__(self, *, expired_geofence_geometry_id=None, geometries=None, invalid_period_geofence_geometry_id=None, is_event_published: bool=None, **kwargs) -> None: - super(MapsGeofenceEnteredEventData, self).__init__(expired_geofence_geometry_id=expired_geofence_geometry_id, geometries=geometries, invalid_period_geofence_geometry_id=invalid_period_geofence_geometry_id, is_event_published=is_event_published, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_event_properties.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_event_properties.py deleted file mode 100644 index a09219f411ca..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_event_properties.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MapsGeofenceEventProperties(Model): - """Schema of the Data property of an EventGridEvent for a Geofence event - (GeofenceEntered, GeofenceExited, GeofenceResult). - - :param expired_geofence_geometry_id: Lists of the geometry ID of the - geofence which is expired relative to the user time in the request. - :type expired_geofence_geometry_id: list[str] - :param geometries: Lists the fence geometries that either fully contain - the coordinate position or have an overlap with the searchBuffer around - the fence. - :type geometries: list[~azure.eventgrid.models.MapsGeofenceGeometry] - :param invalid_period_geofence_geometry_id: Lists of the geometry ID of - the geofence which is in invalid period relative to the user time in the - request. - :type invalid_period_geofence_geometry_id: list[str] - :param is_event_published: True if at least one event is published to the - Azure Maps event subscriber, false if no event is published to the Azure - Maps event subscriber. - :type is_event_published: bool - """ - - _attribute_map = { - 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, - 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, - 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, - 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(MapsGeofenceEventProperties, self).__init__(**kwargs) - self.expired_geofence_geometry_id = kwargs.get('expired_geofence_geometry_id', None) - self.geometries = kwargs.get('geometries', None) - self.invalid_period_geofence_geometry_id = kwargs.get('invalid_period_geofence_geometry_id', None) - self.is_event_published = kwargs.get('is_event_published', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_event_properties_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_event_properties_py3.py deleted file mode 100644 index aaf8b3a60c08..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_event_properties_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MapsGeofenceEventProperties(Model): - """Schema of the Data property of an EventGridEvent for a Geofence event - (GeofenceEntered, GeofenceExited, GeofenceResult). - - :param expired_geofence_geometry_id: Lists of the geometry ID of the - geofence which is expired relative to the user time in the request. - :type expired_geofence_geometry_id: list[str] - :param geometries: Lists the fence geometries that either fully contain - the coordinate position or have an overlap with the searchBuffer around - the fence. - :type geometries: list[~azure.eventgrid.models.MapsGeofenceGeometry] - :param invalid_period_geofence_geometry_id: Lists of the geometry ID of - the geofence which is in invalid period relative to the user time in the - request. - :type invalid_period_geofence_geometry_id: list[str] - :param is_event_published: True if at least one event is published to the - Azure Maps event subscriber, false if no event is published to the Azure - Maps event subscriber. - :type is_event_published: bool - """ - - _attribute_map = { - 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, - 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, - 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, - 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, - } - - def __init__(self, *, expired_geofence_geometry_id=None, geometries=None, invalid_period_geofence_geometry_id=None, is_event_published: bool=None, **kwargs) -> None: - super(MapsGeofenceEventProperties, self).__init__(**kwargs) - self.expired_geofence_geometry_id = expired_geofence_geometry_id - self.geometries = geometries - self.invalid_period_geofence_geometry_id = invalid_period_geofence_geometry_id - self.is_event_published = is_event_published diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_exited_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_exited_event_data.py deleted file mode 100644 index f7c5aa0fc15a..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_exited_event_data.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .maps_geofence_event_properties import MapsGeofenceEventProperties - - -class MapsGeofenceExitedEventData(MapsGeofenceEventProperties): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Maps.GeofenceExited event. - - :param expired_geofence_geometry_id: Lists of the geometry ID of the - geofence which is expired relative to the user time in the request. - :type expired_geofence_geometry_id: list[str] - :param geometries: Lists the fence geometries that either fully contain - the coordinate position or have an overlap with the searchBuffer around - the fence. - :type geometries: list[~azure.eventgrid.models.MapsGeofenceGeometry] - :param invalid_period_geofence_geometry_id: Lists of the geometry ID of - the geofence which is in invalid period relative to the user time in the - request. - :type invalid_period_geofence_geometry_id: list[str] - :param is_event_published: True if at least one event is published to the - Azure Maps event subscriber, false if no event is published to the Azure - Maps event subscriber. - :type is_event_published: bool - """ - - _attribute_map = { - 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, - 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, - 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, - 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(MapsGeofenceExitedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_exited_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_exited_event_data_py3.py deleted file mode 100644 index 6bec05c2212f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_exited_event_data_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .maps_geofence_event_properties_py3 import MapsGeofenceEventProperties - - -class MapsGeofenceExitedEventData(MapsGeofenceEventProperties): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Maps.GeofenceExited event. - - :param expired_geofence_geometry_id: Lists of the geometry ID of the - geofence which is expired relative to the user time in the request. - :type expired_geofence_geometry_id: list[str] - :param geometries: Lists the fence geometries that either fully contain - the coordinate position or have an overlap with the searchBuffer around - the fence. - :type geometries: list[~azure.eventgrid.models.MapsGeofenceGeometry] - :param invalid_period_geofence_geometry_id: Lists of the geometry ID of - the geofence which is in invalid period relative to the user time in the - request. - :type invalid_period_geofence_geometry_id: list[str] - :param is_event_published: True if at least one event is published to the - Azure Maps event subscriber, false if no event is published to the Azure - Maps event subscriber. - :type is_event_published: bool - """ - - _attribute_map = { - 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, - 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, - 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, - 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, - } - - def __init__(self, *, expired_geofence_geometry_id=None, geometries=None, invalid_period_geofence_geometry_id=None, is_event_published: bool=None, **kwargs) -> None: - super(MapsGeofenceExitedEventData, self).__init__(expired_geofence_geometry_id=expired_geofence_geometry_id, geometries=geometries, invalid_period_geofence_geometry_id=invalid_period_geofence_geometry_id, is_event_published=is_event_published, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_geometry.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_geometry.py deleted file mode 100644 index b7cff8da378a..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_geometry.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MapsGeofenceGeometry(Model): - """The geofence geometry. - - :param device_id: ID of the device. - :type device_id: str - :param distance: Distance from the coordinate to the closest border of the - geofence. Positive means the coordinate is outside of the geofence. If the - coordinate is outside of the geofence, but more than the value of - searchBuffer away from the closest geofence border, then the value is 999. - Negative means the coordinate is inside of the geofence. If the coordinate - is inside the polygon, but more than the value of searchBuffer away from - the closest geofencing border,then the value is -999. A value of 999 means - that there is great confidence the coordinate is well outside the - geofence. A value of -999 means that there is great confidence the - coordinate is well within the geofence. - :type distance: float - :param geometry_id: The unique ID for the geofence geometry. - :type geometry_id: str - :param nearest_lat: Latitude of the nearest point of the geometry. - :type nearest_lat: float - :param nearest_lon: Longitude of the nearest point of the geometry. - :type nearest_lon: float - :param ud_id: The unique id returned from user upload service when - uploading a geofence. Will not be included in geofencing post API. - :type ud_id: str - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'distance': {'key': 'distance', 'type': 'float'}, - 'geometry_id': {'key': 'geometryId', 'type': 'str'}, - 'nearest_lat': {'key': 'nearestLat', 'type': 'float'}, - 'nearest_lon': {'key': 'nearestLon', 'type': 'float'}, - 'ud_id': {'key': 'udId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MapsGeofenceGeometry, self).__init__(**kwargs) - self.device_id = kwargs.get('device_id', None) - self.distance = kwargs.get('distance', None) - self.geometry_id = kwargs.get('geometry_id', None) - self.nearest_lat = kwargs.get('nearest_lat', None) - self.nearest_lon = kwargs.get('nearest_lon', None) - self.ud_id = kwargs.get('ud_id', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_geometry_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_geometry_py3.py deleted file mode 100644 index bd6690005053..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_geometry_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MapsGeofenceGeometry(Model): - """The geofence geometry. - - :param device_id: ID of the device. - :type device_id: str - :param distance: Distance from the coordinate to the closest border of the - geofence. Positive means the coordinate is outside of the geofence. If the - coordinate is outside of the geofence, but more than the value of - searchBuffer away from the closest geofence border, then the value is 999. - Negative means the coordinate is inside of the geofence. If the coordinate - is inside the polygon, but more than the value of searchBuffer away from - the closest geofencing border,then the value is -999. A value of 999 means - that there is great confidence the coordinate is well outside the - geofence. A value of -999 means that there is great confidence the - coordinate is well within the geofence. - :type distance: float - :param geometry_id: The unique ID for the geofence geometry. - :type geometry_id: str - :param nearest_lat: Latitude of the nearest point of the geometry. - :type nearest_lat: float - :param nearest_lon: Longitude of the nearest point of the geometry. - :type nearest_lon: float - :param ud_id: The unique id returned from user upload service when - uploading a geofence. Will not be included in geofencing post API. - :type ud_id: str - """ - - _attribute_map = { - 'device_id': {'key': 'deviceId', 'type': 'str'}, - 'distance': {'key': 'distance', 'type': 'float'}, - 'geometry_id': {'key': 'geometryId', 'type': 'str'}, - 'nearest_lat': {'key': 'nearestLat', 'type': 'float'}, - 'nearest_lon': {'key': 'nearestLon', 'type': 'float'}, - 'ud_id': {'key': 'udId', 'type': 'str'}, - } - - def __init__(self, *, device_id: str=None, distance: float=None, geometry_id: str=None, nearest_lat: float=None, nearest_lon: float=None, ud_id: str=None, **kwargs) -> None: - super(MapsGeofenceGeometry, self).__init__(**kwargs) - self.device_id = device_id - self.distance = distance - self.geometry_id = geometry_id - self.nearest_lat = nearest_lat - self.nearest_lon = nearest_lon - self.ud_id = ud_id diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_result_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_result_event_data.py deleted file mode 100644 index a609225c822e..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_result_event_data.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .maps_geofence_event_properties import MapsGeofenceEventProperties - - -class MapsGeofenceResultEventData(MapsGeofenceEventProperties): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Maps.GeofenceResult event. - - :param expired_geofence_geometry_id: Lists of the geometry ID of the - geofence which is expired relative to the user time in the request. - :type expired_geofence_geometry_id: list[str] - :param geometries: Lists the fence geometries that either fully contain - the coordinate position or have an overlap with the searchBuffer around - the fence. - :type geometries: list[~azure.eventgrid.models.MapsGeofenceGeometry] - :param invalid_period_geofence_geometry_id: Lists of the geometry ID of - the geofence which is in invalid period relative to the user time in the - request. - :type invalid_period_geofence_geometry_id: list[str] - :param is_event_published: True if at least one event is published to the - Azure Maps event subscriber, false if no event is published to the Azure - Maps event subscriber. - :type is_event_published: bool - """ - - _attribute_map = { - 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, - 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, - 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, - 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(MapsGeofenceResultEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_result_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_result_event_data_py3.py deleted file mode 100644 index 24a1bebf7180..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/maps_geofence_result_event_data_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .maps_geofence_event_properties_py3 import MapsGeofenceEventProperties - - -class MapsGeofenceResultEventData(MapsGeofenceEventProperties): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Maps.GeofenceResult event. - - :param expired_geofence_geometry_id: Lists of the geometry ID of the - geofence which is expired relative to the user time in the request. - :type expired_geofence_geometry_id: list[str] - :param geometries: Lists the fence geometries that either fully contain - the coordinate position or have an overlap with the searchBuffer around - the fence. - :type geometries: list[~azure.eventgrid.models.MapsGeofenceGeometry] - :param invalid_period_geofence_geometry_id: Lists of the geometry ID of - the geofence which is in invalid period relative to the user time in the - request. - :type invalid_period_geofence_geometry_id: list[str] - :param is_event_published: True if at least one event is published to the - Azure Maps event subscriber, false if no event is published to the Azure - Maps event subscriber. - :type is_event_published: bool - """ - - _attribute_map = { - 'expired_geofence_geometry_id': {'key': 'expiredGeofenceGeometryId', 'type': '[str]'}, - 'geometries': {'key': 'geometries', 'type': '[MapsGeofenceGeometry]'}, - 'invalid_period_geofence_geometry_id': {'key': 'invalidPeriodGeofenceGeometryId', 'type': '[str]'}, - 'is_event_published': {'key': 'isEventPublished', 'type': 'bool'}, - } - - def __init__(self, *, expired_geofence_geometry_id=None, geometries=None, invalid_period_geofence_geometry_id=None, is_event_published: bool=None, **kwargs) -> None: - super(MapsGeofenceResultEventData, self).__init__(expired_geofence_geometry_id=expired_geofence_geometry_id, geometries=geometries, invalid_period_geofence_geometry_id=invalid_period_geofence_geometry_id, is_event_published=is_event_published, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceled_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceled_event_data.py deleted file mode 100644 index f8a820f2b8fb..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceled_event_data.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data import MediaJobStateChangeEventData - - -class MediaJobCanceledEventData(MediaJobStateChangeEventData): - """Job canceled event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - :param outputs: Gets the Job outputs. - :type outputs: list[~azure.eventgrid.models.MediaJobOutput] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, - } - - def __init__(self, **kwargs): - super(MediaJobCanceledEventData, self).__init__(**kwargs) - self.outputs = kwargs.get('outputs', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceled_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceled_event_data_py3.py deleted file mode 100644 index 2febfeb9d2d5..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceled_event_data_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data_py3 import MediaJobStateChangeEventData - - -class MediaJobCanceledEventData(MediaJobStateChangeEventData): - """Job canceled event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - :param outputs: Gets the Job outputs. - :type outputs: list[~azure.eventgrid.models.MediaJobOutput] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, - } - - def __init__(self, *, correlation_data=None, outputs=None, **kwargs) -> None: - super(MediaJobCanceledEventData, self).__init__(correlation_data=correlation_data, **kwargs) - self.outputs = outputs diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceling_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceling_event_data.py deleted file mode 100644 index 4c25c6c2cae9..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceling_event_data.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data import MediaJobStateChangeEventData - - -class MediaJobCancelingEventData(MediaJobStateChangeEventData): - """Job canceling event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobCancelingEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceling_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceling_event_data_py3.py deleted file mode 100644 index 1ed04a59b0c5..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_canceling_event_data_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data_py3 import MediaJobStateChangeEventData - - -class MediaJobCancelingEventData(MediaJobStateChangeEventData): - """Job canceling event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - } - - def __init__(self, *, correlation_data=None, **kwargs) -> None: - super(MediaJobCancelingEventData, self).__init__(correlation_data=correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error.py deleted file mode 100644 index 2a4c16b33889..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobError(Model): - """Details of JobOutput errors. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Error code describing the error. Possible values include: - 'ServiceError', 'ServiceTransientError', 'DownloadNotAccessible', - 'DownloadTransientError', 'UploadNotAccessible', 'UploadTransientError', - 'ConfigurationUnsupported', 'ContentMalformed', 'ContentUnsupported' - :vartype code: str or ~azure.eventgrid.models.MediaJobErrorCode - :ivar message: A human-readable language-dependent representation of the - error. - :vartype message: str - :ivar category: Helps with categorization of errors. Possible values - include: 'Service', 'Download', 'Upload', 'Configuration', 'Content' - :vartype category: str or ~azure.eventgrid.models.MediaJobErrorCategory - :ivar retry: Indicates that it may be possible to retry the Job. If retry - is unsuccessful, please contact Azure support via Azure Portal. Possible - values include: 'DoNotRetry', 'MayRetry' - :vartype retry: str or ~azure.eventgrid.models.MediaJobRetry - :ivar details: An array of details about specific errors that led to this - reported error. - :vartype details: list[~azure.eventgrid.models.MediaJobErrorDetail] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'category': {'readonly': True}, - 'retry': {'readonly': True}, - 'details': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'MediaJobErrorCode'}, - 'message': {'key': 'message', 'type': 'str'}, - 'category': {'key': 'category', 'type': 'MediaJobErrorCategory'}, - 'retry': {'key': 'retry', 'type': 'MediaJobRetry'}, - 'details': {'key': 'details', 'type': '[MediaJobErrorDetail]'}, - } - - def __init__(self, **kwargs): - super(MediaJobError, self).__init__(**kwargs) - self.code = None - self.message = None - self.category = None - self.retry = None - self.details = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_detail.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_detail.py deleted file mode 100644 index acbb98e6c437..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_detail.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobErrorDetail(Model): - """Details of JobOutput errors. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Code describing the error detail. - :vartype code: str - :ivar message: A human-readable representation of the error. - :vartype message: str - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaJobErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_detail_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_detail_py3.py deleted file mode 100644 index 9c419b996add..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_detail_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobErrorDetail(Model): - """Details of JobOutput errors. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Code describing the error detail. - :vartype code: str - :ivar message: A human-readable representation of the error. - :vartype message: str - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaJobErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_py3.py deleted file mode 100644 index afd055ba62ec..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_error_py3.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobError(Model): - """Details of JobOutput errors. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Error code describing the error. Possible values include: - 'ServiceError', 'ServiceTransientError', 'DownloadNotAccessible', - 'DownloadTransientError', 'UploadNotAccessible', 'UploadTransientError', - 'ConfigurationUnsupported', 'ContentMalformed', 'ContentUnsupported' - :vartype code: str or ~azure.eventgrid.models.MediaJobErrorCode - :ivar message: A human-readable language-dependent representation of the - error. - :vartype message: str - :ivar category: Helps with categorization of errors. Possible values - include: 'Service', 'Download', 'Upload', 'Configuration', 'Content' - :vartype category: str or ~azure.eventgrid.models.MediaJobErrorCategory - :ivar retry: Indicates that it may be possible to retry the Job. If retry - is unsuccessful, please contact Azure support via Azure Portal. Possible - values include: 'DoNotRetry', 'MayRetry' - :vartype retry: str or ~azure.eventgrid.models.MediaJobRetry - :ivar details: An array of details about specific errors that led to this - reported error. - :vartype details: list[~azure.eventgrid.models.MediaJobErrorDetail] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'category': {'readonly': True}, - 'retry': {'readonly': True}, - 'details': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'MediaJobErrorCode'}, - 'message': {'key': 'message', 'type': 'str'}, - 'category': {'key': 'category', 'type': 'MediaJobErrorCategory'}, - 'retry': {'key': 'retry', 'type': 'MediaJobRetry'}, - 'details': {'key': 'details', 'type': '[MediaJobErrorDetail]'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaJobError, self).__init__(**kwargs) - self.code = None - self.message = None - self.category = None - self.retry = None - self.details = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_errored_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_errored_event_data.py deleted file mode 100644 index 91b5cda1eeec..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_errored_event_data.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data import MediaJobStateChangeEventData - - -class MediaJobErroredEventData(MediaJobStateChangeEventData): - """Job error state event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - :param outputs: Gets the Job outputs. - :type outputs: list[~azure.eventgrid.models.MediaJobOutput] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, - } - - def __init__(self, **kwargs): - super(MediaJobErroredEventData, self).__init__(**kwargs) - self.outputs = kwargs.get('outputs', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_errored_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_errored_event_data_py3.py deleted file mode 100644 index 2a2e7b7af094..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_errored_event_data_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data_py3 import MediaJobStateChangeEventData - - -class MediaJobErroredEventData(MediaJobStateChangeEventData): - """Job error state event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - :param outputs: Gets the Job outputs. - :type outputs: list[~azure.eventgrid.models.MediaJobOutput] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, - } - - def __init__(self, *, correlation_data=None, outputs=None, **kwargs) -> None: - super(MediaJobErroredEventData, self).__init__(correlation_data=correlation_data, **kwargs) - self.outputs = outputs diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_finished_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_finished_event_data.py deleted file mode 100644 index 29d2f2a1420e..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_finished_event_data.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data import MediaJobStateChangeEventData - - -class MediaJobFinishedEventData(MediaJobStateChangeEventData): - """Job finished event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - :param outputs: Gets the Job outputs. - :type outputs: list[~azure.eventgrid.models.MediaJobOutput] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, - } - - def __init__(self, **kwargs): - super(MediaJobFinishedEventData, self).__init__(**kwargs) - self.outputs = kwargs.get('outputs', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_finished_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_finished_event_data_py3.py deleted file mode 100644 index 9e9ee8d588c0..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_finished_event_data_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data_py3 import MediaJobStateChangeEventData - - -class MediaJobFinishedEventData(MediaJobStateChangeEventData): - """Job finished event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - :param outputs: Gets the Job outputs. - :type outputs: list[~azure.eventgrid.models.MediaJobOutput] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - 'outputs': {'key': 'outputs', 'type': '[MediaJobOutput]'}, - } - - def __init__(self, *, correlation_data=None, outputs=None, **kwargs) -> None: - super(MediaJobFinishedEventData, self).__init__(correlation_data=correlation_data, **kwargs) - self.outputs = outputs diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output.py deleted file mode 100644 index ec105fd697dd..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobOutput(Model): - """The event data for a Job output. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: MediaJobOutputAsset - - All required parameters must be populated in order to send to Azure. - - :param error: Gets the Job output error. - :type error: ~azure.eventgrid.models.MediaJobError - :param label: Gets the Job output label. - :type label: str - :param progress: Required. Gets the Job output progress. - :type progress: long - :param state: Required. Gets the Job output state. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :type state: str or ~azure.eventgrid.models.MediaJobState - :param odatatype: Required. Constant filled by server. - :type odatatype: str - """ - - _validation = { - 'progress': {'required': True}, - 'state': {'required': True}, - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'MediaJobError'}, - 'label': {'key': 'label', 'type': 'str'}, - 'progress': {'key': 'progress', 'type': 'long'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - } - - _subtype_map = { - 'odatatype': {'#Microsoft.Media.JobOutputAsset': 'MediaJobOutputAsset'} - } - - def __init__(self, **kwargs): - super(MediaJobOutput, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - self.label = kwargs.get('label', None) - self.progress = kwargs.get('progress', None) - self.state = kwargs.get('state', None) - self.odatatype = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_asset.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_asset.py deleted file mode 100644 index efe51ce529f5..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_asset.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output import MediaJobOutput - - -class MediaJobOutputAsset(MediaJobOutput): - """The event data for a Job output asset. - - All required parameters must be populated in order to send to Azure. - - :param error: Gets the Job output error. - :type error: ~azure.eventgrid.models.MediaJobError - :param label: Gets the Job output label. - :type label: str - :param progress: Required. Gets the Job output progress. - :type progress: long - :param state: Required. Gets the Job output state. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :type state: str or ~azure.eventgrid.models.MediaJobState - :param odatatype: Required. Constant filled by server. - :type odatatype: str - :param asset_name: Gets the Job output asset name. - :type asset_name: str - """ - - _validation = { - 'progress': {'required': True}, - 'state': {'required': True}, - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'MediaJobError'}, - 'label': {'key': 'label', 'type': 'str'}, - 'progress': {'key': 'progress', 'type': 'long'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - 'asset_name': {'key': 'assetName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputAsset, self).__init__(**kwargs) - self.asset_name = kwargs.get('asset_name', None) - self.odatatype = '#Microsoft.Media.JobOutputAsset' diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_asset_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_asset_py3.py deleted file mode 100644 index de6fc83d47c8..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_asset_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_py3 import MediaJobOutput - - -class MediaJobOutputAsset(MediaJobOutput): - """The event data for a Job output asset. - - All required parameters must be populated in order to send to Azure. - - :param error: Gets the Job output error. - :type error: ~azure.eventgrid.models.MediaJobError - :param label: Gets the Job output label. - :type label: str - :param progress: Required. Gets the Job output progress. - :type progress: long - :param state: Required. Gets the Job output state. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :type state: str or ~azure.eventgrid.models.MediaJobState - :param odatatype: Required. Constant filled by server. - :type odatatype: str - :param asset_name: Gets the Job output asset name. - :type asset_name: str - """ - - _validation = { - 'progress': {'required': True}, - 'state': {'required': True}, - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'MediaJobError'}, - 'label': {'key': 'label', 'type': 'str'}, - 'progress': {'key': 'progress', 'type': 'long'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - 'asset_name': {'key': 'assetName', 'type': 'str'}, - } - - def __init__(self, *, progress: int, state, error=None, label: str=None, asset_name: str=None, **kwargs) -> None: - super(MediaJobOutputAsset, self).__init__(error=error, label=label, progress=progress, state=state, **kwargs) - self.asset_name = asset_name - self.odatatype = '#Microsoft.Media.JobOutputAsset' diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceled_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceled_event_data.py deleted file mode 100644 index c082ca91470f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceled_event_data.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data import MediaJobOutputStateChangeEventData - - -class MediaJobOutputCanceledEventData(MediaJobOutputStateChangeEventData): - """Job output canceled event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputCanceledEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceled_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceled_event_data_py3.py deleted file mode 100644 index 07fe3029aeb5..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceled_event_data_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data_py3 import MediaJobOutputStateChangeEventData - - -class MediaJobOutputCanceledEventData(MediaJobOutputStateChangeEventData): - """Job output canceled event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, *, output=None, job_correlation_data=None, **kwargs) -> None: - super(MediaJobOutputCanceledEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceling_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceling_event_data.py deleted file mode 100644 index 5b8f61dc1432..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceling_event_data.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data import MediaJobOutputStateChangeEventData - - -class MediaJobOutputCancelingEventData(MediaJobOutputStateChangeEventData): - """Job output canceling event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputCancelingEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceling_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceling_event_data_py3.py deleted file mode 100644 index 440bb91f08f4..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_canceling_event_data_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data_py3 import MediaJobOutputStateChangeEventData - - -class MediaJobOutputCancelingEventData(MediaJobOutputStateChangeEventData): - """Job output canceling event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, *, output=None, job_correlation_data=None, **kwargs) -> None: - super(MediaJobOutputCancelingEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_errored_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_errored_event_data.py deleted file mode 100644 index b6e9bf9f4bf0..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_errored_event_data.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data import MediaJobOutputStateChangeEventData - - -class MediaJobOutputErroredEventData(MediaJobOutputStateChangeEventData): - """Job output error event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputErroredEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_errored_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_errored_event_data_py3.py deleted file mode 100644 index c6f8c6ed5eb2..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_errored_event_data_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data_py3 import MediaJobOutputStateChangeEventData - - -class MediaJobOutputErroredEventData(MediaJobOutputStateChangeEventData): - """Job output error event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, *, output=None, job_correlation_data=None, **kwargs) -> None: - super(MediaJobOutputErroredEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_finished_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_finished_event_data.py deleted file mode 100644 index ad08587a4d2a..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_finished_event_data.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data import MediaJobOutputStateChangeEventData - - -class MediaJobOutputFinishedEventData(MediaJobOutputStateChangeEventData): - """Job output finished event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputFinishedEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_finished_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_finished_event_data_py3.py deleted file mode 100644 index d973441dfb22..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_finished_event_data_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data_py3 import MediaJobOutputStateChangeEventData - - -class MediaJobOutputFinishedEventData(MediaJobOutputStateChangeEventData): - """Job output finished event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, *, output=None, job_correlation_data=None, **kwargs) -> None: - super(MediaJobOutputFinishedEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_processing_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_processing_event_data.py deleted file mode 100644 index 40bc09600888..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_processing_event_data.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data import MediaJobOutputStateChangeEventData - - -class MediaJobOutputProcessingEventData(MediaJobOutputStateChangeEventData): - """Job output processing event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputProcessingEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_processing_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_processing_event_data_py3.py deleted file mode 100644 index ccf97c3470ec..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_processing_event_data_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data_py3 import MediaJobOutputStateChangeEventData - - -class MediaJobOutputProcessingEventData(MediaJobOutputStateChangeEventData): - """Job output processing event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, *, output=None, job_correlation_data=None, **kwargs) -> None: - super(MediaJobOutputProcessingEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_progress_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_progress_event_data.py deleted file mode 100644 index 37c2c9662421..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_progress_event_data.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobOutputProgressEventData(Model): - """Job Output Progress Event Data. - - :param label: Gets the Job output label. - :type label: str - :param progress: Gets the Job output progress. - :type progress: long - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _attribute_map = { - 'label': {'key': 'label', 'type': 'str'}, - 'progress': {'key': 'progress', 'type': 'long'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputProgressEventData, self).__init__(**kwargs) - self.label = kwargs.get('label', None) - self.progress = kwargs.get('progress', None) - self.job_correlation_data = kwargs.get('job_correlation_data', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_progress_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_progress_event_data_py3.py deleted file mode 100644 index 3f23816b7c37..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_progress_event_data_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobOutputProgressEventData(Model): - """Job Output Progress Event Data. - - :param label: Gets the Job output label. - :type label: str - :param progress: Gets the Job output progress. - :type progress: long - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _attribute_map = { - 'label': {'key': 'label', 'type': 'str'}, - 'progress': {'key': 'progress', 'type': 'long'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, *, label: str=None, progress: int=None, job_correlation_data=None, **kwargs) -> None: - super(MediaJobOutputProgressEventData, self).__init__(**kwargs) - self.label = label - self.progress = progress - self.job_correlation_data = job_correlation_data diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_py3.py deleted file mode 100644 index 8be196363b90..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobOutput(Model): - """The event data for a Job output. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: MediaJobOutputAsset - - All required parameters must be populated in order to send to Azure. - - :param error: Gets the Job output error. - :type error: ~azure.eventgrid.models.MediaJobError - :param label: Gets the Job output label. - :type label: str - :param progress: Required. Gets the Job output progress. - :type progress: long - :param state: Required. Gets the Job output state. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :type state: str or ~azure.eventgrid.models.MediaJobState - :param odatatype: Required. Constant filled by server. - :type odatatype: str - """ - - _validation = { - 'progress': {'required': True}, - 'state': {'required': True}, - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'MediaJobError'}, - 'label': {'key': 'label', 'type': 'str'}, - 'progress': {'key': 'progress', 'type': 'long'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - } - - _subtype_map = { - 'odatatype': {'#Microsoft.Media.JobOutputAsset': 'MediaJobOutputAsset'} - } - - def __init__(self, *, progress: int, state, error=None, label: str=None, **kwargs) -> None: - super(MediaJobOutput, self).__init__(**kwargs) - self.error = error - self.label = label - self.progress = progress - self.state = state - self.odatatype = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_scheduled_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_scheduled_event_data.py deleted file mode 100644 index add4742a19e3..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_scheduled_event_data.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data import MediaJobOutputStateChangeEventData - - -class MediaJobOutputScheduledEventData(MediaJobOutputStateChangeEventData): - """Job output scheduled event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputScheduledEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_scheduled_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_scheduled_event_data_py3.py deleted file mode 100644 index a0ebd525de32..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_scheduled_event_data_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_output_state_change_event_data_py3 import MediaJobOutputStateChangeEventData - - -class MediaJobOutputScheduledEventData(MediaJobOutputStateChangeEventData): - """Job output scheduled event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, *, output=None, job_correlation_data=None, **kwargs) -> None: - super(MediaJobOutputScheduledEventData, self).__init__(output=output, job_correlation_data=job_correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_state_change_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_state_change_event_data.py deleted file mode 100644 index f60b5b944a15..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_state_change_event_data.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobOutputStateChangeEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Media.JobOutputStateChange event. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobOutputStateChangeEventData, self).__init__(**kwargs) - self.previous_state = None - self.output = kwargs.get('output', None) - self.job_correlation_data = kwargs.get('job_correlation_data', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_state_change_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_state_change_event_data_py3.py deleted file mode 100644 index 7c66b5dde9df..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_output_state_change_event_data_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobOutputStateChangeEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Media.JobOutputStateChange event. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :param output: Gets the output. - :type output: ~azure.eventgrid.models.MediaJobOutput - :param job_correlation_data: Gets the Job correlation data. - :type job_correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'output': {'key': 'output', 'type': 'MediaJobOutput'}, - 'job_correlation_data': {'key': 'jobCorrelationData', 'type': '{str}'}, - } - - def __init__(self, *, output=None, job_correlation_data=None, **kwargs) -> None: - super(MediaJobOutputStateChangeEventData, self).__init__(**kwargs) - self.previous_state = None - self.output = output - self.job_correlation_data = job_correlation_data diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_processing_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_processing_event_data.py deleted file mode 100644 index 9723cb17d9c5..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_processing_event_data.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data import MediaJobStateChangeEventData - - -class MediaJobProcessingEventData(MediaJobStateChangeEventData): - """Job processing event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobProcessingEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_processing_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_processing_event_data_py3.py deleted file mode 100644 index 6fa5a6bada00..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_processing_event_data_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data_py3 import MediaJobStateChangeEventData - - -class MediaJobProcessingEventData(MediaJobStateChangeEventData): - """Job processing event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - } - - def __init__(self, *, correlation_data=None, **kwargs) -> None: - super(MediaJobProcessingEventData, self).__init__(correlation_data=correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_scheduled_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_scheduled_event_data.py deleted file mode 100644 index e7f3ac435b4b..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_scheduled_event_data.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data import MediaJobStateChangeEventData - - -class MediaJobScheduledEventData(MediaJobStateChangeEventData): - """Job scheduled event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobScheduledEventData, self).__init__(**kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_scheduled_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_scheduled_event_data_py3.py deleted file mode 100644 index a48b518f50d7..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_scheduled_event_data_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .media_job_state_change_event_data_py3 import MediaJobStateChangeEventData - - -class MediaJobScheduledEventData(MediaJobStateChangeEventData): - """Job scheduled event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - } - - def __init__(self, *, correlation_data=None, **kwargs) -> None: - super(MediaJobScheduledEventData, self).__init__(correlation_data=correlation_data, **kwargs) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_state_change_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_state_change_event_data.py deleted file mode 100644 index 180cc78a98fa..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_state_change_event_data.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobStateChangeEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Media.JobStateChange event. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(MediaJobStateChangeEventData, self).__init__(**kwargs) - self.previous_state = None - self.state = None - self.correlation_data = kwargs.get('correlation_data', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_state_change_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_state_change_event_data_py3.py deleted file mode 100644 index 669d790a1843..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_job_state_change_event_data_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaJobStateChangeEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Media.JobStateChange event. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar previous_state: The previous state of the Job. Possible values - include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', - 'Queued', 'Scheduled' - :vartype previous_state: str or ~azure.eventgrid.models.MediaJobState - :ivar state: The new state of the Job. Possible values include: - 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', - 'Scheduled' - :vartype state: str or ~azure.eventgrid.models.MediaJobState - :param correlation_data: Gets the Job correlation data. - :type correlation_data: dict[str, str] - """ - - _validation = { - 'previous_state': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'previous_state': {'key': 'previousState', 'type': 'MediaJobState'}, - 'state': {'key': 'state', 'type': 'MediaJobState'}, - 'correlation_data': {'key': 'correlationData', 'type': '{str}'}, - } - - def __init__(self, *, correlation_data=None, **kwargs) -> None: - super(MediaJobStateChangeEventData, self).__init__(**kwargs) - self.previous_state = None - self.state = None - self.correlation_data = correlation_data diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_connection_rejected_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_connection_rejected_event_data.py deleted file mode 100644 index 76a49ae592bd..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_connection_rejected_event_data.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventConnectionRejectedEventData(Model): - """Encoder connection rejected event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar ingest_url: Gets the ingest URL provided by the live event. - :vartype ingest_url: str - :ivar stream_id: Gets the stream Id. - :vartype stream_id: str - :ivar encoder_ip: Gets the remote IP. - :vartype encoder_ip: str - :ivar encoder_port: Gets the remote port. - :vartype encoder_port: str - :ivar result_code: Gets the result code. - :vartype result_code: str - """ - - _validation = { - 'ingest_url': {'readonly': True}, - 'stream_id': {'readonly': True}, - 'encoder_ip': {'readonly': True}, - 'encoder_port': {'readonly': True}, - 'result_code': {'readonly': True}, - } - - _attribute_map = { - 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, - 'stream_id': {'key': 'streamId', 'type': 'str'}, - 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, - 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, - 'result_code': {'key': 'resultCode', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventConnectionRejectedEventData, self).__init__(**kwargs) - self.ingest_url = None - self.stream_id = None - self.encoder_ip = None - self.encoder_port = None - self.result_code = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_connection_rejected_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_connection_rejected_event_data_py3.py deleted file mode 100644 index 3727fde97d6b..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_connection_rejected_event_data_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventConnectionRejectedEventData(Model): - """Encoder connection rejected event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar ingest_url: Gets the ingest URL provided by the live event. - :vartype ingest_url: str - :ivar stream_id: Gets the stream Id. - :vartype stream_id: str - :ivar encoder_ip: Gets the remote IP. - :vartype encoder_ip: str - :ivar encoder_port: Gets the remote port. - :vartype encoder_port: str - :ivar result_code: Gets the result code. - :vartype result_code: str - """ - - _validation = { - 'ingest_url': {'readonly': True}, - 'stream_id': {'readonly': True}, - 'encoder_ip': {'readonly': True}, - 'encoder_port': {'readonly': True}, - 'result_code': {'readonly': True}, - } - - _attribute_map = { - 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, - 'stream_id': {'key': 'streamId', 'type': 'str'}, - 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, - 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, - 'result_code': {'key': 'resultCode', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventConnectionRejectedEventData, self).__init__(**kwargs) - self.ingest_url = None - self.stream_id = None - self.encoder_ip = None - self.encoder_port = None - self.result_code = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_connected_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_connected_event_data.py deleted file mode 100644 index 8b89a722d117..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_connected_event_data.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventEncoderConnectedEventData(Model): - """Encoder connect event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar ingest_url: Gets the ingest URL provided by the live event. - :vartype ingest_url: str - :ivar stream_id: Gets the stream Id. - :vartype stream_id: str - :ivar encoder_ip: Gets the remote IP. - :vartype encoder_ip: str - :ivar encoder_port: Gets the remote port. - :vartype encoder_port: str - """ - - _validation = { - 'ingest_url': {'readonly': True}, - 'stream_id': {'readonly': True}, - 'encoder_ip': {'readonly': True}, - 'encoder_port': {'readonly': True}, - } - - _attribute_map = { - 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, - 'stream_id': {'key': 'streamId', 'type': 'str'}, - 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, - 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventEncoderConnectedEventData, self).__init__(**kwargs) - self.ingest_url = None - self.stream_id = None - self.encoder_ip = None - self.encoder_port = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_connected_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_connected_event_data_py3.py deleted file mode 100644 index 64d9148ba712..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_connected_event_data_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventEncoderConnectedEventData(Model): - """Encoder connect event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar ingest_url: Gets the ingest URL provided by the live event. - :vartype ingest_url: str - :ivar stream_id: Gets the stream Id. - :vartype stream_id: str - :ivar encoder_ip: Gets the remote IP. - :vartype encoder_ip: str - :ivar encoder_port: Gets the remote port. - :vartype encoder_port: str - """ - - _validation = { - 'ingest_url': {'readonly': True}, - 'stream_id': {'readonly': True}, - 'encoder_ip': {'readonly': True}, - 'encoder_port': {'readonly': True}, - } - - _attribute_map = { - 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, - 'stream_id': {'key': 'streamId', 'type': 'str'}, - 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, - 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventEncoderConnectedEventData, self).__init__(**kwargs) - self.ingest_url = None - self.stream_id = None - self.encoder_ip = None - self.encoder_port = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_disconnected_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_disconnected_event_data.py deleted file mode 100644 index 8fd787e6ebfa..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_disconnected_event_data.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventEncoderDisconnectedEventData(Model): - """Encoder disconnected event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar ingest_url: Gets the ingest URL provided by the live event. - :vartype ingest_url: str - :ivar stream_id: Gets the stream Id. - :vartype stream_id: str - :ivar encoder_ip: Gets the remote IP. - :vartype encoder_ip: str - :ivar encoder_port: Gets the remote port. - :vartype encoder_port: str - :ivar result_code: Gets the result code. - :vartype result_code: str - """ - - _validation = { - 'ingest_url': {'readonly': True}, - 'stream_id': {'readonly': True}, - 'encoder_ip': {'readonly': True}, - 'encoder_port': {'readonly': True}, - 'result_code': {'readonly': True}, - } - - _attribute_map = { - 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, - 'stream_id': {'key': 'streamId', 'type': 'str'}, - 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, - 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, - 'result_code': {'key': 'resultCode', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventEncoderDisconnectedEventData, self).__init__(**kwargs) - self.ingest_url = None - self.stream_id = None - self.encoder_ip = None - self.encoder_port = None - self.result_code = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_disconnected_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_disconnected_event_data_py3.py deleted file mode 100644 index 14df222bddac..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_encoder_disconnected_event_data_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventEncoderDisconnectedEventData(Model): - """Encoder disconnected event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar ingest_url: Gets the ingest URL provided by the live event. - :vartype ingest_url: str - :ivar stream_id: Gets the stream Id. - :vartype stream_id: str - :ivar encoder_ip: Gets the remote IP. - :vartype encoder_ip: str - :ivar encoder_port: Gets the remote port. - :vartype encoder_port: str - :ivar result_code: Gets the result code. - :vartype result_code: str - """ - - _validation = { - 'ingest_url': {'readonly': True}, - 'stream_id': {'readonly': True}, - 'encoder_ip': {'readonly': True}, - 'encoder_port': {'readonly': True}, - 'result_code': {'readonly': True}, - } - - _attribute_map = { - 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, - 'stream_id': {'key': 'streamId', 'type': 'str'}, - 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, - 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, - 'result_code': {'key': 'resultCode', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventEncoderDisconnectedEventData, self).__init__(**kwargs) - self.ingest_url = None - self.stream_id = None - self.encoder_ip = None - self.encoder_port = None - self.result_code = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_data_chunk_dropped_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_data_chunk_dropped_event_data.py deleted file mode 100644 index 6210002346cd..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_data_chunk_dropped_event_data.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIncomingDataChunkDroppedEventData(Model): - """Ingest fragment dropped event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar timestamp: Gets the timestamp of the data chunk dropped. - :vartype timestamp: str - :ivar track_type: Gets the type of the track (Audio / Video). - :vartype track_type: str - :ivar bitrate: Gets the bitrate of the track. - :vartype bitrate: long - :ivar timescale: Gets the timescale of the Timestamp. - :vartype timescale: str - :ivar result_code: Gets the result code for fragment drop operation. - :vartype result_code: str - :ivar track_name: Gets the name of the track for which fragment is - dropped. - :vartype track_name: str - """ - - _validation = { - 'timestamp': {'readonly': True}, - 'track_type': {'readonly': True}, - 'bitrate': {'readonly': True}, - 'timescale': {'readonly': True}, - 'result_code': {'readonly': True}, - 'track_name': {'readonly': True}, - } - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'str'}, - 'track_type': {'key': 'trackType', 'type': 'str'}, - 'bitrate': {'key': 'bitrate', 'type': 'long'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - 'result_code': {'key': 'resultCode', 'type': 'str'}, - 'track_name': {'key': 'trackName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventIncomingDataChunkDroppedEventData, self).__init__(**kwargs) - self.timestamp = None - self.track_type = None - self.bitrate = None - self.timescale = None - self.result_code = None - self.track_name = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_data_chunk_dropped_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_data_chunk_dropped_event_data_py3.py deleted file mode 100644 index 00fed549af42..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_data_chunk_dropped_event_data_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIncomingDataChunkDroppedEventData(Model): - """Ingest fragment dropped event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar timestamp: Gets the timestamp of the data chunk dropped. - :vartype timestamp: str - :ivar track_type: Gets the type of the track (Audio / Video). - :vartype track_type: str - :ivar bitrate: Gets the bitrate of the track. - :vartype bitrate: long - :ivar timescale: Gets the timescale of the Timestamp. - :vartype timescale: str - :ivar result_code: Gets the result code for fragment drop operation. - :vartype result_code: str - :ivar track_name: Gets the name of the track for which fragment is - dropped. - :vartype track_name: str - """ - - _validation = { - 'timestamp': {'readonly': True}, - 'track_type': {'readonly': True}, - 'bitrate': {'readonly': True}, - 'timescale': {'readonly': True}, - 'result_code': {'readonly': True}, - 'track_name': {'readonly': True}, - } - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'str'}, - 'track_type': {'key': 'trackType', 'type': 'str'}, - 'bitrate': {'key': 'bitrate', 'type': 'long'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - 'result_code': {'key': 'resultCode', 'type': 'str'}, - 'track_name': {'key': 'trackName', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventIncomingDataChunkDroppedEventData, self).__init__(**kwargs) - self.timestamp = None - self.track_type = None - self.bitrate = None - self.timescale = None - self.result_code = None - self.track_name = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_stream_received_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_stream_received_event_data.py deleted file mode 100644 index 756218ad5856..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_stream_received_event_data.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIncomingStreamReceivedEventData(Model): - """Encoder connect event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar ingest_url: Gets the ingest URL provided by the live event. - :vartype ingest_url: str - :ivar track_type: Gets the type of the track (Audio / Video). - :vartype track_type: str - :ivar track_name: Gets the track name. - :vartype track_name: str - :ivar bitrate: Gets the bitrate of the track. - :vartype bitrate: long - :ivar encoder_ip: Gets the remote IP. - :vartype encoder_ip: str - :ivar encoder_port: Gets the remote port. - :vartype encoder_port: str - :ivar timestamp: Gets the first timestamp of the data chunk received. - :vartype timestamp: str - :ivar duration: Gets the duration of the first data chunk. - :vartype duration: str - :ivar timescale: Gets the timescale in which timestamp is represented. - :vartype timescale: str - """ - - _validation = { - 'ingest_url': {'readonly': True}, - 'track_type': {'readonly': True}, - 'track_name': {'readonly': True}, - 'bitrate': {'readonly': True}, - 'encoder_ip': {'readonly': True}, - 'encoder_port': {'readonly': True}, - 'timestamp': {'readonly': True}, - 'duration': {'readonly': True}, - 'timescale': {'readonly': True}, - } - - _attribute_map = { - 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, - 'track_type': {'key': 'trackType', 'type': 'str'}, - 'track_name': {'key': 'trackName', 'type': 'str'}, - 'bitrate': {'key': 'bitrate', 'type': 'long'}, - 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, - 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'str'}, - 'duration': {'key': 'duration', 'type': 'str'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventIncomingStreamReceivedEventData, self).__init__(**kwargs) - self.ingest_url = None - self.track_type = None - self.track_name = None - self.bitrate = None - self.encoder_ip = None - self.encoder_port = None - self.timestamp = None - self.duration = None - self.timescale = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_stream_received_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_stream_received_event_data_py3.py deleted file mode 100644 index 928dfc666158..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_stream_received_event_data_py3.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIncomingStreamReceivedEventData(Model): - """Encoder connect event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar ingest_url: Gets the ingest URL provided by the live event. - :vartype ingest_url: str - :ivar track_type: Gets the type of the track (Audio / Video). - :vartype track_type: str - :ivar track_name: Gets the track name. - :vartype track_name: str - :ivar bitrate: Gets the bitrate of the track. - :vartype bitrate: long - :ivar encoder_ip: Gets the remote IP. - :vartype encoder_ip: str - :ivar encoder_port: Gets the remote port. - :vartype encoder_port: str - :ivar timestamp: Gets the first timestamp of the data chunk received. - :vartype timestamp: str - :ivar duration: Gets the duration of the first data chunk. - :vartype duration: str - :ivar timescale: Gets the timescale in which timestamp is represented. - :vartype timescale: str - """ - - _validation = { - 'ingest_url': {'readonly': True}, - 'track_type': {'readonly': True}, - 'track_name': {'readonly': True}, - 'bitrate': {'readonly': True}, - 'encoder_ip': {'readonly': True}, - 'encoder_port': {'readonly': True}, - 'timestamp': {'readonly': True}, - 'duration': {'readonly': True}, - 'timescale': {'readonly': True}, - } - - _attribute_map = { - 'ingest_url': {'key': 'ingestUrl', 'type': 'str'}, - 'track_type': {'key': 'trackType', 'type': 'str'}, - 'track_name': {'key': 'trackName', 'type': 'str'}, - 'bitrate': {'key': 'bitrate', 'type': 'long'}, - 'encoder_ip': {'key': 'encoderIp', 'type': 'str'}, - 'encoder_port': {'key': 'encoderPort', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'str'}, - 'duration': {'key': 'duration', 'type': 'str'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventIncomingStreamReceivedEventData, self).__init__(**kwargs) - self.ingest_url = None - self.track_type = None - self.track_name = None - self.bitrate = None - self.encoder_ip = None - self.encoder_port = None - self.timestamp = None - self.duration = None - self.timescale = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_streams_out_of_sync_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_streams_out_of_sync_event_data.py deleted file mode 100644 index c0fef1d78f95..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_streams_out_of_sync_event_data.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIncomingStreamsOutOfSyncEventData(Model): - """Incoming streams out of sync event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar min_last_timestamp: Gets the minimum last timestamp received. - :vartype min_last_timestamp: str - :ivar type_of_stream_with_min_last_timestamp: Gets the type of stream with - minimum last timestamp. - :vartype type_of_stream_with_min_last_timestamp: str - :ivar max_last_timestamp: Gets the maximum timestamp among all the tracks - (audio or video). - :vartype max_last_timestamp: str - :ivar type_of_stream_with_max_last_timestamp: Gets the type of stream with - maximum last timestamp. - :vartype type_of_stream_with_max_last_timestamp: str - :ivar timescale_of_min_last_timestamp: Gets the timescale in which - "MinLastTimestamp" is represented. - :vartype timescale_of_min_last_timestamp: str - :ivar timescale_of_max_last_timestamp: Gets the timescale in which - "MaxLastTimestamp" is represented. - :vartype timescale_of_max_last_timestamp: str - """ - - _validation = { - 'min_last_timestamp': {'readonly': True}, - 'type_of_stream_with_min_last_timestamp': {'readonly': True}, - 'max_last_timestamp': {'readonly': True}, - 'type_of_stream_with_max_last_timestamp': {'readonly': True}, - 'timescale_of_min_last_timestamp': {'readonly': True}, - 'timescale_of_max_last_timestamp': {'readonly': True}, - } - - _attribute_map = { - 'min_last_timestamp': {'key': 'minLastTimestamp', 'type': 'str'}, - 'type_of_stream_with_min_last_timestamp': {'key': 'typeOfStreamWithMinLastTimestamp', 'type': 'str'}, - 'max_last_timestamp': {'key': 'maxLastTimestamp', 'type': 'str'}, - 'type_of_stream_with_max_last_timestamp': {'key': 'typeOfStreamWithMaxLastTimestamp', 'type': 'str'}, - 'timescale_of_min_last_timestamp': {'key': 'timescaleOfMinLastTimestamp', 'type': 'str'}, - 'timescale_of_max_last_timestamp': {'key': 'timescaleOfMaxLastTimestamp', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventIncomingStreamsOutOfSyncEventData, self).__init__(**kwargs) - self.min_last_timestamp = None - self.type_of_stream_with_min_last_timestamp = None - self.max_last_timestamp = None - self.type_of_stream_with_max_last_timestamp = None - self.timescale_of_min_last_timestamp = None - self.timescale_of_max_last_timestamp = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_streams_out_of_sync_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_streams_out_of_sync_event_data_py3.py deleted file mode 100644 index 0d1a4789aa37..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_streams_out_of_sync_event_data_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIncomingStreamsOutOfSyncEventData(Model): - """Incoming streams out of sync event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar min_last_timestamp: Gets the minimum last timestamp received. - :vartype min_last_timestamp: str - :ivar type_of_stream_with_min_last_timestamp: Gets the type of stream with - minimum last timestamp. - :vartype type_of_stream_with_min_last_timestamp: str - :ivar max_last_timestamp: Gets the maximum timestamp among all the tracks - (audio or video). - :vartype max_last_timestamp: str - :ivar type_of_stream_with_max_last_timestamp: Gets the type of stream with - maximum last timestamp. - :vartype type_of_stream_with_max_last_timestamp: str - :ivar timescale_of_min_last_timestamp: Gets the timescale in which - "MinLastTimestamp" is represented. - :vartype timescale_of_min_last_timestamp: str - :ivar timescale_of_max_last_timestamp: Gets the timescale in which - "MaxLastTimestamp" is represented. - :vartype timescale_of_max_last_timestamp: str - """ - - _validation = { - 'min_last_timestamp': {'readonly': True}, - 'type_of_stream_with_min_last_timestamp': {'readonly': True}, - 'max_last_timestamp': {'readonly': True}, - 'type_of_stream_with_max_last_timestamp': {'readonly': True}, - 'timescale_of_min_last_timestamp': {'readonly': True}, - 'timescale_of_max_last_timestamp': {'readonly': True}, - } - - _attribute_map = { - 'min_last_timestamp': {'key': 'minLastTimestamp', 'type': 'str'}, - 'type_of_stream_with_min_last_timestamp': {'key': 'typeOfStreamWithMinLastTimestamp', 'type': 'str'}, - 'max_last_timestamp': {'key': 'maxLastTimestamp', 'type': 'str'}, - 'type_of_stream_with_max_last_timestamp': {'key': 'typeOfStreamWithMaxLastTimestamp', 'type': 'str'}, - 'timescale_of_min_last_timestamp': {'key': 'timescaleOfMinLastTimestamp', 'type': 'str'}, - 'timescale_of_max_last_timestamp': {'key': 'timescaleOfMaxLastTimestamp', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventIncomingStreamsOutOfSyncEventData, self).__init__(**kwargs) - self.min_last_timestamp = None - self.type_of_stream_with_min_last_timestamp = None - self.max_last_timestamp = None - self.type_of_stream_with_max_last_timestamp = None - self.timescale_of_min_last_timestamp = None - self.timescale_of_max_last_timestamp = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_video_streams_out_of_sync_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_video_streams_out_of_sync_event_data.py deleted file mode 100644 index e29df8e47d3f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_video_streams_out_of_sync_event_data.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIncomingVideoStreamsOutOfSyncEventData(Model): - """Incoming video stream out of synch event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar first_timestamp: Gets the first timestamp received for one of the - quality levels. - :vartype first_timestamp: str - :ivar first_duration: Gets the duration of the data chunk with first - timestamp. - :vartype first_duration: str - :ivar second_timestamp: Gets the timestamp received for some other quality - levels. - :vartype second_timestamp: str - :ivar second_duration: Gets the duration of the data chunk with second - timestamp. - :vartype second_duration: str - :ivar timescale: Gets the timescale in which both the timestamps and - durations are represented. - :vartype timescale: str - """ - - _validation = { - 'first_timestamp': {'readonly': True}, - 'first_duration': {'readonly': True}, - 'second_timestamp': {'readonly': True}, - 'second_duration': {'readonly': True}, - 'timescale': {'readonly': True}, - } - - _attribute_map = { - 'first_timestamp': {'key': 'firstTimestamp', 'type': 'str'}, - 'first_duration': {'key': 'firstDuration', 'type': 'str'}, - 'second_timestamp': {'key': 'secondTimestamp', 'type': 'str'}, - 'second_duration': {'key': 'secondDuration', 'type': 'str'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventIncomingVideoStreamsOutOfSyncEventData, self).__init__(**kwargs) - self.first_timestamp = None - self.first_duration = None - self.second_timestamp = None - self.second_duration = None - self.timescale = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_video_streams_out_of_sync_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_video_streams_out_of_sync_event_data_py3.py deleted file mode 100644 index f0963a0d6ec2..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_incoming_video_streams_out_of_sync_event_data_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIncomingVideoStreamsOutOfSyncEventData(Model): - """Incoming video stream out of synch event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar first_timestamp: Gets the first timestamp received for one of the - quality levels. - :vartype first_timestamp: str - :ivar first_duration: Gets the duration of the data chunk with first - timestamp. - :vartype first_duration: str - :ivar second_timestamp: Gets the timestamp received for some other quality - levels. - :vartype second_timestamp: str - :ivar second_duration: Gets the duration of the data chunk with second - timestamp. - :vartype second_duration: str - :ivar timescale: Gets the timescale in which both the timestamps and - durations are represented. - :vartype timescale: str - """ - - _validation = { - 'first_timestamp': {'readonly': True}, - 'first_duration': {'readonly': True}, - 'second_timestamp': {'readonly': True}, - 'second_duration': {'readonly': True}, - 'timescale': {'readonly': True}, - } - - _attribute_map = { - 'first_timestamp': {'key': 'firstTimestamp', 'type': 'str'}, - 'first_duration': {'key': 'firstDuration', 'type': 'str'}, - 'second_timestamp': {'key': 'secondTimestamp', 'type': 'str'}, - 'second_duration': {'key': 'secondDuration', 'type': 'str'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventIncomingVideoStreamsOutOfSyncEventData, self).__init__(**kwargs) - self.first_timestamp = None - self.first_duration = None - self.second_timestamp = None - self.second_duration = None - self.timescale = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_ingest_heartbeat_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_ingest_heartbeat_event_data.py deleted file mode 100644 index 67928e5bd938..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_ingest_heartbeat_event_data.py +++ /dev/null @@ -1,91 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIngestHeartbeatEventData(Model): - """Ingest fragment dropped event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar track_type: Gets the type of the track (Audio / Video). - :vartype track_type: str - :ivar track_name: Gets the track name. - :vartype track_name: str - :ivar bitrate: Gets the bitrate of the track. - :vartype bitrate: long - :ivar incoming_bitrate: Gets the incoming bitrate. - :vartype incoming_bitrate: long - :ivar last_timestamp: Gets the last timestamp. - :vartype last_timestamp: str - :ivar timescale: Gets the timescale of the last timestamp. - :vartype timescale: str - :ivar overlap_count: Gets the fragment Overlap count. - :vartype overlap_count: long - :ivar discontinuity_count: Gets the fragment Discontinuity count. - :vartype discontinuity_count: long - :ivar nonincreasing_count: Gets Non increasing count. - :vartype nonincreasing_count: long - :ivar unexpected_bitrate: Gets a value indicating whether unexpected - bitrate is present or not. - :vartype unexpected_bitrate: bool - :ivar state: Gets the state of the live event. - :vartype state: str - :ivar healthy: Gets a value indicating whether preview is healthy or not. - :vartype healthy: bool - """ - - _validation = { - 'track_type': {'readonly': True}, - 'track_name': {'readonly': True}, - 'bitrate': {'readonly': True}, - 'incoming_bitrate': {'readonly': True}, - 'last_timestamp': {'readonly': True}, - 'timescale': {'readonly': True}, - 'overlap_count': {'readonly': True}, - 'discontinuity_count': {'readonly': True}, - 'nonincreasing_count': {'readonly': True}, - 'unexpected_bitrate': {'readonly': True}, - 'state': {'readonly': True}, - 'healthy': {'readonly': True}, - } - - _attribute_map = { - 'track_type': {'key': 'trackType', 'type': 'str'}, - 'track_name': {'key': 'trackName', 'type': 'str'}, - 'bitrate': {'key': 'bitrate', 'type': 'long'}, - 'incoming_bitrate': {'key': 'incomingBitrate', 'type': 'long'}, - 'last_timestamp': {'key': 'lastTimestamp', 'type': 'str'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - 'overlap_count': {'key': 'overlapCount', 'type': 'long'}, - 'discontinuity_count': {'key': 'discontinuityCount', 'type': 'long'}, - 'nonincreasing_count': {'key': 'nonincreasingCount', 'type': 'long'}, - 'unexpected_bitrate': {'key': 'unexpectedBitrate', 'type': 'bool'}, - 'state': {'key': 'state', 'type': 'str'}, - 'healthy': {'key': 'healthy', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventIngestHeartbeatEventData, self).__init__(**kwargs) - self.track_type = None - self.track_name = None - self.bitrate = None - self.incoming_bitrate = None - self.last_timestamp = None - self.timescale = None - self.overlap_count = None - self.discontinuity_count = None - self.nonincreasing_count = None - self.unexpected_bitrate = None - self.state = None - self.healthy = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_ingest_heartbeat_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_ingest_heartbeat_event_data_py3.py deleted file mode 100644 index 6f9447c3a23e..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_ingest_heartbeat_event_data_py3.py +++ /dev/null @@ -1,91 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventIngestHeartbeatEventData(Model): - """Ingest fragment dropped event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar track_type: Gets the type of the track (Audio / Video). - :vartype track_type: str - :ivar track_name: Gets the track name. - :vartype track_name: str - :ivar bitrate: Gets the bitrate of the track. - :vartype bitrate: long - :ivar incoming_bitrate: Gets the incoming bitrate. - :vartype incoming_bitrate: long - :ivar last_timestamp: Gets the last timestamp. - :vartype last_timestamp: str - :ivar timescale: Gets the timescale of the last timestamp. - :vartype timescale: str - :ivar overlap_count: Gets the fragment Overlap count. - :vartype overlap_count: long - :ivar discontinuity_count: Gets the fragment Discontinuity count. - :vartype discontinuity_count: long - :ivar nonincreasing_count: Gets Non increasing count. - :vartype nonincreasing_count: long - :ivar unexpected_bitrate: Gets a value indicating whether unexpected - bitrate is present or not. - :vartype unexpected_bitrate: bool - :ivar state: Gets the state of the live event. - :vartype state: str - :ivar healthy: Gets a value indicating whether preview is healthy or not. - :vartype healthy: bool - """ - - _validation = { - 'track_type': {'readonly': True}, - 'track_name': {'readonly': True}, - 'bitrate': {'readonly': True}, - 'incoming_bitrate': {'readonly': True}, - 'last_timestamp': {'readonly': True}, - 'timescale': {'readonly': True}, - 'overlap_count': {'readonly': True}, - 'discontinuity_count': {'readonly': True}, - 'nonincreasing_count': {'readonly': True}, - 'unexpected_bitrate': {'readonly': True}, - 'state': {'readonly': True}, - 'healthy': {'readonly': True}, - } - - _attribute_map = { - 'track_type': {'key': 'trackType', 'type': 'str'}, - 'track_name': {'key': 'trackName', 'type': 'str'}, - 'bitrate': {'key': 'bitrate', 'type': 'long'}, - 'incoming_bitrate': {'key': 'incomingBitrate', 'type': 'long'}, - 'last_timestamp': {'key': 'lastTimestamp', 'type': 'str'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - 'overlap_count': {'key': 'overlapCount', 'type': 'long'}, - 'discontinuity_count': {'key': 'discontinuityCount', 'type': 'long'}, - 'nonincreasing_count': {'key': 'nonincreasingCount', 'type': 'long'}, - 'unexpected_bitrate': {'key': 'unexpectedBitrate', 'type': 'bool'}, - 'state': {'key': 'state', 'type': 'str'}, - 'healthy': {'key': 'healthy', 'type': 'bool'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventIngestHeartbeatEventData, self).__init__(**kwargs) - self.track_type = None - self.track_name = None - self.bitrate = None - self.incoming_bitrate = None - self.last_timestamp = None - self.timescale = None - self.overlap_count = None - self.discontinuity_count = None - self.nonincreasing_count = None - self.unexpected_bitrate = None - self.state = None - self.healthy = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_track_discontinuity_detected_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_track_discontinuity_detected_event_data.py deleted file mode 100644 index d60c04d8f294..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_track_discontinuity_detected_event_data.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventTrackDiscontinuityDetectedEventData(Model): - """Ingest track discontinuity detected event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar track_type: Gets the type of the track (Audio / Video). - :vartype track_type: str - :ivar track_name: Gets the track name. - :vartype track_name: str - :ivar bitrate: Gets the bitrate. - :vartype bitrate: long - :ivar previous_timestamp: Gets the timestamp of the previous fragment. - :vartype previous_timestamp: str - :ivar new_timestamp: Gets the timestamp of the current fragment. - :vartype new_timestamp: str - :ivar timescale: Gets the timescale in which both timestamps and - discontinuity gap are represented. - :vartype timescale: str - :ivar discontinuity_gap: Gets the discontinuity gap between - PreviousTimestamp and NewTimestamp. - :vartype discontinuity_gap: str - """ - - _validation = { - 'track_type': {'readonly': True}, - 'track_name': {'readonly': True}, - 'bitrate': {'readonly': True}, - 'previous_timestamp': {'readonly': True}, - 'new_timestamp': {'readonly': True}, - 'timescale': {'readonly': True}, - 'discontinuity_gap': {'readonly': True}, - } - - _attribute_map = { - 'track_type': {'key': 'trackType', 'type': 'str'}, - 'track_name': {'key': 'trackName', 'type': 'str'}, - 'bitrate': {'key': 'bitrate', 'type': 'long'}, - 'previous_timestamp': {'key': 'previousTimestamp', 'type': 'str'}, - 'new_timestamp': {'key': 'newTimestamp', 'type': 'str'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - 'discontinuity_gap': {'key': 'discontinuityGap', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MediaLiveEventTrackDiscontinuityDetectedEventData, self).__init__(**kwargs) - self.track_type = None - self.track_name = None - self.bitrate = None - self.previous_timestamp = None - self.new_timestamp = None - self.timescale = None - self.discontinuity_gap = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_track_discontinuity_detected_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_track_discontinuity_detected_event_data_py3.py deleted file mode 100644 index 872d6094d5ce..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/media_live_event_track_discontinuity_detected_event_data_py3.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MediaLiveEventTrackDiscontinuityDetectedEventData(Model): - """Ingest track discontinuity detected event data. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar track_type: Gets the type of the track (Audio / Video). - :vartype track_type: str - :ivar track_name: Gets the track name. - :vartype track_name: str - :ivar bitrate: Gets the bitrate. - :vartype bitrate: long - :ivar previous_timestamp: Gets the timestamp of the previous fragment. - :vartype previous_timestamp: str - :ivar new_timestamp: Gets the timestamp of the current fragment. - :vartype new_timestamp: str - :ivar timescale: Gets the timescale in which both timestamps and - discontinuity gap are represented. - :vartype timescale: str - :ivar discontinuity_gap: Gets the discontinuity gap between - PreviousTimestamp and NewTimestamp. - :vartype discontinuity_gap: str - """ - - _validation = { - 'track_type': {'readonly': True}, - 'track_name': {'readonly': True}, - 'bitrate': {'readonly': True}, - 'previous_timestamp': {'readonly': True}, - 'new_timestamp': {'readonly': True}, - 'timescale': {'readonly': True}, - 'discontinuity_gap': {'readonly': True}, - } - - _attribute_map = { - 'track_type': {'key': 'trackType', 'type': 'str'}, - 'track_name': {'key': 'trackName', 'type': 'str'}, - 'bitrate': {'key': 'bitrate', 'type': 'long'}, - 'previous_timestamp': {'key': 'previousTimestamp', 'type': 'str'}, - 'new_timestamp': {'key': 'newTimestamp', 'type': 'str'}, - 'timescale': {'key': 'timescale', 'type': 'str'}, - 'discontinuity_gap': {'key': 'discontinuityGap', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MediaLiveEventTrackDiscontinuityDetectedEventData, self).__init__(**kwargs) - self.track_type = None - self.track_name = None - self.bitrate = None - self.previous_timestamp = None - self.new_timestamp = None - self.timescale = None - self.discontinuity_gap = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_cancel_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_cancel_data.py deleted file mode 100644 index 3a01e07bbf84..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_cancel_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceActionCancelData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.Resources.ResourceActionCancel event. This is raised when a - resource action operation is canceled. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceActionCancelData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_cancel_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_cancel_data_py3.py deleted file mode 100644 index 7999e471f542..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_cancel_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceActionCancelData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.Resources.ResourceActionCancel event. This is raised when a - resource action operation is canceled. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceActionCancelData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_failure_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_failure_data.py deleted file mode 100644 index bb3225665c81..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_failure_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceActionFailureData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceActionFailure event. This is raised when a - resource action operation fails. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceActionFailureData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_failure_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_failure_data_py3.py deleted file mode 100644 index 2c356d0b0340..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_failure_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceActionFailureData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceActionFailure event. This is raised when a - resource action operation fails. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceActionFailureData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_success_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_success_data.py deleted file mode 100644 index 559817f997ca..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_success_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceActionSuccessData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceActionSuccess event. This is raised when a - resource action operation succeeds. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceActionSuccessData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_success_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_success_data_py3.py deleted file mode 100644 index 59e9f32f46fc..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_action_success_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceActionSuccessData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceActionSuccess event. This is raised when a - resource action operation succeeds. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceActionSuccessData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_cancel_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_cancel_data.py deleted file mode 100644 index fe44a24f3482..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_cancel_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceDeleteCancelData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.Resources.ResourceDeleteCancel event. This is raised when a - resource delete operation is canceled. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceDeleteCancelData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_cancel_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_cancel_data_py3.py deleted file mode 100644 index d160235c5335..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_cancel_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceDeleteCancelData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.Resources.ResourceDeleteCancel event. This is raised when a - resource delete operation is canceled. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceDeleteCancelData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_failure_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_failure_data.py deleted file mode 100644 index 1354bd7943fa..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_failure_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceDeleteFailureData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceDeleteFailure event. This is raised when a - resource delete operation fails. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceDeleteFailureData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_failure_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_failure_data_py3.py deleted file mode 100644 index 29524ca382b8..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_failure_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceDeleteFailureData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceDeleteFailure event. This is raised when a - resource delete operation fails. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceDeleteFailureData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_success_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_success_data.py deleted file mode 100644 index a8a114e554c6..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_success_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceDeleteSuccessData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceDeleteSuccess event. This is raised when a - resource delete operation succeeds. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceDeleteSuccessData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_success_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_success_data_py3.py deleted file mode 100644 index 6775b5666aa0..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_delete_success_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceDeleteSuccessData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceDeleteSuccess event. This is raised when a - resource delete operation succeeds. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceDeleteSuccessData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_cancel_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_cancel_data.py deleted file mode 100644 index 7e1b1e14e351..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_cancel_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceWriteCancelData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceWriteCancel event. This is raised when a - resource create or update operation is canceled. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceWriteCancelData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_cancel_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_cancel_data_py3.py deleted file mode 100644 index c2ab521c0495..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_cancel_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceWriteCancelData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceWriteCancel event. This is raised when a - resource create or update operation is canceled. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceWriteCancelData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_failure_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_failure_data.py deleted file mode 100644 index d36108de8d30..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_failure_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceWriteFailureData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceWriteFailure event. This is raised when a - resource create or update operation fails. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceWriteFailureData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_failure_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_failure_data_py3.py deleted file mode 100644 index ab45309bd180..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_failure_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceWriteFailureData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceWriteFailure event. This is raised when a - resource create or update operation fails. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceWriteFailureData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_success_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_success_data.py deleted file mode 100644 index a38370581387..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_success_data.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceWriteSuccessData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceWriteSuccess event. This is raised when a - resource create or update operation succeeds. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceWriteSuccessData, self).__init__(**kwargs) - self.tenant_id = kwargs.get('tenant_id', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.resource_group = kwargs.get('resource_group', None) - self.resource_provider = kwargs.get('resource_provider', None) - self.resource_uri = kwargs.get('resource_uri', None) - self.operation_name = kwargs.get('operation_name', None) - self.status = kwargs.get('status', None) - self.authorization = kwargs.get('authorization', None) - self.claims = kwargs.get('claims', None) - self.correlation_id = kwargs.get('correlation_id', None) - self.http_request = kwargs.get('http_request', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_success_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_success_data_py3.py deleted file mode 100644 index 0aed7ef74931..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/resource_write_success_data_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceWriteSuccessData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.Resources.ResourceWriteSuccess event. This is raised when a - resource create or update operation succeeds. - - :param tenant_id: The tenant ID of the resource. - :type tenant_id: str - :param subscription_id: The subscription ID of the resource. - :type subscription_id: str - :param resource_group: The resource group of the resource. - :type resource_group: str - :param resource_provider: The resource provider performing the operation. - :type resource_provider: str - :param resource_uri: The URI of the resource in the operation. - :type resource_uri: str - :param operation_name: The operation that was performed. - :type operation_name: str - :param status: The status of the operation. - :type status: str - :param authorization: The requested authorization for the operation. - :type authorization: str - :param claims: The properties of the claims. - :type claims: str - :param correlation_id: An operation ID used for troubleshooting. - :type correlation_id: str - :param http_request: The details of the operation. - :type http_request: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'resource_provider': {'key': 'resourceProvider', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'operation_name': {'key': 'operationName', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'authorization': {'key': 'authorization', 'type': 'str'}, - 'claims': {'key': 'claims', 'type': 'str'}, - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'http_request': {'key': 'httpRequest', 'type': 'str'}, - } - - def __init__(self, *, tenant_id: str=None, subscription_id: str=None, resource_group: str=None, resource_provider: str=None, resource_uri: str=None, operation_name: str=None, status: str=None, authorization: str=None, claims: str=None, correlation_id: str=None, http_request: str=None, **kwargs) -> None: - super(ResourceWriteSuccessData, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.subscription_id = subscription_id - self.resource_group = resource_group - self.resource_provider = resource_provider - self.resource_uri = resource_uri - self.operation_name = operation_name - self.status = status - self.authorization = authorization - self.claims = claims - self.correlation_id = correlation_id - self.http_request = http_request diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_active_messages_available_with_no_listeners_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_active_messages_available_with_no_listeners_event_data.py deleted file mode 100644 index c409c8396a05..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_active_messages_available_with_no_listeners_event_data.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServiceBusActiveMessagesAvailableWithNoListenersEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners event. - - :param namespace_name: The namespace name of the Microsoft.ServiceBus - resource. - :type namespace_name: str - :param request_uri: The endpoint of the Microsoft.ServiceBus resource. - :type request_uri: str - :param entity_type: The entity type of the Microsoft.ServiceBus resource. - Could be one of 'queue' or 'subscriber'. - :type entity_type: str - :param queue_name: The name of the Microsoft.ServiceBus queue. If the - entity type is of type 'subscriber', then this value will be null. - :type queue_name: str - :param topic_name: The name of the Microsoft.ServiceBus topic. If the - entity type is of type 'queue', then this value will be null. - :type topic_name: str - :param subscription_name: The name of the Microsoft.ServiceBus topic's - subscription. If the entity type is of type 'queue', then this value will - be null. - :type subscription_name: str - """ - - _attribute_map = { - 'namespace_name': {'key': 'namespaceName', 'type': 'str'}, - 'request_uri': {'key': 'requestUri', 'type': 'str'}, - 'entity_type': {'key': 'entityType', 'type': 'str'}, - 'queue_name': {'key': 'queueName', 'type': 'str'}, - 'topic_name': {'key': 'topicName', 'type': 'str'}, - 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceBusActiveMessagesAvailableWithNoListenersEventData, self).__init__(**kwargs) - self.namespace_name = kwargs.get('namespace_name', None) - self.request_uri = kwargs.get('request_uri', None) - self.entity_type = kwargs.get('entity_type', None) - self.queue_name = kwargs.get('queue_name', None) - self.topic_name = kwargs.get('topic_name', None) - self.subscription_name = kwargs.get('subscription_name', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_active_messages_available_with_no_listeners_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_active_messages_available_with_no_listeners_event_data_py3.py deleted file mode 100644 index 35a4108ae4d9..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_active_messages_available_with_no_listeners_event_data_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServiceBusActiveMessagesAvailableWithNoListenersEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners event. - - :param namespace_name: The namespace name of the Microsoft.ServiceBus - resource. - :type namespace_name: str - :param request_uri: The endpoint of the Microsoft.ServiceBus resource. - :type request_uri: str - :param entity_type: The entity type of the Microsoft.ServiceBus resource. - Could be one of 'queue' or 'subscriber'. - :type entity_type: str - :param queue_name: The name of the Microsoft.ServiceBus queue. If the - entity type is of type 'subscriber', then this value will be null. - :type queue_name: str - :param topic_name: The name of the Microsoft.ServiceBus topic. If the - entity type is of type 'queue', then this value will be null. - :type topic_name: str - :param subscription_name: The name of the Microsoft.ServiceBus topic's - subscription. If the entity type is of type 'queue', then this value will - be null. - :type subscription_name: str - """ - - _attribute_map = { - 'namespace_name': {'key': 'namespaceName', 'type': 'str'}, - 'request_uri': {'key': 'requestUri', 'type': 'str'}, - 'entity_type': {'key': 'entityType', 'type': 'str'}, - 'queue_name': {'key': 'queueName', 'type': 'str'}, - 'topic_name': {'key': 'topicName', 'type': 'str'}, - 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, - } - - def __init__(self, *, namespace_name: str=None, request_uri: str=None, entity_type: str=None, queue_name: str=None, topic_name: str=None, subscription_name: str=None, **kwargs) -> None: - super(ServiceBusActiveMessagesAvailableWithNoListenersEventData, self).__init__(**kwargs) - self.namespace_name = namespace_name - self.request_uri = request_uri - self.entity_type = entity_type - self.queue_name = queue_name - self.topic_name = topic_name - self.subscription_name = subscription_name diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_deadletter_messages_available_with_no_listeners_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_deadletter_messages_available_with_no_listeners_event_data.py deleted file mode 100644 index 60310de45628..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_deadletter_messages_available_with_no_listeners_event_data.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServiceBusDeadletterMessagesAvailableWithNoListenersEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListenersEvent event. - - :param namespace_name: The namespace name of the Microsoft.ServiceBus - resource. - :type namespace_name: str - :param request_uri: The endpoint of the Microsoft.ServiceBus resource. - :type request_uri: str - :param entity_type: The entity type of the Microsoft.ServiceBus resource. - Could be one of 'queue' or 'subscriber'. - :type entity_type: str - :param queue_name: The name of the Microsoft.ServiceBus queue. If the - entity type is of type 'subscriber', then this value will be null. - :type queue_name: str - :param topic_name: The name of the Microsoft.ServiceBus topic. If the - entity type is of type 'queue', then this value will be null. - :type topic_name: str - :param subscription_name: The name of the Microsoft.ServiceBus topic's - subscription. If the entity type is of type 'queue', then this value will - be null. - :type subscription_name: str - """ - - _attribute_map = { - 'namespace_name': {'key': 'namespaceName', 'type': 'str'}, - 'request_uri': {'key': 'requestUri', 'type': 'str'}, - 'entity_type': {'key': 'entityType', 'type': 'str'}, - 'queue_name': {'key': 'queueName', 'type': 'str'}, - 'topic_name': {'key': 'topicName', 'type': 'str'}, - 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ServiceBusDeadletterMessagesAvailableWithNoListenersEventData, self).__init__(**kwargs) - self.namespace_name = kwargs.get('namespace_name', None) - self.request_uri = kwargs.get('request_uri', None) - self.entity_type = kwargs.get('entity_type', None) - self.queue_name = kwargs.get('queue_name', None) - self.topic_name = kwargs.get('topic_name', None) - self.subscription_name = kwargs.get('subscription_name', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_deadletter_messages_available_with_no_listeners_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_deadletter_messages_available_with_no_listeners_event_data_py3.py deleted file mode 100644 index 3f8afafc482c..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/service_bus_deadletter_messages_available_with_no_listeners_event_data_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServiceBusDeadletterMessagesAvailableWithNoListenersEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListenersEvent event. - - :param namespace_name: The namespace name of the Microsoft.ServiceBus - resource. - :type namespace_name: str - :param request_uri: The endpoint of the Microsoft.ServiceBus resource. - :type request_uri: str - :param entity_type: The entity type of the Microsoft.ServiceBus resource. - Could be one of 'queue' or 'subscriber'. - :type entity_type: str - :param queue_name: The name of the Microsoft.ServiceBus queue. If the - entity type is of type 'subscriber', then this value will be null. - :type queue_name: str - :param topic_name: The name of the Microsoft.ServiceBus topic. If the - entity type is of type 'queue', then this value will be null. - :type topic_name: str - :param subscription_name: The name of the Microsoft.ServiceBus topic's - subscription. If the entity type is of type 'queue', then this value will - be null. - :type subscription_name: str - """ - - _attribute_map = { - 'namespace_name': {'key': 'namespaceName', 'type': 'str'}, - 'request_uri': {'key': 'requestUri', 'type': 'str'}, - 'entity_type': {'key': 'entityType', 'type': 'str'}, - 'queue_name': {'key': 'queueName', 'type': 'str'}, - 'topic_name': {'key': 'topicName', 'type': 'str'}, - 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, - } - - def __init__(self, *, namespace_name: str=None, request_uri: str=None, entity_type: str=None, queue_name: str=None, topic_name: str=None, subscription_name: str=None, **kwargs) -> None: - super(ServiceBusDeadletterMessagesAvailableWithNoListenersEventData, self).__init__(**kwargs) - self.namespace_name = namespace_name - self.request_uri = request_uri - self.entity_type = entity_type - self.queue_name = queue_name - self.topic_name = topic_name - self.subscription_name = subscription_name diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_connected_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_connected_event_data.py deleted file mode 100644 index f48d5ff56765..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_connected_event_data.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SignalRServiceClientConnectionConnectedEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.SignalRService.ClientConnectionConnected event. - - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param hub: The hub of connected client connection. - :type hub: str - :param connection_id: The connection Id of connected client connection. - :type connection_id: str - :param user_id: The user Id of connected client connection. - :type user_id: str - """ - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'hub': {'key': 'hub', 'type': 'str'}, - 'connection_id': {'key': 'connectionId', 'type': 'str'}, - 'user_id': {'key': 'userId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SignalRServiceClientConnectionConnectedEventData, self).__init__(**kwargs) - self.timestamp = kwargs.get('timestamp', None) - self.hub = kwargs.get('hub', None) - self.connection_id = kwargs.get('connection_id', None) - self.user_id = kwargs.get('user_id', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_connected_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_connected_event_data_py3.py deleted file mode 100644 index 2237e0ed5bec..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_connected_event_data_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SignalRServiceClientConnectionConnectedEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.SignalRService.ClientConnectionConnected event. - - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param hub: The hub of connected client connection. - :type hub: str - :param connection_id: The connection Id of connected client connection. - :type connection_id: str - :param user_id: The user Id of connected client connection. - :type user_id: str - """ - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'hub': {'key': 'hub', 'type': 'str'}, - 'connection_id': {'key': 'connectionId', 'type': 'str'}, - 'user_id': {'key': 'userId', 'type': 'str'}, - } - - def __init__(self, *, timestamp=None, hub: str=None, connection_id: str=None, user_id: str=None, **kwargs) -> None: - super(SignalRServiceClientConnectionConnectedEventData, self).__init__(**kwargs) - self.timestamp = timestamp - self.hub = hub - self.connection_id = connection_id - self.user_id = user_id diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_disconnected_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_disconnected_event_data.py deleted file mode 100644 index d888c23cd9dc..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_disconnected_event_data.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SignalRServiceClientConnectionDisconnectedEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.SignalRService.ClientConnectionDisconnected event. - - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param hub: The hub of connected client connection. - :type hub: str - :param connection_id: The connection Id of connected client connection. - :type connection_id: str - :param user_id: The user Id of connected client connection. - :type user_id: str - :param error_message: The message of error that cause the client - connection disconnected. - :type error_message: str - """ - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'hub': {'key': 'hub', 'type': 'str'}, - 'connection_id': {'key': 'connectionId', 'type': 'str'}, - 'user_id': {'key': 'userId', 'type': 'str'}, - 'error_message': {'key': 'errorMessage', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SignalRServiceClientConnectionDisconnectedEventData, self).__init__(**kwargs) - self.timestamp = kwargs.get('timestamp', None) - self.hub = kwargs.get('hub', None) - self.connection_id = kwargs.get('connection_id', None) - self.user_id = kwargs.get('user_id', None) - self.error_message = kwargs.get('error_message', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_disconnected_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_disconnected_event_data_py3.py deleted file mode 100644 index 44e722c83d3a..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/signal_rservice_client_connection_disconnected_event_data_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SignalRServiceClientConnectionDisconnectedEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.SignalRService.ClientConnectionDisconnected event. - - :param timestamp: The time at which the event occurred. - :type timestamp: datetime - :param hub: The hub of connected client connection. - :type hub: str - :param connection_id: The connection Id of connected client connection. - :type connection_id: str - :param user_id: The user Id of connected client connection. - :type user_id: str - :param error_message: The message of error that cause the client - connection disconnected. - :type error_message: str - """ - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'hub': {'key': 'hub', 'type': 'str'}, - 'connection_id': {'key': 'connectionId', 'type': 'str'}, - 'user_id': {'key': 'userId', 'type': 'str'}, - 'error_message': {'key': 'errorMessage', 'type': 'str'}, - } - - def __init__(self, *, timestamp=None, hub: str=None, connection_id: str=None, user_id: str=None, error_message: str=None, **kwargs) -> None: - super(SignalRServiceClientConnectionDisconnectedEventData, self).__init__(**kwargs) - self.timestamp = timestamp - self.hub = hub - self.connection_id = connection_id - self.user_id = user_id - self.error_message = error_message diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_created_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_created_event_data.py deleted file mode 100644 index edb52bb6a720..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_created_event_data.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StorageBlobCreatedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.Storage.BlobCreated event. - - :param api: The name of the API/operation that triggered this event. - :type api: str - :param client_request_id: A request id provided by the client of the - storage API operation that triggered this event. - :type client_request_id: str - :param request_id: The request id generated by the Storage service for the - storage API operation that triggered this event. - :type request_id: str - :param e_tag: The etag of the object at the time this event was triggered. - :type e_tag: str - :param content_type: The content type of the blob. This is the same as - what would be returned in the Content-Type header from the blob. - :type content_type: str - :param content_length: The size of the blob in bytes. This is the same as - what would be returned in the Content-Length header from the blob. - :type content_length: long - :param blob_type: The type of blob. - :type blob_type: str - :param url: The path to the blob. - :type url: str - :param sequencer: An opaque string value representing the logical sequence - of events for any particular blob name. Users can use standard string - comparison to understand the relative sequence of two events on the same - blob name. - :type sequencer: str - :param storage_diagnostics: For service use only. Diagnostic data - occasionally included by the Azure Storage service. This property should - be ignored by event consumers. - :type storage_diagnostics: object - """ - - _attribute_map = { - 'api': {'key': 'api', 'type': 'str'}, - 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, - 'request_id': {'key': 'requestId', 'type': 'str'}, - 'e_tag': {'key': 'eTag', 'type': 'str'}, - 'content_type': {'key': 'contentType', 'type': 'str'}, - 'content_length': {'key': 'contentLength', 'type': 'long'}, - 'blob_type': {'key': 'blobType', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'sequencer': {'key': 'sequencer', 'type': 'str'}, - 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, - } - - def __init__(self, **kwargs): - super(StorageBlobCreatedEventData, self).__init__(**kwargs) - self.api = kwargs.get('api', None) - self.client_request_id = kwargs.get('client_request_id', None) - self.request_id = kwargs.get('request_id', None) - self.e_tag = kwargs.get('e_tag', None) - self.content_type = kwargs.get('content_type', None) - self.content_length = kwargs.get('content_length', None) - self.blob_type = kwargs.get('blob_type', None) - self.url = kwargs.get('url', None) - self.sequencer = kwargs.get('sequencer', None) - self.storage_diagnostics = kwargs.get('storage_diagnostics', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_created_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_created_event_data_py3.py deleted file mode 100644 index 78914ab25fba..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_created_event_data_py3.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StorageBlobCreatedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.Storage.BlobCreated event. - - :param api: The name of the API/operation that triggered this event. - :type api: str - :param client_request_id: A request id provided by the client of the - storage API operation that triggered this event. - :type client_request_id: str - :param request_id: The request id generated by the Storage service for the - storage API operation that triggered this event. - :type request_id: str - :param e_tag: The etag of the object at the time this event was triggered. - :type e_tag: str - :param content_type: The content type of the blob. This is the same as - what would be returned in the Content-Type header from the blob. - :type content_type: str - :param content_length: The size of the blob in bytes. This is the same as - what would be returned in the Content-Length header from the blob. - :type content_length: long - :param blob_type: The type of blob. - :type blob_type: str - :param url: The path to the blob. - :type url: str - :param sequencer: An opaque string value representing the logical sequence - of events for any particular blob name. Users can use standard string - comparison to understand the relative sequence of two events on the same - blob name. - :type sequencer: str - :param storage_diagnostics: For service use only. Diagnostic data - occasionally included by the Azure Storage service. This property should - be ignored by event consumers. - :type storage_diagnostics: object - """ - - _attribute_map = { - 'api': {'key': 'api', 'type': 'str'}, - 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, - 'request_id': {'key': 'requestId', 'type': 'str'}, - 'e_tag': {'key': 'eTag', 'type': 'str'}, - 'content_type': {'key': 'contentType', 'type': 'str'}, - 'content_length': {'key': 'contentLength', 'type': 'long'}, - 'blob_type': {'key': 'blobType', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'sequencer': {'key': 'sequencer', 'type': 'str'}, - 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, - } - - def __init__(self, *, api: str=None, client_request_id: str=None, request_id: str=None, e_tag: str=None, content_type: str=None, content_length: int=None, blob_type: str=None, url: str=None, sequencer: str=None, storage_diagnostics=None, **kwargs) -> None: - super(StorageBlobCreatedEventData, self).__init__(**kwargs) - self.api = api - self.client_request_id = client_request_id - self.request_id = request_id - self.e_tag = e_tag - self.content_type = content_type - self.content_length = content_length - self.blob_type = blob_type - self.url = url - self.sequencer = sequencer - self.storage_diagnostics = storage_diagnostics diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_deleted_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_deleted_event_data.py deleted file mode 100644 index 1b869057d280..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_deleted_event_data.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StorageBlobDeletedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.Storage.BlobDeleted event. - - :param api: The name of the API/operation that triggered this event. - :type api: str - :param client_request_id: A request id provided by the client of the - storage API operation that triggered this event. - :type client_request_id: str - :param request_id: The request id generated by the Storage service for the - storage API operation that triggered this event. - :type request_id: str - :param content_type: The content type of the blob. This is the same as - what would be returned in the Content-Type header from the blob. - :type content_type: str - :param blob_type: The type of blob. - :type blob_type: str - :param url: The path to the blob. - :type url: str - :param sequencer: An opaque string value representing the logical sequence - of events for any particular blob name. Users can use standard string - comparison to understand the relative sequence of two events on the same - blob name. - :type sequencer: str - :param storage_diagnostics: For service use only. Diagnostic data - occasionally included by the Azure Storage service. This property should - be ignored by event consumers. - :type storage_diagnostics: object - """ - - _attribute_map = { - 'api': {'key': 'api', 'type': 'str'}, - 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, - 'request_id': {'key': 'requestId', 'type': 'str'}, - 'content_type': {'key': 'contentType', 'type': 'str'}, - 'blob_type': {'key': 'blobType', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'sequencer': {'key': 'sequencer', 'type': 'str'}, - 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, - } - - def __init__(self, **kwargs): - super(StorageBlobDeletedEventData, self).__init__(**kwargs) - self.api = kwargs.get('api', None) - self.client_request_id = kwargs.get('client_request_id', None) - self.request_id = kwargs.get('request_id', None) - self.content_type = kwargs.get('content_type', None) - self.blob_type = kwargs.get('blob_type', None) - self.url = kwargs.get('url', None) - self.sequencer = kwargs.get('sequencer', None) - self.storage_diagnostics = kwargs.get('storage_diagnostics', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_deleted_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_deleted_event_data_py3.py deleted file mode 100644 index 7565e6572c24..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/storage_blob_deleted_event_data_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StorageBlobDeletedEventData(Model): - """Schema of the Data property of an EventGridEvent for an - Microsoft.Storage.BlobDeleted event. - - :param api: The name of the API/operation that triggered this event. - :type api: str - :param client_request_id: A request id provided by the client of the - storage API operation that triggered this event. - :type client_request_id: str - :param request_id: The request id generated by the Storage service for the - storage API operation that triggered this event. - :type request_id: str - :param content_type: The content type of the blob. This is the same as - what would be returned in the Content-Type header from the blob. - :type content_type: str - :param blob_type: The type of blob. - :type blob_type: str - :param url: The path to the blob. - :type url: str - :param sequencer: An opaque string value representing the logical sequence - of events for any particular blob name. Users can use standard string - comparison to understand the relative sequence of two events on the same - blob name. - :type sequencer: str - :param storage_diagnostics: For service use only. Diagnostic data - occasionally included by the Azure Storage service. This property should - be ignored by event consumers. - :type storage_diagnostics: object - """ - - _attribute_map = { - 'api': {'key': 'api', 'type': 'str'}, - 'client_request_id': {'key': 'clientRequestId', 'type': 'str'}, - 'request_id': {'key': 'requestId', 'type': 'str'}, - 'content_type': {'key': 'contentType', 'type': 'str'}, - 'blob_type': {'key': 'blobType', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - 'sequencer': {'key': 'sequencer', 'type': 'str'}, - 'storage_diagnostics': {'key': 'storageDiagnostics', 'type': 'object'}, - } - - def __init__(self, *, api: str=None, client_request_id: str=None, request_id: str=None, content_type: str=None, blob_type: str=None, url: str=None, sequencer: str=None, storage_diagnostics=None, **kwargs) -> None: - super(StorageBlobDeletedEventData, self).__init__(**kwargs) - self.api = api - self.client_request_id = client_request_id - self.request_id = request_id - self.content_type = content_type - self.blob_type = blob_type - self.url = url - self.sequencer = sequencer - self.storage_diagnostics = storage_diagnostics diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_deleted_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_deleted_event_data.py deleted file mode 100644 index 2aa366646706..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_deleted_event_data.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubscriptionDeletedEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.EventGrid.SubscriptionDeletedEvent. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar event_subscription_id: The Azure resource ID of the deleted event - subscription. - :vartype event_subscription_id: str - """ - - _validation = { - 'event_subscription_id': {'readonly': True}, - } - - _attribute_map = { - 'event_subscription_id': {'key': 'eventSubscriptionId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SubscriptionDeletedEventData, self).__init__(**kwargs) - self.event_subscription_id = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_deleted_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_deleted_event_data_py3.py deleted file mode 100644 index 133338d9d112..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_deleted_event_data_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubscriptionDeletedEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.EventGrid.SubscriptionDeletedEvent. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar event_subscription_id: The Azure resource ID of the deleted event - subscription. - :vartype event_subscription_id: str - """ - - _validation = { - 'event_subscription_id': {'readonly': True}, - } - - _attribute_map = { - 'event_subscription_id': {'key': 'eventSubscriptionId', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(SubscriptionDeletedEventData, self).__init__(**kwargs) - self.event_subscription_id = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_event_data.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_event_data.py deleted file mode 100644 index f9d0bfe7c431..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_event_data.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubscriptionValidationEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.EventGrid.SubscriptionValidationEvent. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar validation_code: The validation code sent by Azure Event Grid to - validate an event subscription. To complete the validation handshake, the - subscriber must either respond with this validation code as part of the - validation response, or perform a GET request on the validationUrl - (available starting version 2018-05-01-preview). - :vartype validation_code: str - :ivar validation_url: The validation URL sent by Azure Event Grid - (available starting version 2018-05-01-preview). To complete the - validation handshake, the subscriber must either respond with the - validationCode as part of the validation response, or perform a GET - request on the validationUrl (available starting version - 2018-05-01-preview). - :vartype validation_url: str - """ - - _validation = { - 'validation_code': {'readonly': True}, - 'validation_url': {'readonly': True}, - } - - _attribute_map = { - 'validation_code': {'key': 'validationCode', 'type': 'str'}, - 'validation_url': {'key': 'validationUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SubscriptionValidationEventData, self).__init__(**kwargs) - self.validation_code = None - self.validation_url = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_event_data_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_event_data_py3.py deleted file mode 100644 index b4302b98927b..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_event_data_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubscriptionValidationEventData(Model): - """Schema of the Data property of an EventGridEvent for a - Microsoft.EventGrid.SubscriptionValidationEvent. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar validation_code: The validation code sent by Azure Event Grid to - validate an event subscription. To complete the validation handshake, the - subscriber must either respond with this validation code as part of the - validation response, or perform a GET request on the validationUrl - (available starting version 2018-05-01-preview). - :vartype validation_code: str - :ivar validation_url: The validation URL sent by Azure Event Grid - (available starting version 2018-05-01-preview). To complete the - validation handshake, the subscriber must either respond with the - validationCode as part of the validation response, or perform a GET - request on the validationUrl (available starting version - 2018-05-01-preview). - :vartype validation_url: str - """ - - _validation = { - 'validation_code': {'readonly': True}, - 'validation_url': {'readonly': True}, - } - - _attribute_map = { - 'validation_code': {'key': 'validationCode', 'type': 'str'}, - 'validation_url': {'key': 'validationUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(SubscriptionValidationEventData, self).__init__(**kwargs) - self.validation_code = None - self.validation_url = None diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_response.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_response.py deleted file mode 100644 index 034d55d1faf1..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_response.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubscriptionValidationResponse(Model): - """To complete an event subscription validation handshake, a subscriber can - use either the validationCode or the validationUrl received in a - SubscriptionValidationEvent. When the validationCode is used, the - SubscriptionValidationResponse can be used to build the response. - - :param validation_response: The validation response sent by the subscriber - to Azure Event Grid to complete the validation of an event subscription. - :type validation_response: str - """ - - _attribute_map = { - 'validation_response': {'key': 'validationResponse', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SubscriptionValidationResponse, self).__init__(**kwargs) - self.validation_response = kwargs.get('validation_response', None) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_response_py3.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_response_py3.py deleted file mode 100644 index dc76e2a5ca6f..000000000000 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/models/subscription_validation_response_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubscriptionValidationResponse(Model): - """To complete an event subscription validation handshake, a subscriber can - use either the validationCode or the validationUrl received in a - SubscriptionValidationEvent. When the validationCode is used, the - SubscriptionValidationResponse can be used to build the response. - - :param validation_response: The validation response sent by the subscriber - to Azure Event Grid to complete the validation of an event subscription. - :type validation_response: str - """ - - _attribute_map = { - 'validation_response': {'key': 'validationResponse', 'type': 'str'}, - } - - def __init__(self, *, validation_response: str=None, **kwargs) -> None: - super(SubscriptionValidationResponse, self).__init__(**kwargs) - self.validation_response = validation_response diff --git a/sdk/eventgrid/azure-eventgrid/dev_requirements.txt b/sdk/eventgrid/azure-eventgrid/dev_requirements.txt index f6457a93d5e8..2d79b6ebd683 100644 --- a/sdk/eventgrid/azure-eventgrid/dev_requirements.txt +++ b/sdk/eventgrid/azure-eventgrid/dev_requirements.txt @@ -1 +1,5 @@ --e ../../../tools/azure-sdk-tools \ No newline at end of file +-e ../../../tools/azure-devtools +-e ../../../tools/azure-sdk-tools +-e ../../core/azure-core +-e ../../identity/azure-identity +-e ../azure-mgmt-eventgrid diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs1_publish_custom_events_to_a_topic.py b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs1_publish_custom_events_to_a_topic.py new file mode 100644 index 000000000000..d98de8ab82ed --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs1_publish_custom_events_to_a_topic.py @@ -0,0 +1,19 @@ +from azure.eventgrid import EventGridPublisherClient, EventGridEvent, CloudEvent +from azure.core.credentials import AzureKeyCredential + +topic_hostname = ".-1.eventgrid.azure.net" +topic_key = "" + +credential = AzureKeyCredential(topic_key) +client = EventGridPublisherClient(topic_hostname, credential) + +client.send([ + EventGridEvent( + event_type="Contoso.Items.ItemReceived", + data={ + "itemSku": "Contoso Item SKU #1" + }, + subject="Door1", + data_version="2.0" + ) +]) \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs1b_publish_custom_events_to_a_topic_with_signature.py b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs1b_publish_custom_events_to_a_topic_with_signature.py new file mode 100644 index 000000000000..b320f603ea65 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs1b_publish_custom_events_to_a_topic_with_signature.py @@ -0,0 +1,21 @@ +from azure.eventgrid import EventGridPublisherClient, EventGridEvent, CloudEvent, generate_shared_access_signature, EventGridSharedAccessSignatureCredential +from azure.core.credentials import AzureKeyCredential + +topic_hostname = ".-1.eventgrid.azure.net" +topic_key = "" +expiration_date_utc = dt.datetime.now(tzutc()) + timedelta(hours=1) + +signature = generate_shared_access_signature(topic_hostname, topic_key, expiration_date_utc) +credential = EventGridSharedAccessSignatureCredential(signature) +client = EventGridPublisherClient(topic_hostname, credential) + +client.send([ + EventGridEvent( + event_type="Contoso.Items.ItemReceived", + data={ + "itemSku": "Contoso Item SKU #1" + }, + subject="Door1", + data_version="2.0" + ) +]) \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs2_publish_custom_events_to_a_domain_topic.py b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs2_publish_custom_events_to_a_domain_topic.py new file mode 100644 index 000000000000..3221d4ad30d5 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs2_publish_custom_events_to_a_domain_topic.py @@ -0,0 +1,29 @@ +from azure.eventgrid import EventGridPublisherClient, EventGridEvent +from azure.core.credentials import AzureKeyCredential + +domain_hostname = ".-1.eventgrid.azure.net" +domain_key = "" + +credential = AzureKeyCredential(domain_key) +client = EventGridPublisherClient(domain_hostname, credential) + +client.send([ + EventGridEvent( + topic="MyCustomDomainTopic1", + event_type="Contoso.Items.ItemReceived", + data={ + "itemSku": "Contoso Item SKU #1" + }, + subject="Door1", + data_version="2.0" + ), + EventGridEvent( + topic="MyCustomDomainTopic2", + event_type="Contoso.Items.ItemReceived", + data={ + "itemSku": "Contoso Item SKU #2" + }, + subject="Door1", + data_version="2.0" + ) +]) \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_consume_system_events.py b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_consume_system_events.py new file mode 100644 index 000000000000..ef39037148d4 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_consume_system_events.py @@ -0,0 +1,21 @@ +import os +from azure.eventgrid import EventGridConsumer + +consumer = EventGridConsumer() + +# returns List[DeserializedEvent] +deserialized_events = consumer.deserialize_events(service_bus_received_message) + +# EventGridEvent schema, Storage.BlobCreated event +for event in deserialized_events: + + # both allow access to raw properties as strings + time_string = event.event_time + time_string = event["event_time"] + + # model returns EventGridEvent object + event_grid_event = event.model + + # all model properties are strongly typed + datetime_object = event.model.time + storage_blobcreated_object = event.model.data diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_event_grid_event_system_event.json b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_event_grid_event_system_event.json new file mode 100644 index 000000000000..9825e4d7be35 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_event_grid_event_system_event.json @@ -0,0 +1,23 @@ +{ +"topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/xstoretestaccount", +"subject": "/blobServices/default/containers/oc2d2817345i200097container/blobs/oc2d2817345i20002296blob", +"eventType": "Microsoft.Storage.BlobCreated", +"eventTime": "2017-06-26T18:41:00.9584103Z", +"id": "831e1650-001e-001b-66ab-eeb76e069631", +"data": { + "api": "PutBlockList", + "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760", + "requestId": "831e1650-001e-001b-66ab-eeb76e000000", + "eTag": "0x8D4BCC2E4835CD0", + "contentType": "application/octet-stream", + "contentLength": 524288, + "blobType": "BlockBlob", + "url": "https://oc2d2817345i60006.blob.core.windows.net/oc2d2817345i200097container/oc2d2817345i20002296blob", + "sequencer": "00000000000004420000000000028963", + "storageDiagnostics": { + "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0" + } +}, +"dataVersion": "", +"metadataVersion": "1" +} \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_system_event.json b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_system_event.json new file mode 100644 index 000000000000..3c802ac5e451 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs3_system_event.json @@ -0,0 +1,23 @@ +{ + "specversion": "1.0", + "type": "Microsoft.Storage.BlobCreated", + "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-account}", + "id": "9aeb0fdf-c01e-0131-0922-9eb54906e209", + "time": "2019-11-18T15:13:39.4589254Z", + "subject": "blobServices/default/containers/{storage-container}/blobs/{new-file}", + "dataschema": "#", + "data": { + "api": "PutBlockList", + "clientRequestId": "4c5dd7fb-2c48-4a27-bb30-5361b5de920a", + "requestId": "9aeb0fdf-c01e-0131-0922-9eb549000000", + "eTag": "0x8D76C39E4407333", + "contentType": "image/png", + "contentLength": 30699, + "blobType": "BlockBlob", + "url": "https://gridtesting.blob.core.windows.net/testcontainer/{new-file}", + "sequencer": "000000000000000000000000000099240000000000c41c18", + "storageDiagnostics": { + "batchId": "681fe319-3006-00a8-0022-9e7cde000000" + } + } +} \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs4_consume_custom_events.py b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs4_consume_custom_events.py new file mode 100644 index 000000000000..13d41d0f09ea --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs4_consume_custom_events.py @@ -0,0 +1,23 @@ +import os +from azure.eventgrid import EventGridConsumer + +consumer = EventGridConsumer() + +# returns List[DeserializedEvent] +deserialized_events = consumer.deserialize_events(service_bus_received_message) + +# EventGridEvent schema, with custom event type +for event in deserialized_events: + + # both allow access to raw properties as strings + time_string = event.event_time + time_string = event["event_time"] + + # model returns EventGridEvent object + event_grid_event = event.model + + # returns { "itemSku": "Contoso Item SKU #1" } + data_dict = event.data + + # custom event not pre-defined in system event registry, returns None + returns_none = event.model.data diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs4_event_grid_event_custom_event.json b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs4_event_grid_event_custom_event.json new file mode 100644 index 000000000000..30be4fbdd59b --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs4_event_grid_event_custom_event.json @@ -0,0 +1,12 @@ +{ + "topic": "customeventexample.eastus-1.eventgrid.azure.net", + "subject": "Door1", + "eventType": "Contoso.Items.ItemReceived", + "eventTime": "2017-06-26T18:41:00.9584103Z", + "id": "831e1650-001e-001b-66ab-eeb76e069631", + "data": { + "itemSku": "Contoso Item SKU #1" + }, + "dataVersion": "2.0", + "metadataVersion": "1" +} \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs5_publish_events_using_cloud_events_1.0_schema.py b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs5_publish_events_using_cloud_events_1.0_schema.py new file mode 100644 index 000000000000..4474b6ab40fb --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs5_publish_events_using_cloud_events_1.0_schema.py @@ -0,0 +1,19 @@ +from azure.eventgrid import EventGridPublisherClient, CloudEvent +from azure.core.credentials import AzureKeyCredential + +topic_hostname = ".-1.eventgrid.azure.net" +topic_key = "" + +credential = AzureKeyCredential(topic_key) +client = EventGridPublisherClient(topic_hostname, credential) + +client.send([ + CloudEvent( + type="Contoso.Items.ItemReceived", + source="/contoso/items", + data={ + "itemSku": "Contoso Item SKU #1" + }, + subject="Door1" + ) +]) diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs6_cloud_event_system_event.json b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs6_cloud_event_system_event.json new file mode 100644 index 000000000000..3c802ac5e451 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs6_cloud_event_system_event.json @@ -0,0 +1,23 @@ +{ + "specversion": "1.0", + "type": "Microsoft.Storage.BlobCreated", + "source": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-account}", + "id": "9aeb0fdf-c01e-0131-0922-9eb54906e209", + "time": "2019-11-18T15:13:39.4589254Z", + "subject": "blobServices/default/containers/{storage-container}/blobs/{new-file}", + "dataschema": "#", + "data": { + "api": "PutBlockList", + "clientRequestId": "4c5dd7fb-2c48-4a27-bb30-5361b5de920a", + "requestId": "9aeb0fdf-c01e-0131-0922-9eb549000000", + "eTag": "0x8D76C39E4407333", + "contentType": "image/png", + "contentLength": 30699, + "blobType": "BlockBlob", + "url": "https://gridtesting.blob.core.windows.net/testcontainer/{new-file}", + "sequencer": "000000000000000000000000000099240000000000c41c18", + "storageDiagnostics": { + "batchId": "681fe319-3006-00a8-0022-9e7cde000000" + } + } +} \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs6_consume_events_using_cloud_events_1.0_schema.py b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs6_consume_events_using_cloud_events_1.0_schema.py new file mode 100644 index 000000000000..2001070fb68c --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/champion_scenarios/cs6_consume_events_using_cloud_events_1.0_schema.py @@ -0,0 +1,21 @@ +import os +from azure.eventgrid import EventGridConsumer + +consumer = EventGridConsumer() + +# returns List[DeserializedEvent] +deserialized_events = consumer.deserialize_events(service_bus_received_message) + +# CloudEvent schema +for event in deserialized_events: + + # both allow access to raw properties as strings + time_string = event.time + time_string = event["time"] + + # model returns CloudEvent object + cloud_event = event.model + + # all model properties are strongly typed + datetime_object = event.model.time + storage_blobcreated_object = event.model.data \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/consume_cloud_custom_data_sample.py b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/consume_cloud_custom_data_sample.py new file mode 100644 index 000000000000..ce477ef69963 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/consume_cloud_custom_data_sample.py @@ -0,0 +1,22 @@ +import json +from azure.eventgrid import EventGridConsumer, CloudEvent + +# all types of CloudEvents below produce same DeserializedEvent +cloud_custom_dict = { + "id":"de0fd76c-4ef4-4dfb-ab3a-8f24a307e033", + "source":"https://egtest.dev/cloudcustomevent", + "data":{"team": "event grid squad"}, + "type":"Azure.Sdk.Sample", + "time":"2020-08-07T02:06:08.11969Z", + "specversion":"1.0" +} +cloud_custom_string = json.dumps(cloud_custom_dict) +cloud_custom_bytes = bytes(cloud_custom_string, "utf-8") + +client = EventGridConsumer() +deserialized_dict_event = client.deserialize_event(cloud_custom_dict) +deserialized_str_event = client.deserialize_event(cloud_custom_string) +deserialized_bytes_event = client.deserialize_event(cloud_custom_bytes) + +print(deserialized_bytes_event.model == deserialized_str_event.model) +print(deserialized_bytes_event.model == deserialized_dict_event.model) \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/consume_eg_storage_blob_created_data_sample.py b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/consume_eg_storage_blob_created_data_sample.py new file mode 100644 index 000000000000..21735940739f --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/consume_eg_storage_blob_created_data_sample.py @@ -0,0 +1,37 @@ +import json +from azure.eventgrid import EventGridConsumer, EventGridEvent, StorageBlobCreatedEventData + +# all types of EventGridEvents below produce same DeserializedEvent +eg_storage_dict = { + "id":"bbab6625-dc56-4b22-abeb-afcc72e5290c", + "subject":"/blobServices/default/containers/oc2d2817345i200097container/blobs/oc2d2817345i20002296blob", + "data":{ + "api":"PutBlockList", + "clientRequestId":"6d79dbfb-0e37-4fc4-981f-442c9ca65760", + "requestId":"831e1650-001e-001b-66ab-eeb76e000000", + "eTag":"0x8D4BCC2E4835CD0", + "contentType":"application/octet-stream", + "contentLength":524288, + "blobType":"BlockBlob", + "url":"https://oc2d2817345i60006.blob.core.windows.net/oc2d2817345i200097container/oc2d2817345i20002296blob", + "sequencer":"00000000000004420000000000028963", + "storageDiagnostics":{"batchId":"b68529f3-68cd-4744-baa4-3c0498ec19f0"} + }, + "eventType":"Microsoft.Storage.BlobCreated", + "dataVersion":"2.0", + "metadataVersion":"1", + "eventTime":"2020-08-07T02:28:23.867525Z", + "topic":"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/t-swpill-test/providers/Microsoft.EventGrid/topics/eventgridegsub" +} + +eg_storage_string = json.dumps(eg_storage_dict) +eg_storage_bytes = bytes(eg_storage_string, "utf-8") + +client = EventGridConsumer() +deserialized_dict_event = client.deserialize_event(eg_storage_dict) +deserialized_str_event = client.deserialize_event(eg_storage_string) +deserialized_bytes_event = client.deserialize_event(eg_storage_bytes) + +print(deserialized_bytes_event.model == deserialized_str_event.model) +print(deserialized_bytes_event.model == deserialized_dict_event.model) +print(deserialized_str_event.model.data.__class__ == StorageBlobCreatedEventData) \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_eventhub.py b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_eventhub.py new file mode 100644 index 000000000000..b672777afc0b --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_eventhub.py @@ -0,0 +1,47 @@ +import sys +import os + +PACKAGE_PARENT = '..' +SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) +sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT))) + +from azure.eventgrid import EventGridConsumer, CloudEvent, EventGridEvent +from azure.eventhub import EventHubConsumerClient + +""" +An example to show receiving events from an Event Hub. +""" + +CONNECTION_STR = os.environ["EVENT_HUB_CONN_STR"] +EVENTHUB_NAME = os.environ["EVENTHUB_NAME"] + + +def on_event(partition_context, event): + + dict_event = event.body_as_json()[0] + deserialized_event = eg_consumer.deserialize_event(dict_event) + if deserialized_event.model.__class__ == CloudEvent: + dict_event = deserialized_event.to_json() + print("event.type: {}\n".format(dict_event["type"])) + print("event.to_json(): {}\n".format(dict_event)) + print("model: {}\n".format(deserialized_event.model)) + print("model.data: {}\n".format(deserialized_event.model.data)) + else: + dict_event = deserialized_event.to_json() + print("event.to_json(): {}\n".format(dict_event)) + print("model: {}\n".format(deserialized_event.model)) + print("model.data: {}\n".format(deserialized_event.model.data)) + +eg_consumer = EventGridConsumer() +consumer_client = EventHubConsumerClient.from_connection_string( + conn_str=CONNECTION_STR, + consumer_group='$Default', + eventhub_name=EVENTHUB_NAME, +) + +with consumer_client: + event_list = consumer_client.receive( + on_event=on_event, + starting_position="-1", # "-1" is from the beginning of the partition. + prefetch=5 + ) diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_service_bus_queue.py b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_service_bus_queue.py new file mode 100644 index 000000000000..3f1b61057d83 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_service_bus_queue.py @@ -0,0 +1,37 @@ +import sys +import os + +PACKAGE_PARENT = '..' +SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) +sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT))) + +from azure.core.pipeline.policies import AzureKeyCredentialPolicy +from azure.core.credentials import AzureKeyCredential + +from azure.eventgrid import EventGridConsumer, CloudEvent +from azure.servicebus import ServiceBusClient + +connection_str = os.environ['SB_CONN_STR'] +queue_name = os.environ['SERVICE_BUS_QUEUE_NAME'] + +sb_client = ServiceBusClient.from_connection_string(connection_str) +consumer = EventGridConsumer() +with sb_client: + receiver = sb_client.get_queue_receiver(queue_name, prefetch=10) + with receiver: + msgs = receiver.receive(max_batch_size=10, max_wait_time=1) + print("number of messages: {}".format(len(msgs))) + for msg in msgs: + # receive single dict message + deserialized_event = consumer.deserialize_event(str(msg)) + if deserialized_event.model.__class__ == CloudEvent: + dict_event = deserialized_event.to_json() + print("event.to_json(): {}\n".format(dict_event)) + print("model: {}\n".format(deserialized_event.model)) + print("model.data: {}\n".format(deserialized_event.model.data)) + else: + dict_event = deserialized_event.to_json() + print("event.to_json(): {}\n".format(dict_event)) + print("model: {}\n".format(deserialized_event.model)) + print("model.data: {}\n".format(deserialized_event.model.data)) + msg.complete() diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_storage_queue.py b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_storage_queue.py new file mode 100644 index 000000000000..754c561bfbe1 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/consume_cloud_events_from_storage_queue.py @@ -0,0 +1,27 @@ +import os +from azure.storage.queue import QueueServiceClient +from azure.eventgrid import EventGridConsumer, CloudEvent +from base64 import b64decode + +connection_str = os.environ["STORAGE_QUEUE_CONN_STR"] +queue_name = os.environ["STORAGE_QUEUE_NAME"] +queue_service = QueueServiceClient.from_connection_string(conn_str=connection_str) + +queue_client = queue_service.get_queue_client(queue_name) +consumer = EventGridConsumer() + +msgs = queue_client.receive_messages() +for msg in msgs: + # receive single dict message + deserialized_event = consumer.deserialize_event(b64decode(msg.content)) + if deserialized_event.model.__class__ == CloudEvent: + dict_event = deserialized_event.to_json() + print("event.type: {}\n".format(dict_event["type"])) + print("event.to_json(): {}\n".format(dict_event)) + print("model: {}\n".format(deserialized_event.model)) + print("model.data: {}\n".format(deserialized_event.model.data)) + else: + dict_event = deserialized_event.to_json() + print("event.to_json(): {}\n".format(dict_event)) + print("model: {}\n".format(deserialized_event.model)) + print("model.data: {}\n".format(deserialized_event.model.data)) diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/.funcignore b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/.funcignore new file mode 100644 index 000000000000..0678ea2b2270 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/.funcignore @@ -0,0 +1,5 @@ +.git* +.vscode +local.settings.json +test +.venv \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/.gitignore b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/.gitignore new file mode 100644 index 000000000000..a10127be5c96 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/.gitignore @@ -0,0 +1,130 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don’t work, or not +# install all needed dependencies. +#Pipfile.lock + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# Azure Functions artifacts +bin +obj +appsettings.json +local.settings.json +.python_packages \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/__init__.py b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/__init__.py new file mode 100644 index 000000000000..95e1da605e45 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/__init__.py @@ -0,0 +1,22 @@ +import json +import logging +import sys + +import azure.functions as func +from azure.eventgrid import EventGridConsumer + +def main(event: func.EventGridEvent): + logging.info(sys.version) + logging.info(event) + result = json.dumps({ + 'id': event.id, + 'data': event.get_json(), + 'topic': event.topic, + 'subject': event.subject, + 'event_type': event.event_type + }) + logging.info(result) + consumer = EventGridConsumer() + deserialized_event = consumer.deserialize_events(result) + ## can only be EventGridEvent + print("model: {}".format(event.model)) diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/function.json b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/function.json new file mode 100644 index 000000000000..e2764c7fdba4 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/function.json @@ -0,0 +1,10 @@ +{ + "scriptFile": "__init__.py", + "bindings": [ + { + "type": "eventGridTrigger", + "name": "event", + "direction": "in" + } + ] +} diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/host.json b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/host.json new file mode 100644 index 000000000000..8f3cf9db3fbe --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/host.json @@ -0,0 +1,7 @@ +{ + "version": "2.0", + "extensionBundle": { + "id": "Microsoft.Azure.Functions.ExtensionBundle", + "version": "[1.*, 2.0.0)" + } +} \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/sample.dat b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/sample.dat new file mode 100644 index 000000000000..5e172b50e0d5 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/EventGridTrigger1/sample.dat @@ -0,0 +1,20 @@ +{ + 'topic': '/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/test/providers/Microsoft.EventHub/namespaces/test', + 'subject': 'eventhubs/test', + 'eventType': 'captureFileCreated', + 'eventTime': '2017-07-14T23:10:27.7689666Z', + 'id': '7b11c4ce-1c34-4416-848b-1730e766f126', + 'data': { + 'fileUrl': 'https://test.blob.core.windows.net/debugging/testblob.txt', + 'fileType': 'AzureBlockBlob', + 'partitionId': '1', + 'sizeInBytes': 0, + 'eventCount': 0, + 'firstSequenceNumber': -1, + 'lastSequenceNumber': -1, + 'firstEnqueueTime': '0001-01-01T00:00:00', + 'lastEnqueueTime': '0001-01-01T00:00:00' + }, + "dataVersion": "", + "metadataVersion": "1" +} diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/host.json b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/host.json new file mode 100644 index 000000000000..6ab664374ff1 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/host.json @@ -0,0 +1,15 @@ +{ + "version": "2.0", + "logging": { + "applicationInsights": { + "samplingSettings": { + "isEnabled": true, + "excludedTypes": "Request" + } + } + }, + "extensionBundle": { + "id": "Microsoft.Azure.Functions.ExtensionBundle", + "version": "[1.*, 2.0.0)" + } +} diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/proxies.json b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/proxies.json new file mode 100644 index 000000000000..b385252f5ed7 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/proxies.json @@ -0,0 +1,4 @@ +{ + "$schema": "http://json.schemastore.org/proxies", + "proxies": {} +} diff --git a/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/requirements.txt b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/requirements.txt new file mode 100644 index 000000000000..75db2c4f60f8 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/consume_samples/e2e_samples/functionsapp/requirements.txt @@ -0,0 +1 @@ +azure-functions diff --git a/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_cloud_events_to_custom_topic_sample.py b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_cloud_events_to_custom_topic_sample.py new file mode 100644 index 000000000000..cada0ae9e5e5 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_cloud_events_to_custom_topic_sample.py @@ -0,0 +1,39 @@ +import sys +import os +from random import randint, sample +import time + +PACKAGE_PARENT = '..' +SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) +sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT))) + +from azure.core.credentials import AzureKeyCredential +from azure.eventgrid import EventGridPublisherClient, CloudEvent + +key = os.environ.get("CLOUD_ACCESS_KEY") +topic_hostname = os.environ["CLOUD_TOPIC_HOSTNAME"] + +# authenticate client +credential = AzureKeyCredential(key) +client = EventGridPublisherClient(topic_hostname, credential) + +team_members = ["Josh", "Kerri", "Kieran", "Laurent", "Lily", "Matt", "Soren", "Srikanta", "Swathi"] # possible values for data field + +# publish events +while True: + event_list = [] # list of events to publish + # create events and append to list + for j in range(randint(1, 1)): + sample_members = sample(team_members, k=randint(1, 9)) # select random subset of team members + data_dict = {"team": sample_members} + event = CloudEvent( + type="Azure.Sdk.Sample", + source="https://egsample.dev/sampleevent", + data={"team": sample_members} + ) + event_list.append(event) + + # publish list of events + client.send(event_list) + print("Batch of size {} published".format(len(event_list))) + time.sleep(randint(1, 5)) diff --git a/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_cloud_events_to_domain_topic_sample.py b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_cloud_events_to_domain_topic_sample.py new file mode 100644 index 000000000000..528d57d85887 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_cloud_events_to_domain_topic_sample.py @@ -0,0 +1,40 @@ +import sys +import os +from random import randint, sample +import time + +PACKAGE_PARENT = '..' +SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) +sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT))) + +from azure.core.credentials import AzureKeyCredential +from azure.eventgrid import EventGridPublisherClient, CloudEvent + +domain_key = os.environ["DOMAIN_ACCESS_KEY"] +domain_topic_hostname = os.environ["DOMAIN_TOPIC_HOSTNAME"] +domain_name = os.environ["DOMAIN_NAME"] + +# authenticate client +credential = AzureKeyCredential(domain_key) +client = EventGridPublisherClient(domain_topic_hostname, credential) + +# publish events +while True: + + event_list = [] # list of events to publish + team_members = ["Josh", "Kerri", "Kieran", "Laurent", "Lily", "Matt", "Soren", "Srikanta", "Swathi"] # possible values for data field + + # create events and append to list + for j in range(randint(1, 3)): + sample_members = sample(team_members, k=randint(1, 9)) # select random subset of team members + event = CloudEvent( + type="Azure.Sdk.Demo", + source=domain_name, + data={"team": sample_members} + ) + event_list.append(event) + + # publish list of events + client.send(event_list) + print("Batch of size {} published".format(len(event_list))) + time.sleep(randint(1, 5)) diff --git a/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_custom_schema_events_to_topic_sample.py b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_custom_schema_events_to_topic_sample.py new file mode 100644 index 000000000000..ecfbf4eb208d --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_custom_schema_events_to_topic_sample.py @@ -0,0 +1,44 @@ +import sys +import os +from random import randint, sample +import time +import uuid +from msrest.serialization import UTC +import datetime as dt + +PACKAGE_PARENT = '..' +SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) +sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT))) + +from azure.core.credentials import AzureKeyCredential +from azure.eventgrid import EventGridPublisherClient, CustomEvent + +key = os.environ["CUSTOM_SCHEMA_ACCESS_KEY"] +topic_hostname = os.environ["CUSTOM_SCHEMA_TOPIC_HOSTNAME"] + +# authenticate client +credential = AzureKeyCredential(key) +client = EventGridPublisherClient(topic_hostname, credential) + +custom_schema_event = { + "customSubject": "sample", + "customEventType": "sample.event", + "customDataVersion": "2.0", + "customId": uuid.uuid4(), + "customEventTime": dt.datetime.now(UTC()).isoformat(), + "customData": "sample data" +} + +# publish events +while True: + + event_list = [] # list of events to publish + # create events and append to list + for j in range(randint(1, 3)): + event = CustomEvent(custom_schema_event) + event_list.append(event) + + # publish list of events + client.send(event_list) + print("Batch of size {} published".format(len(event_list))) + time.sleep(randint(1, 5)) diff --git a/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_event_grid_events_to_custom_topic_sample.py b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_event_grid_events_to_custom_topic_sample.py new file mode 100644 index 000000000000..a8379f5cf84a --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_event_grid_events_to_custom_topic_sample.py @@ -0,0 +1,40 @@ +import sys +import os +from random import randint, sample +import time + +PACKAGE_PARENT = '..' +SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) +sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT))) + +from azure.core.credentials import AzureKeyCredential +from azure.eventgrid import EventGridPublisherClient, EventGridEvent + +key = os.environ["EG_ACCESS_KEY"] +topic_hostname = os.environ["EG_TOPIC_HOSTNAME"] + +# authenticate client +credential = AzureKeyCredential(key) +client = EventGridPublisherClient(topic_hostname, credential) + +team_members = ["Josh", "Kerri", "Kieran", "Laurent", "Lily", "Matt", "Soren", "Srikanta", "Swathi"] # possible values for data field + +# publish events +while True: + + event_list = [] # list of events to publish + # create events and append to list + for j in range(randint(1, 3)): + sample_members = sample(team_members, k=randint(1, 9)) # select random subset of team members + event = EventGridEvent( + subject="Door1", + data={"team": sample_members}, + event_type="Azure.Sdk.Demo", + data_version="2.0" + ) + event_list.append(event) + + # publish list of events + client.send(event_list) + print("Batch of size {} published".format(len(event_list))) + time.sleep(randint(1, 5)) diff --git a/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_with_shared_access_signature_sample.py b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_with_shared_access_signature_sample.py new file mode 100644 index 000000000000..80ba720ccfd6 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/samples/publish_samples/publish_with_shared_access_signature_sample.py @@ -0,0 +1,45 @@ +import sys +import os +from random import randint, sample +import time + +PACKAGE_PARENT = '..' +SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) +sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT))) + +from dateutil.tz import tzutc +from datetime import timedelta +import datetime as dt + +from azure.eventgrid import EventGridPublisherClient, CloudEvent, generate_shared_access_signature, EventGridSharedAccessSignatureCredential + +key = os.environ["CLOUD_ACCESS_KEY"] +topic_hostname = os.environ["CLOUD_TOPIC_HOSTNAME"] +expiration_date_utc = dt.datetime.now(tzutc()) + timedelta(hours=1) + +signature = generate_shared_access_signature(topic_hostname, key, expiration_date_utc) + +# authenticate client +credential = EventGridSharedAccessSignatureCredential(signature) +client = EventGridPublisherClient(topic_hostname, credential) + +team_members = ["Josh", "Kerri", "Kieran", "Laurent", "Lily", "Matt", "Soren", "Srikanta", "Swathi"] # possible values for data field + +# publish events +while True: + + event_list = [] # list of events to publish + # create events and append to list + for j in range(randint(1, 3)): + sample_members = sample(team_members, k=randint(1, 9)) # select random subset of team members + event = CloudEvent( + type="Azure.Sdk.Demo", + source="https://egdemo.dev/demowithsignature", + data={"team": sample_members} + ) + event_list.append(event) + + # publish list of events + client.send(event_list) + print("Batch of size {} published".format(len(event_list))) + time.sleep(randint(1, 5)) diff --git a/sdk/eventgrid/azure-eventgrid/sdk_packaging.toml b/sdk/eventgrid/azure-eventgrid/sdk_packaging.toml index 892600b2e61c..1e8195545639 100644 --- a/sdk/eventgrid/azure-eventgrid/sdk_packaging.toml +++ b/sdk/eventgrid/azure-eventgrid/sdk_packaging.toml @@ -1,6 +1,7 @@ [packaging] +auto_update = false package_name = "azure-eventgrid" package_pprint_name = "Event Grid" package_doc_id = "event-grid" -is_stable = true +is_stable = false is_arm = false diff --git a/sdk/eventgrid/azure-eventgrid/setup.py b/sdk/eventgrid/azure-eventgrid/setup.py index cf7a6fb13dad..9353b747230e 100644 --- a/sdk/eventgrid/azure-eventgrid/setup.py +++ b/sdk/eventgrid/azure-eventgrid/setup.py @@ -36,7 +36,9 @@ pass # Version extraction inspired from 'requests' -with open(os.path.join(package_folder_path, 'version.py'), 'r') as fd: +with open(os.path.join(package_folder_path, 'version.py') + if os.path.exists(os.path.join(package_folder_path, 'version.py')) + else os.path.join(package_folder_path, '_version.py'), 'r') as fd: version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE).group(1) @@ -59,27 +61,27 @@ author_email='azpysdkhelp@microsoft.com', url='https://github.com/Azure/azure-sdk-for-python', classifiers=[ - 'Development Status :: 5 - Production/Stable', + 'Development Status :: 4 - Beta', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'License :: OSI Approved :: MIT License', ], zip_safe=False, packages=find_packages(exclude=[ 'tests', + 'samples', # Exclude packages that will be covered by PEP420 or nspkg 'azure', ]), install_requires=[ 'msrest>=0.5.0', - 'msrestazure>=0.4.32,<2.0.0', - 'azure-common~=1.1', + 'azure-core<2.0.0,>=1.7.0', ], extras_require={ ":python_version<'3.0'": ['azure-nspkg'], diff --git a/sdk/eventgrid/azure-eventgrid/swagger/README.PYTHON_T2.md b/sdk/eventgrid/azure-eventgrid/swagger/README.PYTHON_T2.md new file mode 100644 index 000000000000..158cf41dde19 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/swagger/README.PYTHON_T2.md @@ -0,0 +1,36 @@ +# Azure EventGrid Client for Python + +> see https://aka.ms/autorest + +### Configuration + +```yaml +title: EventGridPublisherClient +description: EventGrid Python Publisher Client +generated-metadata: false +license-header: MICROSOFT_MIT_NO_VERSION +no-namespace-folders: true +output-folder: ../azure/eventgrid/_generated +source-code-folder-path: ./azure/eventgrid/_generated +input-file: + - https://raw.githubusercontent.com/t-swpill/azure-rest-api-specs/add-cloud-event-publish-to-event-grid/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/RedisCache.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/IotHub.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/Maps.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/ServiceBus.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/SignalRService.json + - https://github.com/Azure/azure-rest-api-specs/blob/master/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json + +python: true +v3: true +use: "@autorest/python@5.1.0-preview.1" +``` \ No newline at end of file diff --git a/sdk/eventgrid/azure-eventgrid/tests/_mocks.py b/sdk/eventgrid/azure-eventgrid/tests/_mocks.py new file mode 100644 index 000000000000..107d6d6175ed --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/_mocks.py @@ -0,0 +1,77 @@ +import json + + +# storage cloud event +cloud_storage_dict = { + "id":"a0517898-9fa4-4e70-b4a3-afda1dd68672", + "source":"/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-account}", + "data":{ + "api":"PutBlockList", + "client_request_id":"6d79dbfb-0e37-4fc4-981f-442c9ca65760", + "request_id":"831e1650-001e-001b-66ab-eeb76e000000", + "e_tag":"0x8D4BCC2E4835CD0", + "content_type":"application/octet-stream", + "content_length":524288, + "blob_type":"BlockBlob", + "url":"https://oc2d2817345i60006.blob.core.windows.net/oc2d2817345i200097container/oc2d2817345i20002296blob", + "sequencer":"00000000000004420000000000028963", + "storage_diagnostics":{"batchId":"b68529f3-68cd-4744-baa4-3c0498ec19f0"} + }, + "type":"Microsoft.Storage.BlobCreated", + "time":"2020-08-07T01:11:49.765846Z", + "specversion":"1.0" +} +cloud_storage_string = json.dumps(cloud_storage_dict) +cloud_storage_bytes = cloud_storage_string.encode("utf-8") + +# custom cloud event +cloud_custom_dict = { + "id":"de0fd76c-4ef4-4dfb-ab3a-8f24a307e033", + "source":"https://egtest.dev/cloudcustomevent", + "data":{"team": "event grid squad"}, + "type":"Azure.Sdk.Sample", + "time":"2020-08-07T02:06:08.11969Z", + "specversion":"1.0" +} +cloud_custom_string = json.dumps(cloud_custom_dict) +cloud_custom_bytes = cloud_custom_string.encode("utf-8") + +# storage eg event +eg_storage_dict = { + "id":"bbab6625-dc56-4b22-abeb-afcc72e5290c", + "subject":"/blobServices/default/containers/oc2d2817345i200097container/blobs/oc2d2817345i20002296blob", + "data":{ + "api":"PutBlockList", + "clientRequestId":"6d79dbfb-0e37-4fc4-981f-442c9ca65760", + "requestId":"831e1650-001e-001b-66ab-eeb76e000000", + "eTag":"0x8D4BCC2E4835CD0", + "contentType":"application/octet-stream", + "contentLength":524288, + "blobType":"BlockBlob", + "url":"https://oc2d2817345i60006.blob.core.windows.net/oc2d2817345i200097container/oc2d2817345i20002296blob", + "sequencer":"00000000000004420000000000028963", + "storageDiagnostics":{"batchId":"b68529f3-68cd-4744-baa4-3c0498ec19f0"} + }, + "eventType":"Microsoft.Storage.BlobCreated", + "dataVersion":"2.0", + "metadataVersion":"1", + "eventTime":"2020-08-07T02:28:23.867525Z", + "topic":"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/t-swpill-test/providers/Microsoft.EventGrid/topics/eventgridegsub" +} + +eg_storage_string = json.dumps(eg_storage_dict) +eg_storage_bytes = eg_storage_string.encode("utf-8") + +# custom eg event +eg_custom_dict = { + "id":"3a30afef-b604-4b67-973e-7dfff7e178a7", + "subject":"Test EG Custom Event", + "data":{"team":"event grid squad"}, + "eventType":"Azure.Sdk.Sample", + "dataVersion":"2.0", + "metadataVersion":"1", + "eventTime":"2020-08-07T02:19:05.16916Z", + "topic":"/subscriptions/f8aa80ae-d1c8-60ad-9bce-e1a850ba5b67/resourceGroups/sample-resource-group-test/providers/Microsoft.EventGrid/topics/egtopicsamplesub" +} +eg_custom_string = json.dumps(eg_custom_dict) +eg_custom_bytes = eg_custom_string.encode("utf-8") diff --git a/sdk/eventgrid/azure-eventgrid/tests/conftest.py b/sdk/eventgrid/azure-eventgrid/tests/conftest.py new file mode 100644 index 000000000000..2e685fe040dd --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/conftest.py @@ -0,0 +1,33 @@ +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- +import platform +import sys + + +# Ignore async tests for Python < 3.5 +collect_ignore_glob = [] +if sys.version_info < (3, 5): + collect_ignore_glob.append("*_async.py") diff --git a/sdk/eventgrid/azure-eventgrid/tests/eventgrid_preparer.py b/sdk/eventgrid/azure-eventgrid/tests/eventgrid_preparer.py new file mode 100644 index 000000000000..d56af2bcebca --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/eventgrid_preparer.py @@ -0,0 +1,98 @@ +import functools +import hashlib +import os +from collections import namedtuple + +from azure.mgmt.eventgrid import EventGridManagementClient +from azure.mgmt.eventgrid.models import Topic, InputSchema, JsonInputSchemaMapping, JsonField, JsonFieldWithDefault +from azure_devtools.scenario_tests.exceptions import AzureTestError + +from devtools_testutils import ( + ResourceGroupPreparer, AzureMgmtPreparer, FakeResource +) + +from devtools_testutils.resource_testcase import RESOURCE_GROUP_PARAM + +EVENTGRID_TOPIC_PARAM = 'eventgrid_topic' +EVENTGRID_TOPIC_LOCATION = 'westus' +CLOUD_EVENT_SCHEMA = InputSchema.cloud_event_schema_v1_0 +CUSTOM_EVENT_SCHEMA = InputSchema.custom_event_schema +ID_JSON_FIELD = JsonField(source_field='customId') +TOPIC_JSON_FIELD = JsonField(source_field='customTopic') +EVENT_TIME_JSON_FIELD = JsonField(source_field='customEventTime') +EVENT_TYPE_JSON_FIELD_WITH_DEFAULT = JsonFieldWithDefault(source_field='customEventType', default_value='') +SUBJECT_JSON_FIELD_WITH_DEFAULT = JsonFieldWithDefault(source_field='customSubject', default_value='') +DATA_VERSION_JSON_FIELD_WITH_DEFAULT = JsonFieldWithDefault(source_field='customDataVersion', default_value='') +CUSTOM_JSON_INPUT_SCHEMA_MAPPING = JsonInputSchemaMapping(id=ID_JSON_FIELD, topic=TOPIC_JSON_FIELD, event_time=EVENT_TIME_JSON_FIELD, event_type=EVENT_TYPE_JSON_FIELD_WITH_DEFAULT, subject=SUBJECT_JSON_FIELD_WITH_DEFAULT, data_version=DATA_VERSION_JSON_FIELD_WITH_DEFAULT) + + +class EventGridTopicPreparer(AzureMgmtPreparer): + def __init__(self, + name_prefix='', + use_cache=False, + parameter_location=EVENTGRID_TOPIC_LOCATION, + parameter_name=EVENTGRID_TOPIC_PARAM, + resource_group_parameter_name=RESOURCE_GROUP_PARAM, + disable_recording=True, playback_fake_resource=None, + client_kwargs=None, random_name_enabled=True): + super(EventGridTopicPreparer, self).__init__(name_prefix, random_name_length=24, + random_name_enabled=random_name_enabled, + disable_recording=disable_recording, + playback_fake_resource=playback_fake_resource, + client_kwargs=client_kwargs) + self.resource_group_parameter_name = resource_group_parameter_name + self.parameter_name = parameter_name + self.parameter_location = parameter_location + self.name_prefix = name_prefix + if random_name_enabled: + self.resource_moniker = self.name_prefix + "egtopic" + + self.set_cache(use_cache, name_prefix) + + def create_resource(self, name, **kwargs): + if self.is_live: + self.client = self.create_mgmt_client(EventGridManagementClient) + group = self._get_resource_group(**kwargs) + + if self.name_prefix.startswith("cloud"): + # Create a new topic and verify that it is created successfully + topic = Topic(location=self.parameter_location, tags=None, input_schema=CLOUD_EVENT_SCHEMA, input_schema_mapping=None) + elif self.name_prefix.startswith("custom"): + # Create a new topic and verify that it is created successfully + topic = Topic(location=self.parameter_location, tags=None, input_schema=CUSTOM_EVENT_SCHEMA, input_schema_mapping=CUSTOM_JSON_INPUT_SCHEMA_MAPPING) + else: + topic = Topic(location=self.parameter_location) + topic_operation = self.client.topics.create_or_update( + group.name, + name, + topic, + {} + ) + self.resource = topic_operation.result() + key = self.client.topics.list_shared_access_keys(group.name, name) + self.primary_key = key.key1 + self.endpoint = self.resource.endpoint + else: + self.resource = FakeResource(name=name, id=name) + self.primary_key = "ZmFrZV9hY29jdW50X2tleQ==" # test key copied from sb_preparer + self.endpoint = "https://{}.westus-1.eventgrid.azure.net/api/events".format(name) + return { + self.parameter_name: self.resource, + '{}_primary_key'.format(self.parameter_name): self.primary_key, + '{}_endpoint'.format(self.parameter_name): self.endpoint, + } + + def remove_resource(self, name, **kwargs): + if self.is_live: + group = self._get_resource_group(**kwargs) + self.client.topics.delete(group.name, name, polling=False) + + def _get_resource_group(self, **kwargs): + try: + return kwargs.get(self.resource_group_parameter_name) + except KeyError: + template = 'To create this event grid topic resource, a resource group is required. Please add ' \ + 'decorator @{} in front of this event grid topic preparer.' + raise AzureTestError(template.format(ResourceGroupPreparer.__name__)) + +CachedEventGridTopicPreparer = functools.partial(EventGridTopicPreparer, use_cache=True) diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_good_credentials.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_good_credentials.yaml new file mode 100644 index 000000000000..089b5bc10bf1 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_good_credentials.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "06d9e910-81c1-4af0-9083-f4cc918301ea", "subject": "sample", "data": + {"sample": "0"}, "eventType": "Sample.Event", "eventTime": "2020-08-05T16:24:03.70737Z", + "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '188' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + aeg-sas-key: + - xQuFC1jawpZYmAOZrsTGkiUPcXSvDISI66PrlrQcM6Y= + method: POST + uri: https://eventgridtest52vpkcnitf5.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 05 Aug 2020 16:24:02 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_.yaml new file mode 100644 index 000000000000..e0e1add967bc --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "2b863329-4869-4f0e-b64a-b7ca52bfb872", "subject": "sample", "data": + {"sample": "0"}, "eventType": "Sample.Event", "eventTime": "2020-08-05T16:24:24.902399Z", + "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '189' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + aeg-sas-key: + - 8fgxUonulneikv0EvLHfgMGhw1K5MMsXWe16KNNdWg0= + method: POST + uri: https://eventgridtestwsljzbswegg.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 05 Aug 2020 16:24:24 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event.yaml new file mode 100644 index 000000000000..a6cd0057d4f4 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "4fd97389-b193-44ca-bcc9-ed52d5195101", "source": "http://samplesource.dev", + "data": {"sample": "cloud"}, "type": "Sample.Cloud.Event", "time": "2020-08-05T21:07:00.18891Z", + "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '204' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + aeg-sas-key: + - cQXFSFmXpb3atzg/cNltZL9GqrNQSeBax/Uw+Y2HKHw= + method: POST + uri: https://cloudeventgridtestztxiam.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 05 Aug 2020 21:07:00 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event_data_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event_data_dict.yaml new file mode 100644 index 000000000000..cdc77fdc6fdb --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event_data_dict.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "09ba13db-87a6-46e2-a751-788612217a2b", "source": "http://samplesource.dev", + "data": {"sample": "cloudevent"}, "type": "Sample.Cloud.Event", "time": "2020-08-05T21:23:31.005557Z", + "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '210' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + aeg-sas-key: + - TBW8YxO+xO4DAfWTwBz+SkOvRRCRe8u6jvfvWkVKvds= + method: POST + uri: https://cloudeventgridtestpgb34o.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 05 Aug 2020 21:23:31 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event_data_str.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event_data_str.yaml new file mode 100644 index 000000000000..36f0bbf08d9a --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_cloud_event_data_str.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "51053de8-ebfe-47db-95fe-67882c8de067", "source": "http://samplesource.dev", + "data": "cloudevent", "type": "Sample.Cloud.Event", "time": "2020-08-05T21:23:50.780278Z", + "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '198' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + aeg-sas-key: + - eUWCGTSgST9ZprGj10Df1Q1cBY6gtu95nDvWfupM7S4= + method: POST + uri: https://cloudeventgridtestbxd5ay.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 05 Aug 2020 21:23:50 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_event_grid_event.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_event_grid_event.yaml new file mode 100644 index 000000000000..c3a6d273eb80 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_event_grid_event.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "8cf3b6a9-ae8c-41aa-be33-15dd34774b92", "subject": "sample", "data": + {"sample": "0"}, "eventType": "Sample.Event", "eventTime": "2020-08-05T21:07:20.073184Z", + "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '189' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + aeg-sas-key: + - f68bBwrYetWs4a0MIm4KRj2vZQtFLnBfI2dlStDpn/4= + method: POST + uri: https://eventgridtestat3wftu6mau.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 05 Aug 2020 21:07:20 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_event_grid_event_data_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_event_grid_event_data_dict.yaml new file mode 100644 index 000000000000..1cc882b0bff9 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_client.test_eg_client_publish_event_grid_event_data_dict.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "98900358-4381-48c5-8205-4b6284397097", "subject": "sample", "data": + {"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime": + "2020-08-05T21:24:09.350896Z", "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '212' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + aeg-sas-key: + - WyF/d4cVbqGKKFMu9P1zM4RGH8lbIvCSNS9B/7mFxWc= + method: POST + uri: https://eventgridtesthjrorjbmg2q.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 05 Aug 2020 21:24:08 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_cloud_event_data_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_cloud_event_data_dict.yaml new file mode 100644 index 000000000000..bb9ded430109 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_cloud_event_data_dict.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "45361ea3-f937-47fe-85fc-182c24b14fc5", "source": "http://samplesource.dev", + "data": {"sample": "cloudevent"}, "type": "Sample.Cloud.Event", "time": "2020-08-11T06:39:22.600597Z", + "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '210' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - flIbhDLap/Ioym6KTtqsPbYUGYpL+AKCiVG/InyRHj4= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Tue, 11 Aug 2020 06:39:21 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_cloud_event_data_str.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_cloud_event_data_str.yaml new file mode 100644 index 000000000000..8e8eb4bdc441 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_cloud_event_data_str.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "47f96517-0a4b-4c99-bad4-c3314818ed30", "source": "http://samplesource.dev", + "data": "cloudevent", "type": "Sample.Cloud.Event", "time": "2020-08-11T06:39:23.189542Z", + "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '198' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - flIbhDLap/Ioym6KTtqsPbYUGYpL+AKCiVG/InyRHj4= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Tue, 11 Aug 2020 06:39:22 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_custom_schema_event.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_custom_schema_event.yaml new file mode 100644 index 000000000000..df085a6d1652 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_custom_schema_event.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"customSubject": "sample", "customEventType": "sample.event", "customDataVersion": + "2.0", "customId": "1234", "customEventTime": "2020-08-11T06:39:36.974650+00:00", + "customData": "sample data"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '196' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - fxkmsikqjbH4ihoDP0Jqebsu6tQAS5+LcZEDKHN40Tc= + method: POST + uri: https://customeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Tue, 11 Aug 2020 06:39:36 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_event_grid_event_data_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_event_grid_event_data_dict.yaml new file mode 100644 index 000000000000..80389ad9f7e5 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_event_grid_event_data_dict.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "38eab883-eb07-4ae1-9ff4-12ebaf022113", "subject": "sample", "data": + {"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime": + "2020-08-11T06:39:51.000672Z", "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '212' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - mu+h0B1P+GXAS5TCSIJVZ/oZUf+Pur3p90WxHabL2MM= + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Tue, 11 Aug 2020 06:39:50 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_event_grid_event_data_str.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_event_grid_event_data_str.yaml new file mode 100644 index 000000000000..282bd88f7280 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_event_grid_event_data_str.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "56a121b0-92b9-4921-b11b-2a99b0b4c5be", "subject": "sample", "data": + "eventgridevent", "eventType": "Sample.EventGrid.Event", "eventTime": "2020-08-11T06:39:51.543811Z", + "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '200' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - mu+h0B1P+GXAS5TCSIJVZ/oZUf+Pur3p90WxHabL2MM= + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Tue, 11 Aug 2020 06:39:51 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_signature_credential.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_signature_credential.yaml new file mode 100644 index 000000000000..4948c3eaecbe --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_eg_publisher_client_publish_signature_credential.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "849de85a-06ec-4d66-a41c-638ceb4ab7cb", "subject": "sample", "data": + {"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime": + "2020-08-11T06:39:51.999494Z", "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '212' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-token: + - r=https%3A%2F%2Feventgridtestmsevpyxtqca.westus-1.eventgrid.azure.net%2Fapi%2Fevents%3FapiVersion%3D2018-01-01&e=2020-08-11%2007%3A39%3A51.997500%2B00%3A00&s=uPP02vkTyXgAw66IZMR%2B8xG92iHk1Imn4nnIN8ruM%2Bw%3D + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Tue, 11 Aug 2020 06:39:51 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_as_list.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_as_list.yaml new file mode 100644 index 000000000000..0cd77a94c75e --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_as_list.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "3dc4b913-4bc2-41f8-be9b-bf1f67069806", "source": "http://samplesource.dev", + "data": "cloudevent", "type": "Sample.Cloud.Event", "time": "2020-08-19T03:36:41.947462Z", + "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '198' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - dHUaOOg5xRj+D7iH/AC92GyHweLx9ugrDuMDg4e5Xvw= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:36:43 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_dict.yaml new file mode 100644 index 000000000000..d0ffe1e0c37f --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_dict.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "51c18497-2a25-45f1-b9ba-fdaf08c00263", "source": "http://samplesource.dev", + "data": {"sample": "cloudevent"}, "type": "Sample.Cloud.Event", "time": "2020-08-19T03:36:42.304479Z", + "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '210' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - dHUaOOg5xRj+D7iH/AC92GyHweLx9ugrDuMDg4e5Xvw= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:36:43 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_str.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_str.yaml new file mode 100644 index 000000000000..d5daebc0544c --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_data_str.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "6a315e93-a59c-4eca-b2f2-6bf3b8f27984", "source": "http://samplesource.dev", + "data": "cloudevent", "type": "Sample.Cloud.Event", "time": "2020-08-19T03:36:42.629467Z", + "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '198' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - dHUaOOg5xRj+D7iH/AC92GyHweLx9ugrDuMDg4e5Xvw= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:36:43 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_dict.yaml new file mode 100644 index 000000000000..58267d8b955e --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_cloud_event_dict.yaml @@ -0,0 +1,39 @@ +interactions: +- request: + body: '[{"id": "1234", "source": "http://samplesource.dev", "data": "cloudevent", + "type": "Sample.Cloud.Event", "specversion": "1.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '127' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - dHUaOOg5xRj+D7iH/AC92GyHweLx9ugrDuMDg4e5Xvw= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:36:44 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_custom_schema_event.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_custom_schema_event.yaml new file mode 100644 index 000000000000..3c126ae700cf --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_custom_schema_event.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"customSubject": "sample", "customEventType": "sample.event", "customDataVersion": + "2.0", "customId": "1234", "customEventTime": "2020-08-19T03:36:56.936961+00:00", + "customData": "sample data"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '196' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - uPQPJHQHsAhBxWOWtRXslz3sXf7TJ5lcqLZ6SC4QzJ4= + method: POST + uri: https://customeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:36:57 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_custom_schema_event_as_list.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_custom_schema_event_as_list.yaml new file mode 100644 index 000000000000..6f84dc2cbe23 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_custom_schema_event_as_list.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '[{"customSubject": "sample", "customEventType": "sample.event", "customDataVersion": + "2.0", "customId": "1234", "customEventTime": "2020-08-19T03:36:57.422734+00:00", + "customData": "sample data"}, {"customSubject": "sample2", "customEventType": + "sample.event", "customDataVersion": "2.0", "customId": "12345", "customEventTime": + "2020-08-19T03:36:57.422734+00:00", "customData": "sample data 2"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '396' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - uPQPJHQHsAhBxWOWtRXslz3sXf7TJ5lcqLZ6SC4QzJ4= + method: POST + uri: https://customeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + connection: + - close + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:36:58 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_as_list.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_as_list.yaml new file mode 100644 index 000000000000..d5cab7375376 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_as_list.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: '[{"id": "576f3e27-5433-47b3-8b4e-e31ea6a1bdde", "subject": "sample", "data": + "eventgridevent", "eventType": "Sample.EventGrid.Event", "eventTime": "2020-08-19T03:37:11.07064Z", + "dataVersion": "2.0"}, {"id": "6c359c8d-b1fe-4458-96c5-eaffcd864573", "subject": + "sample2", "data": "eventgridevent2", "eventType": "Sample.EventGrid.Event", + "eventTime": "2020-08-19T03:37:11.071641Z", "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '401' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - dS38eoc9IPjofR5npZ1QXrsb3Gz/Kdt99ZdK9SJ+99w= + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:37:12 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_dict.yaml new file mode 100644 index 000000000000..d20ed7f4c9c4 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_dict.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "fbf293f1-d609-4fd8-8d3b-b0ed0e406795", "subject": "sample", "data": + {"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime": + "2020-08-19T03:37:11.563581Z", "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '212' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - dS38eoc9IPjofR5npZ1QXrsb3Gz/Kdt99ZdK9SJ+99w= + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:37:12 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_str.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_str.yaml new file mode 100644 index 000000000000..22679778a2fc --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_event_grid_event_data_str.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "10994707-90e7-431e-88f0-2abae07cc806", "subject": "sample", "data": + "eventgridevent", "eventType": "Sample.EventGrid.Event", "eventTime": "2020-08-19T03:37:11.893631Z", + "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '200' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - dS38eoc9IPjofR5npZ1QXrsb3Gz/Kdt99ZdK9SJ+99w= + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:37:12 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_signature_credential.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_signature_credential.yaml new file mode 100644 index 000000000000..35bc4e03ed5b --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client.test_send_signature_credential.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '[{"id": "18fe69c3-59bf-4e53-97e1-2e5310e4884f", "subject": "sample", "data": + {"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime": + "2020-08-19T03:37:12.238633Z", "dataVersion": "2.0"}]' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '212' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-token: + - r=https%3A%2F%2Feventgridtestpm22oyo2kyl.westus-1.eventgrid.azure.net%2Fapi%2Fevents%3FapiVersion%3D2018-01-01&e=2020-08-19%2004%3A37%3A12.237630%2B00%3A00&s=NiA404pCphKDcLVP9%2FjN%2FY0%2BnejDRolHVkrEnfrXk6c%3D + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: + - '2018-01-01' + content-length: + - '0' + date: + - Wed, 19 Aug 2020 03:37:12 GMT + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_as_list.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_as_list.yaml new file mode 100644 index 000000000000..b3c4782bd674 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_as_list.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: '[{"id": "a07023d9-c7ff-4f38-abe0-c3a8e555991b", "source": "http://samplesource.dev", + "data": "cloudevent", "type": "Sample.Cloud.Event", "time": "2020-08-26T08:36:53.957412Z", + "specversion": "1.0"}]' + headers: + Content-Length: + - '198' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - lWdojve+oWWftlsc/y8gop1eyam9FXonHf0jmkPpA6Q= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:36:53 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://cloudeventgridtestgz6mhk.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_dict.yaml new file mode 100644 index 000000000000..459913a84c1d --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_dict.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: '[{"id": "75b863c6-4344-47c5-a449-08ba3e68f912", "source": "http://samplesource.dev", + "data": {"sample": "cloudevent"}, "type": "Sample.Cloud.Event", "time": "2020-08-26T08:36:54.319455Z", + "specversion": "1.0"}]' + headers: + Content-Length: + - '210' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - lWdojve+oWWftlsc/y8gop1eyam9FXonHf0jmkPpA6Q= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:36:54 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://cloudeventgridtestgz6mhk.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_str.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_str.yaml new file mode 100644 index 000000000000..0e83ae4d6684 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_data_str.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: '[{"id": "69cea73a-a033-4f12-ae17-0d2b21b4adbb", "source": "http://samplesource.dev", + "data": "cloudevent", "type": "Sample.Cloud.Event", "time": "2020-08-26T08:36:54.592725Z", + "specversion": "1.0"}]' + headers: + Content-Length: + - '198' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - lWdojve+oWWftlsc/y8gop1eyam9FXonHf0jmkPpA6Q= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:36:53 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://cloudeventgridtestgz6mhk.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_dict.yaml new file mode 100644 index 000000000000..3c78a559a94b --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_cloud_event_dict.yaml @@ -0,0 +1,29 @@ +interactions: +- request: + body: '[{"id": "1234", "source": "http://samplesource.dev", "data": "cloudevent", + "type": "Sample.Cloud.Event", "specversion": "1.0"}]' + headers: + Content-Length: + - '127' + Content-Type: + - application/cloudevents-batch+json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - lWdojve+oWWftlsc/y8gop1eyam9FXonHf0jmkPpA6Q= + method: POST + uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:36:54 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://cloudeventgridtestgz6mhk.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_custom_schema_event.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_custom_schema_event.yaml new file mode 100644 index 000000000000..f62e83d46adf --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_custom_schema_event.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: '[{"customSubject": "sample", "customEventType": "sample.event", "customDataVersion": + "2.0", "customId": "1234", "customEventTime": "2020-08-26T08:37:08.332700+00:00", + "customData": "sample data"}]' + headers: + Content-Length: + - '196' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - pWVPWql9F5Q5CqInHnpIWhyIWYW0gjMKy3N93kFcq8c= + method: POST + uri: https://customeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:37:08 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://customeventgridtestj225p.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_custom_schema_event_as_list.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_custom_schema_event_as_list.yaml new file mode 100644 index 000000000000..8a6bd49d86e9 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_custom_schema_event_as_list.yaml @@ -0,0 +1,32 @@ +interactions: +- request: + body: '[{"customSubject": "sample", "customEventType": "sample.event", "customDataVersion": + "2.0", "customId": "1234", "customEventTime": "2020-08-26T08:37:08.710695+00:00", + "customData": "sample data"}, {"customSubject": "sample2", "customEventType": + "sample.event", "customDataVersion": "2.0", "customId": "12345", "customEventTime": + "2020-08-26T08:37:08.710695+00:00", "customData": "sample data 2"}]' + headers: + Content-Length: + - '396' + Content-Type: + - application/json + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - pWVPWql9F5Q5CqInHnpIWhyIWYW0gjMKy3N93kFcq8c= + method: POST + uri: https://customeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:37:08 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://customeventgridtestj225p.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_as_list.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_as_list.yaml new file mode 100644 index 000000000000..ffab3ee0d911 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_as_list.yaml @@ -0,0 +1,32 @@ +interactions: +- request: + body: '[{"id": "d8217ffd-6e75-44e7-adbb-ed9869aa275b", "subject": "sample", "data": + "eventgridevent", "eventType": "Sample.EventGrid.Event", "eventTime": "2020-08-26T08:37:22.429524Z", + "dataVersion": "2.0"}, {"id": "8238c6eb-dd48-4404-bdb1-cc3fd06ceabd", "subject": + "sample2", "data": "eventgridevent2", "eventType": "Sample.EventGrid.Event", + "eventTime": "2020-08-26T08:37:22.429524Z", "dataVersion": "2.0"}]' + headers: + Content-Length: + - '402' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - NpNkZLDV1WROE17wLypJk8VTz8hmAcByPv3tsCmhlys= + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:37:21 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://eventgridtesty45wuyer4g4.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_dict.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_dict.yaml new file mode 100644 index 000000000000..f20a2a16b4d8 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_dict.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: '[{"id": "3654b7c2-6219-45a6-a6e6-001770982469", "subject": "sample", "data": + {"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime": + "2020-08-26T08:37:22.81246Z", "dataVersion": "2.0"}]' + headers: + Content-Length: + - '211' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - NpNkZLDV1WROE17wLypJk8VTz8hmAcByPv3tsCmhlys= + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:37:22 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://eventgridtesty45wuyer4g4.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_str.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_str.yaml new file mode 100644 index 000000000000..74bde4b6c0e9 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_event_grid_event_data_str.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: '[{"id": "5bd130e8-0001-488a-9cd6-807d6bb30270", "subject": "sample", "data": + "eventgridevent", "eventType": "Sample.EventGrid.Event", "eventTime": "2020-08-26T08:37:23.122484Z", + "dataVersion": "2.0"}]' + headers: + Content-Length: + - '200' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-key: + - NpNkZLDV1WROE17wLypJk8VTz8hmAcByPv3tsCmhlys= + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:37:23 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://eventgridtesty45wuyer4g4.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_signature_credential.yaml b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_signature_credential.yaml new file mode 100644 index 000000000000..28c6113cb3a9 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/recordings/test_eg_publisher_client_async.test_send_signature_credential.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: '[{"id": "711ffb3e-f134-45bd-b12c-b9d9463b2b95", "subject": "sample", "data": + {"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime": + "2020-08-26T08:37:23.403459Z", "dataVersion": "2.0"}]' + headers: + Content-Length: + - '212' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0) + aeg-sas-token: + - r=https%3A%2F%2Feventgridtesty45wuyer4g4.westus-1.eventgrid.azure.net%2Fapi%2Fevents%3FapiVersion%3D2018-01-01&e=2020-08-26%2009%3A37%3A23.402457%2B00%3A00&s=CCoSPjEt0vQovS3vOJXxswxV%2Frkxn9TCQPjtmE8xNeM%3D + method: POST + uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 + response: + body: + string: '' + headers: + api-supported-versions: '2018-01-01' + content-length: '0' + date: Wed, 26 Aug 2020 08:37:22 GMT + server: Microsoft-HTTPAPI/2.0 + strict-transport-security: max-age=31536000; includeSubDomains + status: + code: 200 + message: OK + url: https://eventgridtesty45wuyer4g4.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01 +version: 1 diff --git a/sdk/eventgrid/azure-eventgrid/tests/test_azure_eventgrid.py b/sdk/eventgrid/azure-eventgrid/tests/test_azure_eventgrid.py deleted file mode 100644 index 01b3ce458351..000000000000 --- a/sdk/eventgrid/azure-eventgrid/tests/test_azure_eventgrid.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- -from datetime import datetime - -from azure.eventgrid import EventGridClient -from msrest.authentication import TopicCredentials - -from azure_devtools.scenario_tests import ReplayableTest, AzureTestError - -from devtools_testutils import mgmt_settings_fake as fake_settings - - -class EventGridTest(ReplayableTest): - FILTER_HEADERS = ReplayableTest.FILTER_HEADERS + ['aeg-sas-key'] - - def __init__(self, method_name): - self._fake_settings, self._real_settings = self._load_settings() - super(EventGridTest, self).__init__(method_name) - - @property - def settings(self): - if self.is_live: - if self._real_settings: - return self._real_settings - else: - raise AzureTestError('Need a mgmt_settings_real.py file to run tests live.') - else: - return self._fake_settings - - def _load_settings(self): - try: - from devtools_testutils import mgmt_settings_real as real_settings - return fake_settings, real_settings - except ImportError: - return fake_settings, None - - def test_event_grid_basic(self): - - credentials = TopicCredentials( - self.settings.EVENT_GRID_KEY - ) - event_grid_client = EventGridClient(credentials) - event_grid_client.publish_events( - "lmazuel-eventgrid-test.westus2-1.eventgrid.azure.net", - events=[{ - 'id' : "dbf93d79-3859-4cac-8055-51e3b6b54bea", - 'subject' : "My subject", - 'data': { - 'key': 'I accept any kind of data here' - }, - 'event_type': 'PersonalEventType', - 'event_time': datetime(2018, 1, 30), - 'data_version': 1 - }] - ) - diff --git a/sdk/eventgrid/azure-eventgrid/tests/test_eg_consumer.py b/sdk/eventgrid/azure-eventgrid/tests/test_eg_consumer.py new file mode 100644 index 000000000000..755a7e15df4b --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/test_eg_consumer.py @@ -0,0 +1,142 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +#-------------------------------------------------------------------------- + +import logging +import sys +import os +import pytest +import json +import datetime as dt + +from devtools_testutils import AzureMgmtTestCase +from msrest.serialization import UTC +from azure.eventgrid import EventGridConsumer, CloudEvent, EventGridEvent, StorageBlobCreatedEventData +from _mocks import ( + cloud_storage_dict, + cloud_storage_string, + cloud_storage_bytes, + cloud_custom_dict, + cloud_custom_string, + cloud_custom_bytes, + eg_custom_dict, + eg_custom_string, + eg_custom_bytes, + eg_storage_dict, + eg_storage_string, + eg_storage_bytes + ) + +class EventGridConsumerTests(AzureMgmtTestCase): + + # Cloud Event tests + @pytest.mark.liveTest + def test_eg_consumer_cloud_storage_dict(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(cloud_storage_dict) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == CloudEvent + assert deserialized_event.model.data.__class__ == StorageBlobCreatedEventData + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_cloud_storage_string(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(cloud_storage_string) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == CloudEvent + assert deserialized_event.model.data.__class__ == StorageBlobCreatedEventData + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_cloud_storage_bytes(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(cloud_storage_bytes) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == CloudEvent + assert deserialized_event.model.data.__class__ == StorageBlobCreatedEventData + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_cloud_custom_dict(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(cloud_custom_dict) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == CloudEvent + assert deserialized_event.model.data is None + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_cloud_custom_string(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(cloud_custom_string) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == CloudEvent + assert deserialized_event.model.data is None + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_cloud_custom_bytes(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(cloud_custom_bytes) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == CloudEvent + assert deserialized_event.model.data is None + assert event_json.__class__ == dict + + # EG Event tests + @pytest.mark.liveTest + def test_eg_consumer_eg_storage_dict(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(eg_storage_dict) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == EventGridEvent + assert deserialized_event.model.data.__class__ == StorageBlobCreatedEventData + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_eg_storage_string(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(eg_storage_string) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == EventGridEvent + assert deserialized_event.model.data.__class__ == StorageBlobCreatedEventData + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_eg_storage_bytes(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(eg_storage_bytes) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == EventGridEvent + assert deserialized_event.model.data.__class__ == StorageBlobCreatedEventData + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_eg_custom_dict(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(eg_custom_dict) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == EventGridEvent + assert deserialized_event.model.data is None + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_eg_custom_string(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(eg_custom_string) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == EventGridEvent + assert deserialized_event.model.data is None + assert event_json.__class__ == dict + + @pytest.mark.liveTest + def test_eg_consumer_eg_custom_bytes(self, **kwargs): + client = EventGridConsumer() + deserialized_event = client.deserialize_event(eg_custom_bytes) + event_json = deserialized_event.to_json() + assert deserialized_event.model.__class__ == EventGridEvent + assert deserialized_event.model.data is None + assert event_json.__class__ == dict diff --git a/sdk/eventgrid/azure-eventgrid/tests/test_eg_publisher_client.py b/sdk/eventgrid/azure-eventgrid/tests/test_eg_publisher_client.py new file mode 100644 index 000000000000..3c4a45a021a8 --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/test_eg_publisher_client.py @@ -0,0 +1,188 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +#-------------------------------------------------------------------------- + +import logging +import sys +import os +import pytest +from datetime import timedelta +from msrest.serialization import UTC +import datetime as dt + +from devtools_testutils import AzureMgmtTestCase, CachedResourceGroupPreparer + +from azure.core.credentials import AzureKeyCredential +from azure.eventgrid import EventGridPublisherClient, CloudEvent, EventGridEvent, CustomEvent ,EventGridSharedAccessSignatureCredential, generate_shared_access_signature + +from eventgrid_preparer import ( + CachedEventGridTopicPreparer +) + +class EventGridPublisherClientTests(AzureMgmtTestCase): + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='eventgridtest') + def test_send_event_grid_event_data_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + eg_event = EventGridEvent( + subject="sample", + data={"sample": "eventgridevent"}, + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + client.send(eg_event) + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='eventgridtest') + def test_send_event_grid_event_data_as_list(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + eg_event1 = EventGridEvent( + subject="sample", + data="eventgridevent", + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + eg_event2 = EventGridEvent( + subject="sample2", + data="eventgridevent2", + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + client.send([eg_event1, eg_event2]) + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='eventgridtest') + def test_send_event_grid_event_data_str(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + eg_event = EventGridEvent( + subject="sample", + data="eventgridevent", + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + client.send(eg_event) + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest') + def test_send_cloud_event_data_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + cloud_event = CloudEvent( + source = "http://samplesource.dev", + data = {"sample": "cloudevent"}, + type="Sample.Cloud.Event" + ) + client.send(cloud_event) + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest') + def test_send_cloud_event_data_str(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + cloud_event = CloudEvent( + source = "http://samplesource.dev", + data = "cloudevent", + type="Sample.Cloud.Event" + ) + client.send(cloud_event) + + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest') + def test_send_cloud_event_data_as_list(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + cloud_event = CloudEvent( + source = "http://samplesource.dev", + data = "cloudevent", + type="Sample.Cloud.Event" + ) + client.send([cloud_event]) + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest') + def test_send_cloud_event_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + cloud_event1 = { + "id": "1234", + "source": "http://samplesource.dev", + "specversion": "1.0", + "data": "cloudevent", + "type": "Sample.Cloud.Event" + } + client.send(cloud_event1) + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='eventgridtest') + def test_send_signature_credential(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + expiration_date_utc = dt.datetime.now(UTC()) + timedelta(hours=1) + signature = generate_shared_access_signature(eventgrid_topic_endpoint, eventgrid_topic_primary_key, expiration_date_utc) + credential = EventGridSharedAccessSignatureCredential(signature) + client = EventGridPublisherClient(eventgrid_topic_endpoint, credential) + eg_event = EventGridEvent( + subject="sample", + data={"sample": "eventgridevent"}, + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + client.send(eg_event) + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='customeventgridtest') + def test_send_custom_schema_event(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + custom_event = CustomEvent( + { + "customSubject": "sample", + "customEventType": "sample.event", + "customDataVersion": "2.0", + "customId": "1234", + "customEventTime": dt.datetime.now(UTC()).isoformat(), + "customData": "sample data" + } + ) + client.send(custom_event) + + @pytest.mark.liveTest + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='customeventgridtest') + def test_send_custom_schema_event_as_list(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + custom_event1 = CustomEvent( + { + "customSubject": "sample", + "customEventType": "sample.event", + "customDataVersion": "2.0", + "customId": "1234", + "customEventTime": dt.datetime.now(UTC()).isoformat(), + "customData": "sample data" + } + ) + custom_event2 = CustomEvent( + { + "customSubject": "sample2", + "customEventType": "sample.event", + "customDataVersion": "2.0", + "customId": "12345", + "customEventTime": dt.datetime.now(UTC()).isoformat(), + "customData": "sample data 2" + } + ) + client.send([custom_event1, custom_event2]) diff --git a/sdk/eventgrid/azure-eventgrid/tests/test_eg_publisher_client_async.py b/sdk/eventgrid/azure-eventgrid/tests/test_eg_publisher_client_async.py new file mode 100644 index 000000000000..a93dc748dd4b --- /dev/null +++ b/sdk/eventgrid/azure-eventgrid/tests/test_eg_publisher_client_async.py @@ -0,0 +1,199 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +#-------------------------------------------------------------------------- + +import logging +import asyncio +import sys +import os +import pytest +from datetime import timedelta +from msrest.serialization import UTC +import datetime as dt + +from devtools_testutils import AzureMgmtTestCase, CachedResourceGroupPreparer + +from azure.core.credentials import AzureKeyCredential +from azure.eventgrid import CloudEvent, EventGridEvent, CustomEvent ,EventGridSharedAccessSignatureCredential, generate_shared_access_signature +from azure.eventgrid.aio import EventGridPublisherClient + +from eventgrid_preparer import ( + CachedEventGridTopicPreparer +) + +class EventGridPublisherClientTests(AzureMgmtTestCase): + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='eventgridtest') + @pytest.mark.asyncio + async def test_send_event_grid_event_data_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + eg_event = EventGridEvent( + subject="sample", + data={"sample": "eventgridevent"}, + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + await client.send(eg_event) + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='eventgridtest') + @pytest.mark.asyncio + async def test_send_event_grid_event_data_as_list(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + eg_event1 = EventGridEvent( + subject="sample", + data="eventgridevent", + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + eg_event2 = EventGridEvent( + subject="sample2", + data="eventgridevent2", + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + await client.send([eg_event1, eg_event2]) + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='eventgridtest') + @pytest.mark.asyncio + async def test_send_event_grid_event_data_str(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + eg_event = EventGridEvent( + subject="sample", + data="eventgridevent", + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + await client.send(eg_event) + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest') + @pytest.mark.asyncio + async def test_send_cloud_event_data_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + cloud_event = CloudEvent( + source = "http://samplesource.dev", + data = {"sample": "cloudevent"}, + type="Sample.Cloud.Event" + ) + await client.send(cloud_event) + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest') + @pytest.mark.asyncio + async def test_send_cloud_event_data_str(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + cloud_event = CloudEvent( + source = "http://samplesource.dev", + data = "cloudevent", + type="Sample.Cloud.Event" + ) + await client.send(cloud_event) + + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest') + @pytest.mark.asyncio + async def test_send_cloud_event_data_as_list(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + cloud_event = CloudEvent( + source = "http://samplesource.dev", + data = "cloudevent", + type="Sample.Cloud.Event" + ) + await client.send([cloud_event]) + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest') + @pytest.mark.asyncio + async def test_send_cloud_event_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + cloud_event1 = { + "id": "1234", + "source": "http://samplesource.dev", + "specversion": "1.0", + "data": "cloudevent", + "type": "Sample.Cloud.Event" + } + await client.send(cloud_event1) + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='eventgridtest') + @pytest.mark.asyncio + async def test_send_signature_credential(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + expiration_date_utc = dt.datetime.now(UTC()) + timedelta(hours=1) + signature = generate_shared_access_signature(eventgrid_topic_endpoint, eventgrid_topic_primary_key, expiration_date_utc) + credential = EventGridSharedAccessSignatureCredential(signature) + client = EventGridPublisherClient(eventgrid_topic_endpoint, credential) + eg_event = EventGridEvent( + subject="sample", + data={"sample": "eventgridevent"}, + event_type="Sample.EventGrid.Event", + data_version="2.0" + ) + await client.send(eg_event) + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='customeventgridtest') + @pytest.mark.asyncio + async def test_send_custom_schema_event(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + custom_event = CustomEvent( + { + "customSubject": "sample", + "customEventType": "sample.event", + "customDataVersion": "2.0", + "customId": "1234", + "customEventTime": dt.datetime.now(UTC()).isoformat(), + "customData": "sample data" + } + ) + await client.send(custom_event) + + + @CachedResourceGroupPreparer(name_prefix='eventgridtest') + @CachedEventGridTopicPreparer(name_prefix='customeventgridtest') + @pytest.mark.asyncio + async def test_send_custom_schema_event_as_list(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): + akc_credential = AzureKeyCredential(eventgrid_topic_primary_key) + client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential) + custom_event1 = CustomEvent( + { + "customSubject": "sample", + "customEventType": "sample.event", + "customDataVersion": "2.0", + "customId": "1234", + "customEventTime": dt.datetime.now(UTC()).isoformat(), + "customData": "sample data" + } + ) + custom_event2 = CustomEvent( + { + "customSubject": "sample2", + "customEventType": "sample.event", + "customDataVersion": "2.0", + "customId": "12345", + "customEventTime": dt.datetime.now(UTC()).isoformat(), + "customData": "sample data 2" + } + ) + await client.send([custom_event1, custom_event2]) diff --git a/sdk/eventgrid/ci.yml b/sdk/eventgrid/ci.yml index 847f719bf461..ef518abd365d 100644 --- a/sdk/eventgrid/ci.yml +++ b/sdk/eventgrid/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -32,4 +31,4 @@ extends: - name: azure_mgmt_eventgrid safeName: azuremgmteventgrid - name: azure_eventgrid - safeName: azureeventgrid \ No newline at end of file + safeName: azureeventgrid diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/CHANGELOG.md b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/CHANGELOG.md index 524cf5a2bf1c..446233b544d7 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/CHANGELOG.md +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/CHANGELOG.md @@ -1,6 +1,8 @@ # Release History -## 1.1.1 (Unreleased) +## 1.1.1 (2020-09-08) +**Bug fixes** +- Fixed a bug that may gradually slow down retrieving checkpoint data from the storage blob if the storage account "File share soft delete" is enabled. #12836 ## 1.1.0 (2020-03-09) diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/README.md b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/README.md index fd1fac190444..7a0f80babfc2 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/README.md +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/README.md @@ -5,18 +5,18 @@ This Checkpoint Store package works as a plug-in package to `EventHubConsumerCli Please note that this is an async library, for sync version of the Azure EventHubs Checkpoint Store client library, please refer to [azure-eventhub-checkpointstoreblob](../azure-eventhub-checkpointstoreblob). -[Source code](./) | [Package (PyPi)](https://pypi.org/project/azure-eventhub-checkpointstoreblob-aio/) | [API reference documentation](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-eventhub/5.0.1/azure.eventhub.aio.html#azure.eventhub.aio.CheckpointStore) | [Azure Eventhubs documentation](https://docs.microsoft.com/en-us/azure/event-hubs/) | [Azure Storage documentation](https://docs.microsoft.com/en-us/azure/storage/) +[Source code](./) | [Package (PyPi)](https://pypi.org/project/azure-eventhub-checkpointstoreblob-aio/) | [API reference documentation](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-eventhub/5.0.1/azure.eventhub.aio.html#azure.eventhub.aio.CheckpointStore) | [Azure Eventhubs documentation](https://docs.microsoft.com/azure/event-hubs/) | [Azure Storage documentation](https://docs.microsoft.com/azure/storage/) ## Getting started ### Prerequisites - Python 3.5.3 or later. -- **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://azure.microsoft.com/en-us/). +- **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://azure.microsoft.com/). -- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. +- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. -- **Azure Storage Account:** You'll need to have an Azure Storage Account and create a Azure Blob Storage Block Container to store the checkpoint data with blobs. You may follow the guide [creating an Azure Block Blob Storage Account](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-create-account-block-blob). +- **Azure Storage Account:** You'll need to have an Azure Storage Account and create a Azure Blob Storage Block Container to store the checkpoint data with blobs. You may follow the guide [creating an Azure Block Blob Storage Account](https://docs.microsoft.com/azure/storage/blobs/storage-blob-create-account-block-blob). ### Install the package diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/azure/eventhub/extensions/checkpointstoreblobaio/_blobstoragecsaio.py b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/azure/eventhub/extensions/checkpointstoreblobaio/_blobstoragecsaio.py index 8ee9aaca319b..4b6f9b64addc 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/azure/eventhub/extensions/checkpointstoreblobaio/_blobstoragecsaio.py +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/azure/eventhub/extensions/checkpointstoreblobaio/_blobstoragecsaio.py @@ -8,7 +8,7 @@ import asyncio from azure.eventhub.exceptions import OwnershipLostError # type: ignore from azure.eventhub.aio import CheckpointStore # type: ignore # pylint: disable=no-name-in-module -from azure.core.exceptions import ResourceModifiedError, ResourceExistsError # type: ignore +from azure.core.exceptions import ResourceModifiedError, ResourceExistsError, ResourceNotFoundError # type: ignore from ._vendor.storage.blob.aio import ContainerClient, BlobClient from ._vendor.storage.blob._shared.base_client import parse_connection_str @@ -115,9 +115,14 @@ async def _upload_ownership( ownership["partition_id"], ) blob_name = blob_name.lower() - uploaded_blob_properties = await self._get_blob_client(blob_name).upload_blob( - data=UPLOAD_DATA, overwrite=True, metadata=metadata, **etag_match - ) + blob_client = self._get_blob_client(blob_name) + try: + uploaded_blob_properties = await blob_client.set_blob_metadata(metadata, **etag_match) + except ResourceNotFoundError: + logger.info("Upload ownership blob %r because it hasn't existed in the container yet.", blob_name) + uploaded_blob_properties = await blob_client.upload_blob( + data=UPLOAD_DATA, overwrite=True, metadata=metadata, **etag_match + ) ownership["etag"] = uploaded_blob_properties["etag"] ownership["last_modified_time"] = uploaded_blob_properties[ "last_modified" @@ -220,9 +225,14 @@ async def update_checkpoint(self, checkpoint: Dict[str, Any]) -> None: checkpoint["partition_id"], ) blob_name = blob_name.lower() - await self._get_blob_client(blob_name).upload_blob( - data=UPLOAD_DATA, overwrite=True, metadata=metadata - ) + blob_client = self._get_blob_client(blob_name) + try: + await blob_client.set_blob_metadata(metadata) + except ResourceNotFoundError: + logger.info("Upload checkpoint blob %r because it hasn't existed in the container yet.", blob_name) + await blob_client.upload_blob( + data=UPLOAD_DATA, overwrite=True, metadata=metadata + ) async def list_checkpoints( self, fully_qualified_namespace, eventhub_name, consumer_group diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/samples/README.md b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/samples/README.md index 2b56d91908f8..ee5fd05996cc 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/samples/README.md +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/samples/README.md @@ -19,11 +19,11 @@ These sample programs show how to use the async Python client libraries for Azur ## Prerequisites - Python2.7, Python 3.5.3 or later. -- **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://azure.microsoft.com/en-us/). +- **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://azure.microsoft.com/). -- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. +- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. -- **Azure Storage Account:** You'll need to have an Azure Storage Account and create a Azure Blob Storage Block Container to store the checkpoint data with blobs. You may follow the guide [creating an Azure Block Blob Storage Account](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-create-account-block-blob). +- **Azure Storage Account:** You'll need to have an Azure Storage Account and create a Azure Blob Storage Block Container to store the checkpoint data with blobs. You may follow the guide [creating an Azure Block Blob Storage Account](https://docs.microsoft.com/azure/storage/blobs/storage-blob-create-account-block-blob). ## Setup diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob/CHANGELOG.md b/sdk/eventhub/azure-eventhub-checkpointstoreblob/CHANGELOG.md index 02b68ca42faf..3ed1b27d0e29 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob/CHANGELOG.md +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob/CHANGELOG.md @@ -1,7 +1,8 @@ # Release History -## 1.1.1 (Unreleased) - +## 1.1.1 (2020-09-08) +**Bug fixes** +- Fixed a bug that may gradually slow down retrieving checkpoint data from the storage blob if the storage account "File share soft delete" is enabled. #12836 ## 1.1.0 (2020-03-09) diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob/README.md b/sdk/eventhub/azure-eventhub-checkpointstoreblob/README.md index 000a8e26ac67..e91b77ddcdae 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob/README.md +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob/README.md @@ -5,18 +5,18 @@ This Checkpoint Store package works as a plug-in package to `EventHubConsumerCli Please note that this is a sync library, for async version of the Azure EventHubs Checkpoint Store client library, please refer to [azure-eventhub-checkpointstoreblob-aio](../azure-eventhub-checkpointstoreblob-aio). -[Source code](./) | [Package (PyPi)](https://pypi.org/project/azure-eventhub-checkpointstoreblob) | [API reference documentation](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-eventhub/5.0.1/azure.eventhub.html#azure.eventhub.CheckpointStore) | [Azure Eventhubs documentation](https://docs.microsoft.com/en-us/azure/event-hubs/) | [Azure Storage documentation](https://docs.microsoft.com/en-us/azure/storage/) +[Source code](./) | [Package (PyPi)](https://pypi.org/project/azure-eventhub-checkpointstoreblob) | [API reference documentation](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-eventhub/5.0.1/azure.eventhub.html#azure.eventhub.CheckpointStore) | [Azure Eventhubs documentation](https://docs.microsoft.com/azure/event-hubs/) | [Azure Storage documentation](https://docs.microsoft.com/azure/storage/) ## Getting started ### Prerequisites - Python2.7, Python 3.5.3 or later. -- **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://azure.microsoft.com/en-us/). +- **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://azure.microsoft.com/). -- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. +- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. -- **Azure Storage Account:** You'll need to have an Azure Storage Account and create a Azure Blob Storage Block Container to store the checkpoint data with blobs. You may follow the guide [creating an Azure Block Blob Storage Account](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-create-account-block-blob). +- **Azure Storage Account:** You'll need to have an Azure Storage Account and create a Azure Blob Storage Block Container to store the checkpoint data with blobs. You may follow the guide [creating an Azure Block Blob Storage Account](https://docs.microsoft.com/azure/storage/blobs/storage-blob-create-account-block-blob). ### Install the package diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob/azure/eventhub/extensions/checkpointstoreblob/_blobstoragecs.py b/sdk/eventhub/azure-eventhub-checkpointstoreblob/azure/eventhub/extensions/checkpointstoreblob/_blobstoragecs.py index 3f11f9f2e08d..e027fba3e555 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob/azure/eventhub/extensions/checkpointstoreblob/_blobstoragecs.py +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob/azure/eventhub/extensions/checkpointstoreblob/_blobstoragecs.py @@ -11,7 +11,7 @@ from azure.eventhub import CheckpointStore # type: ignore # pylint: disable=no-name-in-module from azure.eventhub.exceptions import OwnershipLostError # type: ignore -from azure.core.exceptions import ResourceModifiedError, ResourceExistsError # type: ignore +from azure.core.exceptions import ResourceModifiedError, ResourceExistsError, ResourceNotFoundError # type: ignore from ._vendor.storage.blob import BlobClient, ContainerClient from ._vendor.storage.blob._shared.base_client import parse_connection_str @@ -136,9 +136,14 @@ def _upload_ownership(self, ownership, metadata): ownership["partition_id"], ) blob_name = blob_name.lower() - uploaded_blob_properties = self._get_blob_client(blob_name).upload_blob( - data=UPLOAD_DATA, overwrite=True, metadata=metadata, **etag_match - ) + blob_client = self._get_blob_client(blob_name) + try: + uploaded_blob_properties = blob_client.set_blob_metadata(metadata, **etag_match) + except ResourceNotFoundError: + logger.info("Upload ownership blob %r because it hasn't existed in the container yet.", blob_name) + uploaded_blob_properties = blob_client.upload_blob( + data=UPLOAD_DATA, overwrite=True, metadata=metadata, **etag_match + ) ownership["etag"] = uploaded_blob_properties["etag"] ownership["last_modified_time"] = _to_timestamp( uploaded_blob_properties["last_modified"] @@ -235,9 +240,14 @@ def update_checkpoint(self, checkpoint): checkpoint["partition_id"], ) blob_name = blob_name.lower() - self._get_blob_client(blob_name).upload_blob( - data=UPLOAD_DATA, overwrite=True, metadata=metadata - ) + blob_client = self._get_blob_client(blob_name) + try: + blob_client.set_blob_metadata(metadata) + except ResourceNotFoundError: + logger.info("Upload checkpoint blob %r because it hasn't existed in the container yet.", blob_name) + blob_client.upload_blob( + data=UPLOAD_DATA, overwrite=True, metadata=metadata + ) def list_checkpoints( self, fully_qualified_namespace, eventhub_name, consumer_group diff --git a/sdk/eventhub/azure-eventhub-checkpointstoreblob/samples/README.md b/sdk/eventhub/azure-eventhub-checkpointstoreblob/samples/README.md index d7aa8ea0a1de..f68cee06440d 100644 --- a/sdk/eventhub/azure-eventhub-checkpointstoreblob/samples/README.md +++ b/sdk/eventhub/azure-eventhub-checkpointstoreblob/samples/README.md @@ -19,11 +19,11 @@ These sample programs show how to use the sync Python client libraries for Azure ## Prerequisites - Python2.7, Python 3.5.3 or later. -- **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://azure.microsoft.com/en-us/). +- **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://azure.microsoft.com/). -- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. +- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. -- **Azure Storage Account:** You'll need to have an Azure Storage Account and create a Azure Blob Storage Block Container to store the checkpoint data with blobs. You may follow the guide [creating an Azure Block Blob Storage Account](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-create-account-block-blob). +- **Azure Storage Account:** You'll need to have an Azure Storage Account and create a Azure Blob Storage Block Container to store the checkpoint data with blobs. You may follow the guide [creating an Azure Block Blob Storage Account](https://docs.microsoft.com/azure/storage/blobs/storage-blob-create-account-block-blob). ## Setup diff --git a/sdk/eventhub/azure-eventhub/CHANGELOG.md b/sdk/eventhub/azure-eventhub/CHANGELOG.md index 3d461a60e8dd..803e2df81e70 100644 --- a/sdk/eventhub/azure-eventhub/CHANGELOG.md +++ b/sdk/eventhub/azure-eventhub/CHANGELOG.md @@ -155,7 +155,7 @@ after which the underlying connection will close if there is no further activity **Breaking changes** - Removed support for IoT Hub direct connection. - - [EventHubs compatible connection string](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin) of an IotHub can be used to create `EventHubClient` and read properties or events from an IoT Hub. + - [EventHubs compatible connection string](https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messages-read-builtin) of an IotHub can be used to create `EventHubClient` and read properties or events from an IoT Hub. - Removed support for sending EventData to IoT Hub. - Removed parameter `exception` in method `close()` of `EventHubConsumer` and `EventHubProcuer`. - Updated uAMQP dependency to 1.2.3. @@ -194,7 +194,7 @@ after which the underlying connection will close if there is no further activity - `backoff_max`: The maximum delay time in total. - Added support for context manager on `EventHubClient`. - Added new error type `OperationTimeoutError` for send operation. -- Introduced a new class `EventProcessor` which replaces the older concept of [Event Processor Host](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-event-processor-host). This early preview is intended to allow users to test the new design using a single instance of `EventProcessor`. The ability to checkpoints to a durable store will be added in future updates. +- Introduced a new class `EventProcessor` which replaces the older concept of [Event Processor Host](https://docs.microsoft.com/azure/event-hubs/event-hubs-event-processor-host). This early preview is intended to allow users to test the new design using a single instance of `EventProcessor`. The ability to checkpoints to a durable store will be added in future updates. - `EventProcessor`: EventProcessor creates and runs consumers for all partitions of the eventhub. - `PartitionManager`: PartitionManager defines the interface for getting/claiming ownerships of partitions and updating checkpoints. - `PartitionProcessor`: PartitionProcessor defines the interface for processing events. diff --git a/sdk/eventhub/azure-eventhub/README.md b/sdk/eventhub/azure-eventhub/README.md index 4d02b4d92ee3..024bd581cc3a 100644 --- a/sdk/eventhub/azure-eventhub/README.md +++ b/sdk/eventhub/azure-eventhub/README.md @@ -4,7 +4,7 @@ Azure Event Hubs is a highly scalable publish-subscribe service that can ingest them to multiple consumers. This lets you process and analyze the massive amounts of data produced by your connected devices and applications. Once Event Hubs has collected the data, you can retrieve, transform, and store it by using any real-time analytics provider or with batching/storage adapters. If you would like to know more about Azure Event Hubs, -you may wish to review: [What is Event Hubs](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-about)? +you may wish to review: [What is Event Hubs](https://docs.microsoft.com/azure/event-hubs/event-hubs-about)? The Azure Event Hubs client library allows for publishing and consuming of Azure Event Hubs events and may be used to: @@ -13,7 +13,7 @@ The Azure Event Hubs client library allows for publishing and consuming of Azure - Observe interesting operations and interactions happening within your business or other ecosystem, allowing loosely coupled systems to interact without the need to bind them together. - Receive events from one or more publishers, transform them to better meet the needs of your ecosystem, then publish the transformed events to a new stream for consumers to observe. -[Source code](./) | [Package (PyPi)](https://pypi.org/project/azure-eventhub/) | [API reference documentation](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-eventhub/5.2.0b1/azure.eventhub.html) | [Product documentation](https://docs.microsoft.com/en-us/azure/event-hubs/) | [Samples](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples) +[Source code](./) | [Package (PyPi)](https://pypi.org/project/azure-eventhub/) | [API reference documentation](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-eventhub/5.2.0b1/azure.eventhub.html) | [Product documentation](https://docs.microsoft.com/azure/event-hubs/) | [Samples](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples) ## Getting started ### Prerequisites @@ -24,7 +24,7 @@ If you do not have an existing Azure account, you may sign up for a free trial o - **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide -for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). +for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. ### Install the package @@ -42,7 +42,7 @@ Interaction with Event Hubs starts with an instance of EventHubConsumerClient or **Create client from connection string:** For the Event Hubs client library to interact with an Event Hub, the easiest means is to use a connection string, which is created automatically when creating an Event Hubs namespace. -If you aren't familiar with shared access policies in Azure, you may wish to follow the step-by-step guide to [get an Event Hubs connection string](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string). +If you aren't familiar with shared access policies in Azure, you may wish to follow the step-by-step guide to [get an Event Hubs connection string](https://docs.microsoft.com/azure/event-hubs/event-hubs-get-connection-string). ```python @@ -58,7 +58,7 @@ consumer_client = EventHubConsumerClient.from_connection_string(connection_str, - The `from_connection_string` method takes the connection string of the form `Endpoint=sb://.servicebus.windows.net/;SharedAccessKeyName=;SharedAccessKey=` and -entity name to your Event Hub instance. You can get the connection string from the [Azure portal](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string#get-connection-string-from-the-portal). +entity name to your Event Hub instance. You can get the connection string from the [Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-get-connection-string#get-connection-string-from-the-portal). **Create client using the azure-identity library:** @@ -104,7 +104,7 @@ There can be at most 5 concurrent readers on a partition per consumer group; how one active consumer for a given partition and consumer group pairing. Each active reader receives all of the events from its partition; if there are multiple readers on the same partition, then they will receive duplicate events. -For more concepts and deeper discussion, see: [Event Hubs Features](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-features). +For more concepts and deeper discussion, see: [Event Hubs Features](https://docs.microsoft.com/azure/event-hubs/event-hubs-features). Also, the concepts for AMQP are well documented in [OASIS Advanced Messaging Queuing Protocol (AMQP) Version 1.0](http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html). ## Examples @@ -327,8 +327,8 @@ Search pypi with the prefix `azure-eventhub-checkpointstore` to find packages that support this and use the `CheckpointStore` implementation from one such package. Please note that both sync and async libraries are provided. In the below example, we create an instance of `EventHubConsumerClient` and use a `BlobCheckpointStore`. You need -to [create an Azure Storage account](https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-portal) -and a [Blob Container](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal#create-a-container) to run the code. +to [create an Azure Storage account](https://docs.microsoft.com/azure/storage/common/storage-quickstart-create-account?tabs=azure-portal) +and a [Blob Container](https://docs.microsoft.com/azure/storage/blobs/storage-quickstart-blobs-portal#create-a-container) to run the code. [Azure Blob Storage Checkpoint Store Async](../azure-eventhub-checkpointstoreblob-aio) and [Azure Blob Storage Checkpoint Store Sync](../azure-eventhub-checkpointstoreblob) @@ -378,7 +378,7 @@ if __name__ == '__main__': You can use `EventHubConsumerClient` to work with IoT Hub as well. This is useful for receiving telemetry data of IoT Hub from the linked EventHub. The associated connection string will not have send claims, hence sending events is not possible. -Please notice that the connection string needs to be for an [Event Hub-compatible endpoint](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin), +Please notice that the connection string needs to be for an [Event Hub-compatible endpoint](https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messages-read-builtin), e.g. "Endpoint=sb://my-iothub-namespace-[uid].servicebus.windows.net/;SharedAccessKeyName=my-SA-name;SharedAccessKey=my-SA-key;EntityPath=my-iot-hub-name" There are two ways to get the Event Hubs compatible endpoint: diff --git a/sdk/eventhub/azure-eventhub/samples/README.md b/sdk/eventhub/azure-eventhub/samples/README.md index d2842e9a955a..3ba733f4add8 100644 --- a/sdk/eventhub/azure-eventhub/samples/README.md +++ b/sdk/eventhub/azure-eventhub/samples/README.md @@ -52,17 +52,18 @@ Both [sync version](https://github.com/Azure/azure-sdk-for-python/tree/master/sd - [recv_for_period.py](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples/sync_samples/recv_for_period.py) ([async version](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples/async_samples/recv_for_period_async.py)) - Examples to receive events for a period of time: - Receive events for a period of time - - [client_identity_authentication.py](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples/sync_samples/client_identity_authentication.py) ([async version](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples/async_samples/client_identity_authentication_async.py)) - Examples for authentication by Azure Active Directory: - Authenticating and creating the client utilizing the `azure.identity` library - - [proxy.py](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples/sync_samples/proxy.py) ([async version](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples/async_samples/proxy_async.py)) - Examples to send and receive events behind a proxy: - Send and receive events behind a proxy - [iot_hub_connection_string_receive_async.py](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples/async_samples/iot_hub_connection_string_receive_async.py) - Examples to receive events from an IoT Hub: - Convert an IoT Hub connection string to the built-in Event Hub endpoint and receive events from it +- [authenticate_with_sas_token.py] + - Utilize a SAS token to authenticate when creating an Event Hub client. + ## Prerequisites - Python 2.7, 3.5 or later. - **Microsoft Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. @@ -70,10 +71,10 @@ If you do not have an existing Azure account, you may sign up for a free trial o - **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide -for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). +for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. -- **Azure Storage Account (Optional)**: To run receiving samples with blob checkpoint store for persist checkpoint, you need to [create an Azure Storage account](https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-portal) and a [Blob Container](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal#create-a-container). +- **Azure Storage Account (Optional)**: To run receiving samples with blob checkpoint store for persist checkpoint, you need to [create an Azure Storage account](https://docs.microsoft.com/azure/storage/common/storage-quickstart-create-account?tabs=azure-portal) and a [Blob Container](https://docs.microsoft.com/azure/storage/blobs/storage-quickstart-blobs-portal#create-a-container). ## Setup diff --git a/sdk/eventhub/azure-eventhub/samples/async_samples/authenticate_with_sas_token_async.py b/sdk/eventhub/azure-eventhub/samples/async_samples/authenticate_with_sas_token_async.py new file mode 100644 index 000000000000..1ae8b38742e6 --- /dev/null +++ b/sdk/eventhub/azure-eventhub/samples/async_samples/authenticate_with_sas_token_async.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +""" +Example to demonstrate utilizing SAS (Shared Access Signature) tokens to authenticate with ServiceBus +""" + +# pylint: disable=C0111 + +import asyncio +import os +import time +import hmac +import hashlib +import base64 +try: + from urllib.parse import quote as url_parse_quote +except ImportError: + from urllib import pathname2url as url_parse_quote + +from azure.core.credentials import AccessToken +from azure.eventhub.aio import EventHubConsumerClient + + +def generate_sas_token(uri, sas_name, sas_value, token_ttl): + """Performs the signing and encoding needed to generate a sas token from a sas key.""" + sas = sas_value.encode('utf-8') + expiry = str(int(time.time() + token_ttl)) + string_to_sign = (uri + '\n' + expiry).encode('utf-8') + signed_hmac_sha256 = hmac.HMAC(sas, string_to_sign, hashlib.sha256) + signature = url_parse_quote(base64.b64encode(signed_hmac_sha256.digest())) + return 'SharedAccessSignature sr={}&sig={}&se={}&skn={}'.format(uri, signature, expiry, sas_name) + + +class CustomizedSASCredential(object): + def __init__(self, token, expiry): + """ + :param str token: The token string + :param float expiry: The epoch timestamp + + """ + self.token = token + self.expiry = expiry + self.token_type = b"servicebus.windows.net:sastoken" + + async def get_token(self, *scopes, **kwargs): + """ + This method is automatically called when token is about to expire. + """ + return AccessToken(self.token, self.expiry) + + +# Target namespace and hub must also be specified. Consumer group is set to default unless required otherwise. +FULLY_QUALIFIED_NAMESPACE = os.environ['EVENT_HUB_HOSTNAME'] +EVENTHUB_NAME = os.environ['EVENT_HUB_NAME'] +CONSUMER_GROUP = "$Default" + +# The following part creates a SAS token. Users can use any way to create a SAS token. +SAS_POLICY = os.environ['EVENT_HUB_SAS_POLICY'] +SAS_KEY = os.environ['EVENT_HUB_SAS_KEY'] + +async def create_with_sas_token(): + uri = "sb://{}/{}".format(FULLY_QUALIFIED_NAMESPACE, EVENTHUB_NAME) + token_ttl = 3000 # seconds + sas_token = generate_sas_token(uri, SAS_POLICY, SAS_KEY, token_ttl) + # end of creating a SAS token + + consumer_client = EventHubConsumerClient( + fully_qualified_namespace=FULLY_QUALIFIED_NAMESPACE, + eventhub_name=EVENTHUB_NAME, + consumer_group=CONSUMER_GROUP, + credential=CustomizedSASCredential(sas_token, time.time() + token_ttl), + logging_enable=True + ) + + async def on_event(context, event): + print(context.partition_id, ":", event) + + async with consumer_client: + await consumer_client.receive( + on_event, + starting_position=-1 + ) + + +loop = asyncio.get_event_loop() +loop.run_until_complete(create_with_sas_token()) diff --git a/sdk/eventhub/azure-eventhub/samples/sync_samples/authenticate_with_sas_token.py b/sdk/eventhub/azure-eventhub/samples/sync_samples/authenticate_with_sas_token.py new file mode 100644 index 000000000000..49ed22743971 --- /dev/null +++ b/sdk/eventhub/azure-eventhub/samples/sync_samples/authenticate_with_sas_token.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +""" +Example to demonstrate utilizing SAS (Shared Access Signature) tokens to authenticate with ServiceBus +""" + +# pylint: disable=C0111 + +import os +import time +import hmac +import hashlib +import base64 +try: + from urllib.parse import quote as url_parse_quote +except ImportError: + from urllib import pathname2url as url_parse_quote + +from azure.core.credentials import AccessToken +from azure.eventhub import EventHubConsumerClient + + +def generate_sas_token(uri, sas_name, sas_value, token_ttl): + """Performs the signing and encoding needed to generate a sas token from a sas key.""" + sas = sas_value.encode('utf-8') + expiry = str(int(time.time() + token_ttl)) + string_to_sign = (uri + '\n' + expiry).encode('utf-8') + signed_hmac_sha256 = hmac.HMAC(sas, string_to_sign, hashlib.sha256) + signature = url_parse_quote(base64.b64encode(signed_hmac_sha256.digest())) + return 'SharedAccessSignature sr={}&sig={}&se={}&skn={}'.format(uri, signature, expiry, sas_name) + + +class CustomizedSASCredential(object): + def __init__(self, token, expiry): + """ + :param str token: The token string + :param float expiry: The epoch timestamp + + """ + self.token = token + self.expiry = expiry + self.token_type = b"servicebus.windows.net:sastoken" + + def get_token(self, *scopes, **kwargs): + """ + This method is automatically called when token is about to expire. + """ + return AccessToken(self.token, self.expiry) + + +# Target namespace and hub must also be specified. Consumer group is set to default unless required otherwise. +FULLY_QUALIFIED_NAMESPACE = os.environ['EVENT_HUB_HOSTNAME'] +EVENTHUB_NAME = os.environ['EVENT_HUB_NAME'] +CONSUMER_GROUP = "$Default" + +# The following part creates a SAS token. Users can use any way to create a SAS token. +SAS_POLICY = os.environ['EVENT_HUB_SAS_POLICY'] +SAS_KEY = os.environ['EVENT_HUB_SAS_KEY'] + +uri = "sb://{}/{}".format(FULLY_QUALIFIED_NAMESPACE, EVENTHUB_NAME) +token_ttl = 3000 # seconds +sas_token = generate_sas_token(uri, SAS_POLICY, SAS_KEY, token_ttl) +# end of creating a SAS token + +consumer_client = EventHubConsumerClient( + fully_qualified_namespace=FULLY_QUALIFIED_NAMESPACE, + eventhub_name=EVENTHUB_NAME, + consumer_group=CONSUMER_GROUP, + credential=CustomizedSASCredential(sas_token, time.time() + token_ttl), + logging_enable=True +) + +with consumer_client: + consumer_client.receive( + lambda pc, event: print(pc.partition_id, ":", event), + starting_position=-1 + ) diff --git a/sdk/eventhub/ci.yml b/sdk/eventhub/ci.yml index f9fdb12f6570..e4605fc4101b 100644 --- a/sdk/eventhub/ci.yml +++ b/sdk/eventhub/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -42,4 +41,4 @@ extends: - name: azure_eventhub_checkpointstoreblob safeName: azureeventhubcheckpointstoreblob - name: azure_mgmt_eventhub - safeName: azuremgmteventhub \ No newline at end of file + safeName: azuremgmteventhub diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md index 769158c9bb5b..21166a8d413b 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md @@ -1,11 +1,17 @@ # Release History -## 3.0.0b2 (Unreleased) +## 3.0.1 (Unreleased) + + +## 3.0.0 (2020-08-20) + +First stable release of the azure-ai-formrecognizer client library. **New features** - Client-level, keyword argument `api_version` can be used to specify the service API version to use. Currently only v2.0 is supported. See the enum `FormRecognizerApiVersion` for supported API versions. +- `FormWord` and `FormLine` now have attribute `kind` which specifies the kind of element it is, e.g. "word" or "line" ## 3.0.0b1 (2020-08-11) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/README.md b/sdk/formrecognizer/azure-ai-formrecognizer/README.md index f02a97050ce2..361f6bb38195 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/README.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/README.md @@ -402,8 +402,6 @@ The following section provides several code snippets illustrating common pattern ### More sample code These code samples show common scenario operations with the Azure Form Recognizer client library. -The async versions of the samples (the python sample files appended with `_async`) show asynchronous operations -with Form Recognizer and require Python 3.5 or later. * Client authentication: [sample_authentication.py][sample_authentication] * Recognize receipts: [sample_recognize_receipts.py][sample_recognize_receipts] diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_models.py b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_models.py index dbec302aec3c..b0c95e6ffd4c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_models.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_models.py @@ -151,11 +151,16 @@ class FormElement(object): Units are in pixels for images and inches for PDF. :ivar int page_number: The 1-based number of the page in which this content is present. + :ivar str kind: + The kind of form element. Possible kinds are "word" or "line" which + correspond to a :class:`~azure.ai.formrecognizer.FormWord` or + :class:`~azure.ai.formrecognizer.FormLine`, respectively. """ def __init__(self, **kwargs): self.bounding_box = kwargs.get("bounding_box", None) self.page_number = kwargs.get("page_number", None) self.text = kwargs.get("text", None) + self.kind = kwargs.get("kind", None) class RecognizedForm(object): @@ -254,7 +259,7 @@ def __repr__(self): )[:1024] -class FieldData(FormElement): +class FieldData(object): """Contains the data for the form field. This includes the text, location of the text on the form, and a collection of the elements that make up the text. @@ -271,11 +276,14 @@ class FieldData(FormElement): When `include_field_elements` is set to true, a list of elements constituting this field or value is returned. The list constitutes of elements such as lines and words. - :vartype field_elements: list[~azure.ai.formrecognizer.FormWord, ~azure.ai.formrecognizer.FormLine] + :vartype field_elements: list[Union[~azure.ai.formrecognizer.FormElement, ~azure.ai.formrecognizer.FormWord, + ~azure.ai.formrecognizer.FormLine]] """ def __init__(self, **kwargs): - super(FieldData, self).__init__(**kwargs) + self.page_number = kwargs.get("page_number", None) + self.text = kwargs.get("text", None) + self.bounding_box = kwargs.get("bounding_box", None) self.field_elements = kwargs.get("field_elements", None) @classmethod @@ -386,10 +394,11 @@ class FormLine(FormElement): A list of the words that make up the line. :ivar int page_number: The 1-based number of the page in which this content is present. + :ivar str kind: For FormLine, this is "line". """ def __init__(self, **kwargs): - super(FormLine, self).__init__(**kwargs) + super(FormLine, self).__init__(kind="line", **kwargs) self.words = kwargs.get("words", None) @classmethod @@ -403,12 +412,13 @@ def _from_generated(cls, line, page): ) def __repr__(self): - return "FormLine(text={}, bounding_box={}, words={}, page_number={})" \ + return "FormLine(text={}, bounding_box={}, words={}, page_number={}, kind={})" \ .format( self.text, self.bounding_box, repr(self.words), - self.page_number + self.page_number, + self.kind )[:1024] @@ -425,10 +435,11 @@ class FormWord(FormElement): Measures the degree of certainty of the recognition result. Value is between [0.0, 1.0]. :ivar int page_number: The 1-based number of the page in which this content is present. + :ivar str kind: For FormWord, this is "word". """ def __init__(self, **kwargs): - super(FormWord, self).__init__(**kwargs) + super(FormWord, self).__init__(kind="word", **kwargs) self.confidence = kwargs.get("confidence", None) @classmethod @@ -441,12 +452,13 @@ def _from_generated(cls, word, page): ) def __repr__(self): - return "FormWord(text={}, bounding_box={}, confidence={}, page_number={})" \ + return "FormWord(text={}, bounding_box={}, confidence={}, page_number={}, kind={})" \ .format( self.text, self.bounding_box, self.confidence, - self.page_number + self.page_number, + self.kind )[:1024] @@ -479,7 +491,7 @@ def __repr__(self): )[:1024] -class FormTableCell(FormElement): +class FormTableCell(object): # pylint:disable=too-many-instance-attributes """Represents a cell contained in a table recognized from the input document. :ivar str text: Text content of the cell. @@ -503,18 +515,21 @@ class FormTableCell(FormElement): elements constituting this cell is returned. The list constitutes of elements such as lines and words. For calls to begin_recognize_content(), this list is always populated. - :vartype field_elements: list[~azure.ai.formrecognizer.FormWord, ~azure.ai.formrecognizer.FormLine] + :vartype field_elements: list[Union[~azure.ai.formrecognizer.FormElement, ~azure.ai.formrecognizer.FormWord, + ~azure.ai.formrecognizer.FormLine]] """ def __init__(self, **kwargs): - super(FormTableCell, self).__init__(**kwargs) + self.text = kwargs.get("text", None) self.row_index = kwargs.get("row_index", None) self.column_index = kwargs.get("column_index", None) self.row_span = kwargs.get("row_span", 1) self.column_span = kwargs.get("column_span", 1) + self.bounding_box = kwargs.get("bounding_box", None) self.confidence = kwargs.get("confidence", None) self.is_header = kwargs.get("is_header", False) self.is_footer = kwargs.get("is_footer", False) + self.page_number = kwargs.get("page_number", None) self.field_elements = kwargs.get("field_elements", None) @classmethod diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_version.py b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_version.py index a23ad5a158ac..c832b5bfa449 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_version.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_version.py @@ -4,4 +4,4 @@ # Licensed under the MIT License. # ------------------------------------ -VERSION = "3.0.0b2" +VERSION = "3.0.1" diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/README.md b/sdk/formrecognizer/azure-ai-formrecognizer/samples/README.md index 2cbdff253c77..19af853b73fc 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/README.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/README.md @@ -72,7 +72,7 @@ what you can do with the Azure Form Recognizer client library. [azure_identity_pip]: https://pypi.org/project/azure-identity/ [python-fr-ref-docs]: https://aka.ms/azsdk/python/formrecognizer/docs [get-endpoint-instructions]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/formrecognizer/azure-ai-formrecognizer/README.md#looking-up-the-endpoint -[get-key-instructions]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/formrecognizer/azure-ai-formrecognizer/README.md#types-of-credentials +[get-key-instructions]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/formrecognizer/azure-ai-formrecognizer/README.md#get-the-api-key [sample_authentication]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_authentication.py [sample_authentication_async]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_authentication_async.py diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_get_bounding_boxes_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_get_bounding_boxes_async.py index 402e37e76044..877dd08edda1 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_get_bounding_boxes_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_get_bounding_boxes_async.py @@ -38,7 +38,6 @@ class GetBoundingBoxesSampleAsync(object): async def get_bounding_boxes(self): from azure.core.credentials import AzureKeyCredential from azure.ai.formrecognizer.aio import FormRecognizerClient - from azure.ai.formrecognizer import FormWord, FormLine endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"] key = os.environ["AZURE_FORM_RECOGNIZER_KEY"] @@ -86,19 +85,19 @@ async def get_bounding_boxes(self): # field_elements is only populated if you set include_field_elements to True in your call # to begin_recognize_custom_forms # It is a heterogeneous list of FormWord and FormLine. - for content in cell.field_elements: - if isinstance(content, FormWord): + for element in cell.field_elements: + if element.kind == "word": print("......Word '{}' within bounding box '{}' has a confidence of {}".format( - content.text, - format_bounding_box(content.bounding_box), - content.confidence + element.text, + format_bounding_box(element.bounding_box), + element.confidence )) - elif isinstance(content, FormLine): + elif element.kind == "line": print("......Line '{}' within bounding box '{}' has the following words: ".format( - content.text, - format_bounding_box(content.bounding_box) + element.text, + format_bounding_box(element.bounding_box) )) - for word in content.words: + for word in element.words: print(".........Word '{}' within bounding box '{}' has a confidence of {}".format( word.text, format_bounding_box(word.bounding_box), diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_get_bounding_boxes.py b/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_get_bounding_boxes.py index cff103a81b44..0ead56067ab4 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_get_bounding_boxes.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_get_bounding_boxes.py @@ -37,7 +37,6 @@ class GetBoundingBoxesSample(object): def get_bounding_boxes(self): from azure.core.credentials import AzureKeyCredential from azure.ai.formrecognizer import FormRecognizerClient - from azure.ai.formrecognizer import FormWord, FormLine endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"] key = os.environ["AZURE_FORM_RECOGNIZER_KEY"] @@ -83,19 +82,19 @@ def get_bounding_boxes(self): # field_elements is only populated if you set include_field_elements to True in your call # to begin_recognize_custom_forms # It is a heterogeneous list of FormWord and FormLine. - for content in cell.field_elements: - if isinstance(content, FormWord): + for element in cell.field_elements: + if element.kind == "word": print("......Word '{}' within bounding box '{}' has a confidence of {}".format( - content.text, - format_bounding_box(content.bounding_box), - content.confidence + element.text, + format_bounding_box(element.bounding_box), + element.confidence )) - elif isinstance(content, FormLine): + elif element.kind == "line": print("......Line '{}' within bounding box '{}' has the following words: ".format( - content.text, - format_bounding_box(content.bounding_box) + element.text, + format_bounding_box(element.bounding_box) )) - for word in content.words: + for word in element.words: print(".........Word '{}' within bounding box '{}' has a confidence of {}".format( word.text, format_bounding_box(word.bounding_box), diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/setup.py b/sdk/formrecognizer/azure-ai-formrecognizer/setup.py index eb0854143789..5615ab956ad2 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/setup.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/setup.py @@ -59,7 +59,7 @@ author_email='azpysdkhelp@microsoft.com', url='https://github.com/Azure/azure-sdk-for-python', classifiers=[ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_case_insensitive_region.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_case_insensitive_region.yaml new file mode 100644 index 000000000000..123c9f11daa0 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_case_insensitive_region.yaml @@ -0,0 +1,449 @@ +interactions: +- request: + body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": + false}, "useLabelFile": false}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '288' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models + response: + body: + string: '' + headers: + apim-request-id: + - 9b28feaa-c0a7-4ea8-825a-2944db659c23 + content-length: + - '0' + date: + - Mon, 17 Aug 2020 19:48:13 GMT + location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '57' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "8a197bb1-29ce-4e4f-8d8f-320fe3d30b47", "status": + "creating", "createdDateTime": "2020-08-17T19:48:14Z", "lastUpdatedDateTime": + "2020-08-17T19:48:14Z"}}' + headers: + apim-request-id: + - 4acfbd78-c50f-4bdd-94e4-26d67e135956 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:18 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '67' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "8a197bb1-29ce-4e4f-8d8f-320fe3d30b47", "status": + "creating", "createdDateTime": "2020-08-17T19:48:14Z", "lastUpdatedDateTime": + "2020-08-17T19:48:14Z"}}' + headers: + apim-request-id: + - ebb830b2-ccf5-4bff-9ec1-c95140e74c6f + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:23 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '16' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "8a197bb1-29ce-4e4f-8d8f-320fe3d30b47", "status": + "ready", "createdDateTime": "2020-08-17T19:48:14Z", "lastUpdatedDateTime": + "2020-08-17T19:48:26Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", + "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", + "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped + To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, + "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": + 1, "errors": [], "status": "succeeded"}], "errors": []}}' + headers: + apim-request-id: + - 657da126-a36e-4dd8-9548-a3f7c64c0a42 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:29 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '49' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/copyAuthorization + response: + body: + string: '{"modelId": "a92321bb-383d-4002-b76f-a800af2c5ec2", "accessToken": + "redacted", "expirationDateTimeTicks": 1597780109}' + headers: + apim-request-id: + - a45ad479-4e19-4db3-b0b7-49e3a2e97e48 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:29 GMT + location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/a92321bb-383d-4002-b76f-a800af2c5ec2 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '66' + status: + code: 201 + message: Created +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "CENTRALUSEUAP", + "copyAuthorization": {"modelId": "a92321bb-383d-4002-b76f-a800af2c5ec2", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1597780109}}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47/copy + response: + body: + string: '' + headers: + apim-request-id: + - cafa3335-f0e0-42f4-86e7-8ac8404d4916 + content-length: + - '0' + date: + - Mon, 17 Aug 2020 19:48:29 GMT + operation-location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47/copyresults/ded8565f-097a-4170-86b9-f8ae54550d04 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '52' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47/copyresults/ded8565f-097a-4170-86b9-f8ae54550d04 + response: + body: + string: '{"status": "notStarted", "createdDateTime": "2020-08-17T19:48:30Z", + "lastUpdatedDateTime": "2020-08-17T19:48:30Z", "copyResult": {"modelId": "a92321bb-383d-4002-b76f-a800af2c5ec2"}}' + headers: + apim-request-id: + - 89972464-9fd6-4ed3-aa8f-5900c2cecbfe + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:34 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '14' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47/copyresults/ded8565f-097a-4170-86b9-f8ae54550d04 + response: + body: + string: '{"status": "notStarted", "createdDateTime": "2020-08-17T19:48:30Z", + "lastUpdatedDateTime": "2020-08-17T19:48:30Z", "copyResult": {"modelId": "a92321bb-383d-4002-b76f-a800af2c5ec2"}}' + headers: + apim-request-id: + - 2b08d5e7-ba61-464d-8709-483a2bbec30c + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:40 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '15' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47/copyresults/ded8565f-097a-4170-86b9-f8ae54550d04 + response: + body: + string: '{"status": "notStarted", "createdDateTime": "2020-08-17T19:48:30Z", + "lastUpdatedDateTime": "2020-08-17T19:48:30Z", "copyResult": {"modelId": "a92321bb-383d-4002-b76f-a800af2c5ec2"}}' + headers: + apim-request-id: + - c7a15146-730f-4b9d-91dd-22c0f2a5f268 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:45 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '16' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47/copyresults/ded8565f-097a-4170-86b9-f8ae54550d04 + response: + body: + string: '{"status": "notStarted", "createdDateTime": "2020-08-17T19:48:30Z", + "lastUpdatedDateTime": "2020-08-17T19:48:30Z", "copyResult": {"modelId": "a92321bb-383d-4002-b76f-a800af2c5ec2"}}' + headers: + apim-request-id: + - e38bb29f-fa6c-4ddd-a8be-6ed05be2023f + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:50 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '14' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47/copyresults/ded8565f-097a-4170-86b9-f8ae54550d04 + response: + body: + string: '{"status": "notStarted", "createdDateTime": "2020-08-17T19:48:30Z", + "lastUpdatedDateTime": "2020-08-17T19:48:30Z", "copyResult": {"modelId": "a92321bb-383d-4002-b76f-a800af2c5ec2"}}' + headers: + apim-request-id: + - 704b8cb5-23b5-46e2-a441-6530104d6351 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:48:55 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '15' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/8a197bb1-29ce-4e4f-8d8f-320fe3d30b47/copyresults/ded8565f-097a-4170-86b9-f8ae54550d04 + response: + body: + string: '{"status": "succeeded", "createdDateTime": "2020-08-17T19:49:00.4824394Z", + "lastUpdatedDateTime": "2020-08-17T19:49:00.4824397Z", "copyResult": {"modelId": + "a92321bb-383d-4002-b76f-a800af2c5ec2"}}' + headers: + apim-request-id: + - a46c0091-c438-4d83-bb88-169614c4035c + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 19:49:01 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '13' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_fail_bad_model_id.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_fail_bad_model_id.yaml index 17ea3b612580..a26fe93514e1 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_fail_bad_model_id.yaml +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_fail_bad_model_id.yaml @@ -14,28 +14,27 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models response: body: string: '' headers: apim-request-id: - - f21540e1-b85e-4278-bb42-5de47553a8b1 + - 6978a0e9-5dbf-408a-bd2a-b1b40f2c945f content-length: - '0' date: - - Mon, 15 Jun 2020 19:26:39 GMT + - Mon, 17 Aug 2020 18:07:54 GMT location: - - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/6b520a60-a98f-45b1-b67d-0f954dc951ef + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/e3b19ae0-3407-462d-a9ae-9b59cbfa59d5 strict-transport-security: - max-age=31536000; includeSubDomains; preload x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '355' + - '37' status: code: 201 message: Created @@ -49,22 +48,21 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/6b520a60-a98f-45b1-b67d-0f954dc951ef?includeKeys=true + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/e3b19ae0-3407-462d-a9ae-9b59cbfa59d5?includeKeys=true response: body: - string: '{"modelInfo": {"modelId": "6b520a60-a98f-45b1-b67d-0f954dc951ef", "status": - "creating", "createdDateTime": "2020-06-15T19:26:39Z", "lastUpdatedDateTime": - "2020-06-15T19:26:39Z"}}' + string: '{"modelInfo": {"modelId": "e3b19ae0-3407-462d-a9ae-9b59cbfa59d5", "status": + "creating", "createdDateTime": "2020-08-17T18:07:54Z", "lastUpdatedDateTime": + "2020-08-17T18:07:54Z"}}' headers: apim-request-id: - - 63c03928-e2a3-4a34-8807-b7d151834dbf + - a58527ec-3f51-4764-b6f0-487b69d92ff9 content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2020 19:26:49 GMT + - Mon, 17 Aug 2020 18:07:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -72,7 +70,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5202' + - '12' status: code: 200 message: OK @@ -86,32 +84,21 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/6b520a60-a98f-45b1-b67d-0f954dc951ef?includeKeys=true + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/e3b19ae0-3407-462d-a9ae-9b59cbfa59d5?includeKeys=true response: body: - string: '{"modelInfo": {"modelId": "6b520a60-a98f-45b1-b67d-0f954dc951ef", "status": - "ready", "createdDateTime": "2020-06-15T19:26:39Z", "lastUpdatedDateTime": - "2020-06-15T19:26:50Z"}, "keys": {"clusters": {"0": ["Additional Notes:", - "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", - "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", - "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped - To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, - "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": - 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": - 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": - 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": - 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": - 1, "errors": [], "status": "succeeded"}], "errors": []}}' + string: '{"modelInfo": {"modelId": "e3b19ae0-3407-462d-a9ae-9b59cbfa59d5", "status": + "creating", "createdDateTime": "2020-08-17T18:07:54Z", "lastUpdatedDateTime": + "2020-08-17T18:07:54Z"}}' headers: apim-request-id: - - a6825139-aaca-42fd-aa6e-71c9ce2b7cc3 + - 5c44850e-a4c0-4747-9f7b-e58b8d1828a7 content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2020 19:26:55 GMT + - Mon, 17 Aug 2020 18:08:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -119,54 +106,12 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '207' + - '13' status: code: 200 message: OK - request: body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) - method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/copyAuthorization - response: - body: - string: '{"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": - "redacted", "expirationDateTimeTicks": 1592335615}' - headers: - apim-request-id: - - 429dcd52-6812-4a60-85f7-e0ab17b0c832 - content-type: - - application/json; charset=utf-8 - date: - - Mon, 15 Jun 2020 19:26:55 GMT - location: - - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/21c912d3-898a-41bc-8dd4-adf96f6c5e89 - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-content-type-options: - - nosniff - x-envoy-upstream-service-time: - - '191' - status: - code: 201 - message: Created -- request: - body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", - "copyAuthorization": {"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": - 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592335615}}\''''' headers: Accept: - '*/*' @@ -174,26 +119,32 @@ interactions: - gzip, deflate Connection: - keep-alive - Content-Length: - - '447' - Content-Type: - - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) - method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/e3b19ae0-3407-462d-a9ae-9b59cbfa59d5?includeKeys=true response: body: - string: '{"error": {"code": "1999", "message": "An error occurred during model - copy. Retry the operation or contact service administrator if the issue persists."}}' + string: '{"modelInfo": {"modelId": "e3b19ae0-3407-462d-a9ae-9b59cbfa59d5", "status": + "ready", "createdDateTime": "2020-08-17T18:07:54Z", "lastUpdatedDateTime": + "2020-08-17T18:08:06Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", + "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", + "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped + To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, + "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": + 1, "errors": [], "status": "succeeded"}], "errors": []}}' headers: apim-request-id: - - a150c173-e10a-402a-9c35-1abb75a46d56 + - ee3f212e-a142-47c5-9d7c-78c7c396390d content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2020 19:26:55 GMT + - Mon, 17 Aug 2020 18:08:12 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -201,83 +152,38 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '37' + - '16' status: - code: 500 - message: Internal Server Error + code: 200 + message: OK - request: - body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", - "copyAuthorization": {"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": - 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592335615}}\''''' + body: null headers: Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '447' - Content-Type: - application/json - User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) - method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy - response: - body: - string: '{"error": {"code": "1999", "message": "An error occurred during model - copy. Retry the operation or contact service administrator if the issue persists."}}' - headers: - apim-request-id: - - 8a77f21c-fbd1-4798-a991-b22c8bfc3b5f - content-type: - - application/json; charset=utf-8 - date: - - Mon, 15 Jun 2020 19:26:56 GMT - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-content-type-options: - - nosniff - x-envoy-upstream-service-time: - - '47' - status: - code: 500 - message: Internal Server Error -- request: - body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", - "copyAuthorization": {"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": - 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592335615}}\''''' - headers: - Accept: - - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive Content-Length: - - '447' - Content-Type: - - application/json + - '0' User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/copyAuthorization response: body: - string: '{"error": {"code": "1999", "message": "An error occurred during model - copy. Retry the operation or contact service administrator if the issue persists."}}' + string: '{"modelId": "1492ba3b-187c-4b9b-8e02-df2e0da5bcb9", "accessToken": + "redacted", "expirationDateTimeTicks": 1597774092}' headers: apim-request-id: - - 8af7df01-9ce5-45d3-9846-d29ccfe17c77 + - 09db1b3e-7aa8-4882-bc77-9cefc704acdf content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2020 19:26:57 GMT + - Mon, 17 Aug 2020 18:08:12 GMT + location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/1492ba3b-187c-4b9b-8e02-df2e0da5bcb9 strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -285,14 +191,14 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '26' + - '22' status: - code: 500 - message: Internal Server Error + code: 201 + message: Created - request: body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", - "copyAuthorization": {"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": - 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592335615}}\''''' + "copyAuthorization": {"modelId": "1492ba3b-187c-4b9b-8e02-df2e0da5bcb9", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1597774092}}\''''' headers: Accept: - '*/*' @@ -305,21 +211,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/00000000-0000-0000-0000-000000000000/copy response: body: - string: '{"error": {"code": "1999", "message": "An error occurred during model - copy. Retry the operation or contact service administrator if the issue persists."}}' + string: '{"error": {"code": "1022", "message": "Model with ''id=00000000-0000-0000-0000-000000000000'' + not found."}}' headers: apim-request-id: - - b1dd14ec-68df-43fd-a680-7d08cca4e9eb + - e0ae0076-070f-4213-b1ea-54c51068a121 content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2020 19:27:00 GMT + - Mon, 17 Aug 2020 18:08:12 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -327,8 +232,8 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '73' + - '18' status: - code: 500 - message: Internal Server Error + code: 404 + message: Not Found version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_case_insensitive_region.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_case_insensitive_region.yaml new file mode 100644 index 000000000000..6bf228d0d53a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_case_insensitive_region.yaml @@ -0,0 +1,212 @@ +interactions: +- request: + body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": + false}, "useLabelFile": false}\''''' + headers: + Content-Length: + - '288' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models + response: + body: + string: '' + headers: + apim-request-id: a5b902a1-c5d5-4189-b8d0-3b234fe95d1f + content-length: '0' + date: Mon, 17 Aug 2020 20:16:12 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '36' + status: + code: 201 + message: Created + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0/custom/models +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "bc915e6c-4412-4437-9582-59fb0237a9bb", "status": + "creating", "createdDateTime": "2020-08-17T20:16:12Z", "lastUpdatedDateTime": + "2020-08-17T20:16:12Z"}}' + headers: + apim-request-id: a8338d7f-7833-42e1-ab06-6f42b9f7f670 + content-type: application/json; charset=utf-8 + date: Mon, 17 Aug 2020 20:16:17 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '69' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "bc915e6c-4412-4437-9582-59fb0237a9bb", "status": + "creating", "createdDateTime": "2020-08-17T20:16:12Z", "lastUpdatedDateTime": + "2020-08-17T20:16:12Z"}}' + headers: + apim-request-id: 0b26abf0-3c17-47a8-baac-c79f347abc1c + content-type: application/json; charset=utf-8 + date: Mon, 17 Aug 2020 20:16:23 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '81' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "bc915e6c-4412-4437-9582-59fb0237a9bb", "status": + "ready", "createdDateTime": "2020-08-17T20:16:12Z", "lastUpdatedDateTime": + "2020-08-17T20:16:23Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", + "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", + "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped + To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, + "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": + 1, "errors": [], "status": "succeeded"}], "errors": []}}' + headers: + apim-request-id: 025c724d-d154-4b40-85d2-adde237b6c5b + content-type: application/json; charset=utf-8 + date: Mon, 17 Aug 2020 20:16:27 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '34' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb?includeKeys=true +- request: + body: null + headers: + Accept: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/copyAuthorization + response: + body: + string: '{"modelId": "f6c7dc66-691f-40e7-8a53-25eb778e2005", "accessToken": + "redacted", "expirationDateTimeTicks": 1597781788}' + headers: + apim-request-id: d7e5c8f6-1f3a-4445-a7c4-ca2e0c75053c + content-type: application/json; charset=utf-8 + date: Mon, 17 Aug 2020 20:16:27 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/f6c7dc66-691f-40e7-8a53-25eb778e2005 + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '39' + status: + code: 201 + message: Created + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0/custom/models/copyAuthorization +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "CENTRALUSEUAP", + "copyAuthorization": {"modelId": "f6c7dc66-691f-40e7-8a53-25eb778e2005", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1597781788}}\''''' + headers: + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb/copy + response: + body: + string: '' + headers: + apim-request-id: c2699924-d130-4485-86c1-837be6cdcaa9 + content-length: '0' + date: Mon, 17 Aug 2020 20:16:27 GMT + operation-location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb/copyresults/fd944221-cf69-4253-8f42-5abbe7fe5ba5 + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '58' + status: + code: 202 + message: Accepted + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb/copy +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb/copyresults/fd944221-cf69-4253-8f42-5abbe7fe5ba5 + response: + body: + string: '{"status": "notStarted", "createdDateTime": "2020-08-17T20:16:28Z", + "lastUpdatedDateTime": "2020-08-17T20:16:28Z", "copyResult": {"modelId": "f6c7dc66-691f-40e7-8a53-25eb778e2005"}}' + headers: + apim-request-id: a7bbe2f3-d0be-46f8-a149-54c5e6565f28 + content-type: application/json; charset=utf-8 + date: Mon, 17 Aug 2020 20:16:33 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '27' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb/copyresults/fd944221-cf69-4253-8f42-5abbe7fe5ba5 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb/copyresults/fd944221-cf69-4253-8f42-5abbe7fe5ba5 + response: + body: + string: '{"status": "succeeded", "createdDateTime": "2020-08-17T20:16:37.4186032Z", + "lastUpdatedDateTime": "2020-08-17T20:16:37.4186034Z", "copyResult": {"modelId": + "f6c7dc66-691f-40e7-8a53-25eb778e2005"}}' + headers: + apim-request-id: 4cdb4042-37c7-456c-aa0d-6014fd77c107 + content-type: application/json; charset=utf-8 + date: Mon, 17 Aug 2020 20:16:38 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '29' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/bc915e6c-4412-4437-9582-59fb0237a9bb/copyresults/fd944221-cf69-4253-8f42-5abbe7fe5ba5 +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_fail_bad_model_id.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_fail_bad_model_id.yaml index 36e6271f026a..713a903863b4 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_fail_bad_model_id.yaml +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_fail_bad_model_id.yaml @@ -8,63 +8,60 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models response: body: string: '' headers: - apim-request-id: 70d9593f-6e1b-402e-bd28-88364a662e78 + apim-request-id: 2b5498b8-579a-4692-b71d-c06c613101e8 content-length: '0' - date: Mon, 15 Jun 2020 19:33:57 GMT - location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9 + date: Mon, 17 Aug 2020 18:10:21 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/2eeb69ca-0fe8-4323-9f29-a41043c798b5 strict-transport-security: max-age=31536000; includeSubDomains; preload x-content-type-options: nosniff - x-envoy-upstream-service-time: '577' + x-envoy-upstream-service-time: '37' status: code: 201 message: Created - url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0/custom/models - request: body: null headers: User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9?includeKeys=true + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/2eeb69ca-0fe8-4323-9f29-a41043c798b5?includeKeys=true response: body: - string: '{"modelInfo": {"modelId": "656b1437-a715-4e3b-a9f1-1b0f3e6998c9", "status": - "creating", "createdDateTime": "2020-06-15T19:33:58Z", "lastUpdatedDateTime": - "2020-06-15T19:33:58Z"}}' + string: '{"modelInfo": {"modelId": "2eeb69ca-0fe8-4323-9f29-a41043c798b5", "status": + "creating", "createdDateTime": "2020-08-17T18:10:21Z", "lastUpdatedDateTime": + "2020-08-17T18:10:21Z"}}' headers: - apim-request-id: 2a5e274d-9336-4019-9dd4-e3831027ef75 + apim-request-id: 4514ecba-7f80-4bed-82e0-52b1bba0522c content-type: application/json; charset=utf-8 - date: Mon, 15 Jun 2020 19:34:03 GMT + date: Mon, 17 Aug 2020 18:10:26 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '203' + x-envoy-upstream-service-time: '17' status: code: 200 message: OK - url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9?includeKeys=true + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/2eeb69ca-0fe8-4323-9f29-a41043c798b5?includeKeys=true - request: body: null headers: User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9?includeKeys=true + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/2eeb69ca-0fe8-4323-9f29-a41043c798b5?includeKeys=true response: body: - string: '{"modelInfo": {"modelId": "656b1437-a715-4e3b-a9f1-1b0f3e6998c9", "status": - "ready", "createdDateTime": "2020-06-15T19:33:58Z", "lastUpdatedDateTime": - "2020-06-15T19:34:08Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + string: '{"modelInfo": {"modelId": "2eeb69ca-0fe8-4323-9f29-a41043c798b5", "status": + "ready", "createdDateTime": "2020-08-17T18:10:21Z", "lastUpdatedDateTime": + "2020-08-17T18:10:30Z"}, "keys": {"clusters": {"0": ["Additional Notes:", "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped @@ -76,162 +73,70 @@ interactions: 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": 1, "errors": [], "status": "succeeded"}], "errors": []}}' headers: - apim-request-id: 83db96a0-56c7-41f2-b015-35f496dcb128 + apim-request-id: 387707cd-19f0-4155-95de-68f6766338ea content-type: application/json; charset=utf-8 - date: Mon, 15 Jun 2020 19:34:08 GMT + date: Mon, 17 Aug 2020 18:10:31 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '154' + x-envoy-upstream-service-time: '13' status: code: 200 message: OK - url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9?includeKeys=true + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/2eeb69ca-0fe8-4323-9f29-a41043c798b5?includeKeys=true - request: body: null headers: Accept: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/copyAuthorization + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/copyAuthorization response: body: - string: '{"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": - "redacted", "expirationDateTimeTicks": 1592336050}' + string: '{"modelId": "939ad63b-85cc-41a0-8da5-0cc4a0c63cee", "accessToken": + "redacted", "expirationDateTimeTicks": 1597774231}' headers: - apim-request-id: b8a2880b-5002-40b1-b5f4-01df565bb593 + apim-request-id: a6df3e4f-b9e6-4fed-a00f-9e399d2efba7 content-type: application/json; charset=utf-8 - date: Mon, 15 Jun 2020 19:34:10 GMT - location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/eb496d1a-6e6e-418e-b013-26445fdd50fd + date: Mon, 17 Aug 2020 18:10:31 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/939ad63b-85cc-41a0-8da5-0cc4a0c63cee strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '1771' + x-envoy-upstream-service-time: '22' status: code: 201 message: Created - url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/copyAuthorization + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0/custom/models/copyAuthorization - request: body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", - "copyAuthorization": {"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": - 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592336050}}\''''' + "copyAuthorization": {"modelId": "939ad63b-85cc-41a0-8da5-0cc4a0c63cee", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1597774231}}\''''' headers: Content-Length: - '447' Content-Type: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/00000000-0000-0000-0000-000000000000/copy response: body: - string: '{"error": {"code": "1999", "message": "An error occurred during model - copy. Retry the operation or contact service administrator if the issue persists."}}' + string: '{"error": {"code": "1022", "message": "Model with ''id=00000000-0000-0000-0000-000000000000'' + not found."}}' headers: - apim-request-id: 6e45bd33-370d-4634-9c8b-0d17fd44ee69 + apim-request-id: 0a899fc9-fa7b-4e49-8ca9-8ba2f7323857 content-type: application/json; charset=utf-8 - date: Mon, 15 Jun 2020 19:34:10 GMT + date: Mon, 17 Aug 2020 18:10:31 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '23' + x-envoy-upstream-service-time: '19' status: - code: 500 - message: Internal Server Error - url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy -- request: - body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", - "copyAuthorization": {"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": - 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592336050}}\''''' - headers: - Content-Length: - - '447' - Content-Type: - - application/json - User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) - method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy - response: - body: - string: '{"error": {"code": "1999", "message": "An error occurred during model - copy. Retry the operation or contact service administrator if the issue persists."}}' - headers: - apim-request-id: 185ae74c-84c7-43fc-a8f1-ccf17f93b385 - content-type: application/json; charset=utf-8 - date: Mon, 15 Jun 2020 19:34:11 GMT - strict-transport-security: max-age=31536000; includeSubDomains; preload - transfer-encoding: chunked - x-content-type-options: nosniff - x-envoy-upstream-service-time: '24' - status: - code: 500 - message: Internal Server Error - url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy -- request: - body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", - "copyAuthorization": {"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": - 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592336050}}\''''' - headers: - Content-Length: - - '447' - Content-Type: - - application/json - User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) - method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy - response: - body: - string: '{"error": {"code": "1999", "message": "An error occurred during model - copy. Retry the operation or contact service administrator if the issue persists."}}' - headers: - apim-request-id: 95e0f833-d7b8-4ebb-b744-44a2290508e0 - content-type: application/json; charset=utf-8 - date: Mon, 15 Jun 2020 19:34:12 GMT - strict-transport-security: max-age=31536000; includeSubDomains; preload - transfer-encoding: chunked - x-content-type-options: nosniff - x-envoy-upstream-service-time: '33' - status: - code: 500 - message: Internal Server Error - url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy -- request: - body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", - "copyAuthorization": {"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": - 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592336050}}\''''' - headers: - Content-Length: - - '447' - Content-Type: - - application/json - User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) - Python/3.7.3 (Windows-10-10.0.18362-SP0) - method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy - response: - body: - string: '{"error": {"code": "1999", "message": "An error occurred during model - copy. Retry the operation or contact service administrator if the issue persists."}}' - headers: - apim-request-id: fbe856d6-98d6-441b-a68d-d2558abc8a3b - content-type: application/json; charset=utf-8 - date: Mon, 15 Jun 2020 19:34:15 GMT - strict-transport-security: max-age=31536000; includeSubDomains; preload - transfer-encoding: chunked - x-content-type-options: nosniff - x-envoy-upstream-service-time: '23' - status: - code: 500 - message: Internal Server Error - url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + code: 404 + message: Not Found + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0/custom/models/00000000-0000-0000-0000-000000000000/copy version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url.test_custom_form_bad_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url.test_custom_form_bad_url.yaml index 76d44483b405..65efbf4e68e6 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url.test_custom_form_bad_url.yaml +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url.test_custom_form_bad_url.yaml @@ -14,7 +14,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models response: @@ -22,19 +22,19 @@ interactions: string: '' headers: apim-request-id: - - c5464c55-e945-438b-a291-52051c8da3eb + - 4b3c635b-9ae4-40a3-acdf-61a2c106900a content-length: - '0' date: - - Fri, 10 Jul 2020 18:52:13 GMT + - Mon, 17 Aug 2020 18:28:22 GMT location: - - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/9a5641ef-0ae5-419a-9163-0d4f67ec038c + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/aa8518c2-be2e-4e12-9946-c6941e004a4a strict-transport-security: - max-age=31536000; includeSubDomains; preload x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '65' + - '40' status: code: 201 message: Created @@ -48,14 +48,50 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/9a5641ef-0ae5-419a-9163-0d4f67ec038c?includeKeys=true + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/aa8518c2-be2e-4e12-9946-c6941e004a4a?includeKeys=true response: body: - string: '{"modelInfo": {"modelId": "9a5641ef-0ae5-419a-9163-0d4f67ec038c", "status": - "ready", "createdDateTime": "2020-07-10T18:52:13Z", "lastUpdatedDateTime": - "2020-07-10T18:52:16Z"}, "trainResult": {"averageModelAccuracy": 0.973, "trainingDocuments": + string: '{"modelInfo": {"modelId": "aa8518c2-be2e-4e12-9946-c6941e004a4a", "status": + "creating", "createdDateTime": "2020-08-17T18:28:23Z", "lastUpdatedDateTime": + "2020-08-17T18:28:23Z"}}' + headers: + apim-request-id: + - f8cfb2ae-412c-4a16-8910-81e563177378 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 Aug 2020 18:28:28 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '37' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/aa8518c2-be2e-4e12-9946-c6941e004a4a?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "aa8518c2-be2e-4e12-9946-c6941e004a4a", "status": + "ready", "createdDateTime": "2020-08-17T18:28:23Z", "lastUpdatedDateTime": + "2020-08-17T18:28:30Z"}, "trainResult": {"averageModelAccuracy": 0.96, "trainingDocuments": [{"documentName": "Form_1.jpg", "pages": 1, "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": 1, "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": 1, "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": @@ -66,17 +102,17 @@ interactions: "Email", "accuracy": 0.8}, {"fieldName": "Merchant", "accuracy": 1.0}, {"fieldName": "PhoneNumber", "accuracy": 1.0}, {"fieldName": "PurchaseOrderNumber", "accuracy": 1.0}, {"fieldName": "Quantity", "accuracy": 1.0}, {"fieldName": "Signature", - "accuracy": 1.0}, {"fieldName": "Subtotal", "accuracy": 1.0}, {"fieldName": + "accuracy": 0.8}, {"fieldName": "Subtotal", "accuracy": 1.0}, {"fieldName": "Tax", "accuracy": 1.0}, {"fieldName": "Total", "accuracy": 1.0}, {"fieldName": "VendorName", "accuracy": 1.0}, {"fieldName": "Website", "accuracy": 1.0}], "errors": []}}' headers: apim-request-id: - - beae45d8-d6c5-4952-8409-77f93aea7971 + - 4721d793-e690-45f0-a0d1-27f732df549f content-type: - application/json; charset=utf-8 date: - - Fri, 10 Jul 2020 18:52:26 GMT + - Mon, 17 Aug 2020 18:28:33 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -84,7 +120,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7487' + - '18' status: code: 200 message: OK @@ -102,27 +138,27 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/9a5641ef-0ae5-419a-9163-0d4f67ec038c/analyze?includeTextDetails=false + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/aa8518c2-be2e-4e12-9946-c6941e004a4a/analyze?includeTextDetails=false response: body: string: '' headers: apim-request-id: - - 9b1a842c-f87c-4355-9c60-751e04c883d8 + - e0e9b71f-08cb-45d3-a974-2a3ce37e9ec7 content-length: - '0' date: - - Fri, 10 Jul 2020 18:52:26 GMT + - Mon, 17 Aug 2020 18:28:33 GMT operation-location: - - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/9a5641ef-0ae5-419a-9163-0d4f67ec038c/analyzeresults/847434eb-569c-41a1-b13c-fa9e0803c3d3 + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/aa8518c2-be2e-4e12-9946-c6941e004a4a/analyzeresults/29433ee4-252b-4b64-a959-8acd7b3f8f0c strict-transport-security: - max-age=31536000; includeSubDomains; preload x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '86' + - '50' status: code: 202 message: Accepted @@ -136,31 +172,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/9a5641ef-0ae5-419a-9163-0d4f67ec038c/analyzeresults/847434eb-569c-41a1-b13c-fa9e0803c3d3 + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/aa8518c2-be2e-4e12-9946-c6941e004a4a/analyzeresults/29433ee4-252b-4b64-a959-8acd7b3f8f0c response: body: - string: '{"status": "failed", "createdDateTime": "2020-07-10T18:52:26Z", "lastUpdatedDateTime": - "2020-07-10T18:52:27Z", "analyzeResult": {"version": "2.0.0", "errors": [{"code": - "3014", "message": "Generic error during prediction."}]}}' + string: '{"status": "failed", "createdDateTime": "2020-08-17T18:28:34Z", "lastUpdatedDateTime": + "2020-08-17T18:28:34Z", "analyzeResult": {"version": "2.0.0", "errors": [{"code": + "2003", "message": "Failed to download image from input URL."}]}}' headers: apim-request-id: - - 8537ee85-24f5-475f-b4a1-9876d4eb206e + - 49a6648e-69c2-45e5-a894-15832aba74d9 content-length: - - '213' + - '221' content-type: - application/json; charset=utf-8 date: - - Fri, 10 Jul 2020 18:52:31 GMT + - Mon, 17 Aug 2020 18:28:43 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '20' + - '5040' x-ms-cs-error-code: - - '3014' + - '2003' status: code: 200 message: OK diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url_async.test_form_bad_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url_async.test_form_bad_url.yaml index e632cbe8b948..0a33c17eed95 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url_async.test_form_bad_url.yaml +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url_async.test_form_bad_url.yaml @@ -1,27 +1,27 @@ interactions: - request: body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": - false}, "useLabelFile": true}\''''' + false}, "useLabelFile": false}\''''' headers: Content-Length: - - '287' + - '288' Content-Type: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models response: body: string: '' headers: - apim-request-id: 6e3beb66-d389-484f-9ffe-d1d071bc13cf + apim-request-id: 63869737-3759-4435-92a9-22905e193651 content-length: '0' - date: Fri, 10 Jul 2020 18:50:41 GMT - location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808 + date: Mon, 17 Aug 2020 18:31:30 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4 strict-transport-security: max-age=31536000; includeSubDomains; preload x-content-type-options: nosniff - x-envoy-upstream-service-time: '75' + x-envoy-upstream-service-time: '72' status: code: 201 message: Created @@ -30,64 +30,60 @@ interactions: body: null headers: User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808?includeKeys=true + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4?includeKeys=true response: body: - string: '{"modelInfo": {"modelId": "4bd66569-63c5-44ed-80ae-2a9d93c4b808", "status": - "creating", "createdDateTime": "2020-07-10T18:50:41Z", "lastUpdatedDateTime": - "2020-07-10T18:50:41Z"}}' + string: '{"modelInfo": {"modelId": "31599d09-cd47-4aeb-b364-bfd3c542bfc4", "status": + "creating", "createdDateTime": "2020-08-17T18:31:30Z", "lastUpdatedDateTime": + "2020-08-17T18:31:30Z"}}' headers: - apim-request-id: 33e15865-5953-40ba-b2d5-b8598b5040a0 + apim-request-id: 4f80e5fb-8e68-463b-983d-7e2ba5faa050 content-type: application/json; charset=utf-8 - date: Fri, 10 Jul 2020 18:50:47 GMT + date: Mon, 17 Aug 2020 18:31:35 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '18' + x-envoy-upstream-service-time: '15' status: code: 200 message: OK - url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808?includeKeys=true + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4?includeKeys=true - request: body: null headers: User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808?includeKeys=true + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4?includeKeys=true response: body: - string: '{"modelInfo": {"modelId": "4bd66569-63c5-44ed-80ae-2a9d93c4b808", "status": - "ready", "createdDateTime": "2020-07-10T18:50:41Z", "lastUpdatedDateTime": - "2020-07-10T18:50:49Z"}, "trainResult": {"averageModelAccuracy": 0.973, "trainingDocuments": - [{"documentName": "Form_1.jpg", "pages": 1, "status": "succeeded"}, {"documentName": - "Form_2.jpg", "pages": 1, "status": "succeeded"}, {"documentName": "Form_3.jpg", - "pages": 1, "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": - 1, "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": 1, "status": - "succeeded"}], "fields": [{"fieldName": "CompanyAddress", "accuracy": 0.8}, - {"fieldName": "CompanyName", "accuracy": 1.0}, {"fieldName": "CompanyPhoneNumber", - "accuracy": 1.0}, {"fieldName": "DatedAs", "accuracy": 1.0}, {"fieldName": - "Email", "accuracy": 0.8}, {"fieldName": "Merchant", "accuracy": 1.0}, {"fieldName": - "PhoneNumber", "accuracy": 1.0}, {"fieldName": "PurchaseOrderNumber", "accuracy": - 1.0}, {"fieldName": "Quantity", "accuracy": 1.0}, {"fieldName": "Signature", - "accuracy": 1.0}, {"fieldName": "Subtotal", "accuracy": 1.0}, {"fieldName": - "Tax", "accuracy": 1.0}, {"fieldName": "Total", "accuracy": 1.0}, {"fieldName": - "VendorName", "accuracy": 1.0}, {"fieldName": "Website", "accuracy": 1.0}], - "errors": []}}' + string: '{"modelInfo": {"modelId": "31599d09-cd47-4aeb-b364-bfd3c542bfc4", "status": + "ready", "createdDateTime": "2020-08-17T18:31:30Z", "lastUpdatedDateTime": + "2020-08-17T18:31:40Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", + "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", + "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped + To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, + "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": + 1, "errors": [], "status": "succeeded"}], "errors": []}}' headers: - apim-request-id: 54cd8f4d-49e3-43d2-bcf4-c804caf3da52 + apim-request-id: 39ea7941-9ab4-4450-864f-96687497926a content-type: application/json; charset=utf-8 - date: Fri, 10 Jul 2020 18:50:51 GMT + date: Mon, 17 Aug 2020 18:31:40 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '54' + x-envoy-upstream-service-time: '18' status: code: 200 message: OK - url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808?includeKeys=true + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4?includeKeys=true - request: body: 'b''{"source": "https://badurl.jpg"}''' headers: @@ -96,47 +92,48 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808/analyze?includeTextDetails=false + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4/analyze?includeTextDetails=false response: body: string: '' headers: - apim-request-id: a53fcefe-33b1-484c-a03c-bc297b3aa020 + apim-request-id: a4767ac5-e8e2-45dc-a6e1-7f1162a77ca8 content-length: '0' - date: Fri, 10 Jul 2020 18:50:53 GMT - operation-location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808/analyzeresults/940baac0-bbe9-42c3-8cfc-8ac8ae5cb02a + date: Mon, 17 Aug 2020 18:31:40 GMT + operation-location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4/analyzeresults/3829f33f-0b3f-4945-8da9-dbba818cb367 strict-transport-security: max-age=31536000; includeSubDomains; preload x-content-type-options: nosniff - x-envoy-upstream-service-time: '282' + x-envoy-upstream-service-time: '47' status: code: 202 message: Accepted - url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808/analyze?includeTextDetails=false + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4/analyze?includeTextDetails=false - request: body: null headers: User-Agent: - - azsdk-python-ai-formrecognizer/1.0.0b5 Python/3.7.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-ai-formrecognizer/3.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808/analyzeresults/940baac0-bbe9-42c3-8cfc-8ac8ae5cb02a + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4/analyzeresults/3829f33f-0b3f-4945-8da9-dbba818cb367 response: body: - string: '{"status": "failed", "createdDateTime": "2020-07-10T18:50:53Z", "lastUpdatedDateTime": - "2020-07-10T18:50:53Z", "analyzeResult": {"version": "2.0.0", "errors": [{"code": - "3014", "message": "Generic error during prediction."}]}}' + string: '{"status": "failed", "createdDateTime": "2020-08-17T18:31:41Z", "lastUpdatedDateTime": + "2020-08-17T18:31:41Z", "analyzeResult": {"version": null, "readResults": + null, "pageResults": null, "documentResults": null, "errors": [{"code": "2003", + "message": "Download failed. Please check your input URL."}]}}' headers: - apim-request-id: c37dec93-4500-4f1a-9894-21cfd3523272 - content-length: '213' + apim-request-id: 99518af7-99b5-46f9-a831-94807e1b0b29 + content-length: '303' content-type: application/json; charset=utf-8 - date: Fri, 10 Jul 2020 18:50:57 GMT + date: Mon, 17 Aug 2020 18:31:46 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload x-content-type-options: nosniff - x-envoy-upstream-service-time: '45' - x-ms-cs-error-code: '3014' + x-envoy-upstream-service-time: '30' + x-ms-cs-error-code: '2003' status: code: 200 message: OK - url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/4bd66569-63c5-44ed-80ae-2a9d93c4b808/analyzeresults/940baac0-bbe9-42c3-8cfc-8ac8ae5cb02a + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0/custom/models/31599d09-cd47-4aeb-b364-bfd3c542bfc4/analyzeresults/3829f33f-0b3f-4945-8da9-dbba818cb367 version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py index 12614c9dc58a..0b8adaf38bb4 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py @@ -68,10 +68,28 @@ def test_copy_model_fail(self, client, container_sas_url, location, resource_id) self.assertIsNotNone(e.value.error.code) self.assertIsNotNone(e.value.error.message) + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer(training=True, copy=True) + def test_copy_model_case_insensitive_region(self, client, container_sas_url, location, resource_id): + + poller = client.begin_training(container_sas_url, use_training_labels=False) + model = poller.result() + + # give region all uppercase + target = client.get_copy_authorization(resource_region=location.upper(), resource_id=resource_id) + + poller = client.begin_copy_model(model.model_id, target=target) + copy = poller.result() + + self.assertEqual(copy.status, "ready") + self.assertIsNotNone(copy.training_started_on) + self.assertIsNotNone(copy.training_completed_on) + self.assertEqual(target["modelId"], copy.model_id) + self.assertNotEqual(target["modelId"], model.model_id) + @GlobalFormRecognizerAccountPreparer() @GlobalClientPreparer(training=True, copy=True) def test_copy_model_fail_bad_model_id(self, client, container_sas_url, location, resource_id): - pytest.skip("service team will tell us when to enable this test") poller = client.begin_training(container_sas_url, use_training_labels=False) model = poller.result() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py index b9f3ef1242a8..0aa92f1f9dcd 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py @@ -71,10 +71,29 @@ async def test_copy_model_fail(self, client, container_sas_url, location, resour self.assertIsNotNone(e.value.error.code) self.assertIsNotNone(e.value.error.message) + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer(training=True, copy=True) + async def test_copy_model_case_insensitive_region(self, client, container_sas_url, location, resource_id): + async with client: + poller = await client.begin_training(container_sas_url, use_training_labels=False) + model = await poller.result() + + # give region all uppercase + target = await client.get_copy_authorization(resource_region=location.upper(), resource_id=resource_id) + + poller = await client.begin_copy_model(model.model_id, target=target) + copy = await poller.result() + + self.assertEqual(copy.status, "ready") + self.assertIsNotNone(copy.training_started_on) + self.assertIsNotNone(copy.training_completed_on) + self.assertEqual(target["modelId"], copy.model_id) + self.assertNotEqual(target["modelId"], model.model_id) + @GlobalFormRecognizerAccountPreparer() @GlobalClientPreparer(training=True, copy=True) async def test_copy_model_fail_bad_model_id(self, client, container_sas_url, location, resource_id): - pytest.skip("service team will tell us when to enable this test") + async with client: poller = await client.begin_training(container_sas_url, use_training_labels=False) model = await poller.result() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py index 971acdf34bad..46f14149a5a3 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py @@ -87,7 +87,7 @@ def test_custom_form_bad_url(self, client, container_sas_url): form_url="https://badurl.jpg" ) form = poller.result() - self.assertIsNotNone(e.value.error.code) + self.assertEqual(e.value.error.code, "2003") self.assertIsNotNone(e.value.error.message) @GlobalFormRecognizerAccountPreparer() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py index 983e301f6f4f..6aeaa3f78347 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py @@ -92,16 +92,18 @@ async def test_form_bad_url(self, client, container_sas_url): fr_client = client.get_form_recognizer_client() async with client: - training_poller = await client.begin_training(container_sas_url, use_training_labels=True) + training_poller = await client.begin_training(container_sas_url, use_training_labels=False) model = await training_poller.result() - with self.assertRaises(HttpResponseError): + with pytest.raises(HttpResponseError) as e: async with fr_client: poller = await fr_client.begin_recognize_custom_forms_from_url( model.model_id, form_url="https://badurl.jpg" ) result = await poller.result() + self.assertEqual(e.value.error.code, "2003") + self.assertIsNotNone(e.value.error.message) @GlobalFormRecognizerAccountPreparer() @GlobalClientPreparer(training=True) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_repr.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_repr.py index 92446178008c..c8da3a6c2a8d 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_repr.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_repr.py @@ -28,7 +28,7 @@ def bounding_box(): @pytest.fixture def form_word(bounding_box): model = _models.FormWord(text="Word", bounding_box=bounding_box[0], confidence=0.5, page_number=1) - model_repr = "FormWord(text=Word, bounding_box={}, confidence=0.5, page_number=1)".format(bounding_box[1])[:1024] + model_repr = "FormWord(text=Word, bounding_box={}, confidence=0.5, page_number=1, kind=word)".format(bounding_box[1])[:1024] assert repr(model) == model_repr return model, model_repr @@ -36,7 +36,7 @@ def form_word(bounding_box): @pytest.fixture def form_line(bounding_box, form_word): model = _models.FormLine(text="Word Word", bounding_box=bounding_box[0], words=[form_word[0], form_word[0]], page_number=1) - model_repr = "FormLine(text=Word Word, bounding_box={}, words=[{}, {}], page_number=1)".format(bounding_box[1], form_word[1], form_word[1])[:1024] + model_repr = "FormLine(text=Word Word, bounding_box={}, words=[{}, {}], page_number=1, kind=line)".format(bounding_box[1], form_word[1], form_word[1])[:1024] assert repr(model) == model_repr return model, model_repr diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_samples.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_samples.py index b5e0122cd43e..417b28d88d94 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_samples.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_samples.py @@ -57,6 +57,10 @@ class TestSamples(FormRecognizerTest): @pytest.mark.live_test_only @GlobalFormRecognizerAccountPreparer() def test_sample_authentication(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): + os.environ['AZURE_FORM_RECOGNIZER_AAD_ENDPOINT'] = self.get_settings_value("FORM_RECOGNIZER_AAD_ENDPOINT") + os.environ['AZURE_CLIENT_ID'] = self.get_settings_value("CLIENT_ID") + os.environ['AZURE_CLIENT_SECRET'] = self.get_settings_value("CLIENT_SECRET") + os.environ['AZURE_TENANT_ID'] = self.get_settings_value("TENANT_ID") _test_file('sample_authentication.py', form_recognizer_account, form_recognizer_account_key) @pytest.mark.live_test_only diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_samples_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_samples_async.py index d23a8eed33b5..0a9f6f229c7b 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_samples_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_samples_async.py @@ -54,6 +54,10 @@ class TestSamplesAsync(FormRecognizerTest): @pytest.mark.live_test_only @GlobalFormRecognizerAccountPreparer() def test_sample_authentication_async(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): + os.environ['AZURE_FORM_RECOGNIZER_AAD_ENDPOINT'] = self.get_settings_value("FORM_RECOGNIZER_AAD_ENDPOINT") + os.environ['AZURE_CLIENT_ID'] = self.get_settings_value("CLIENT_ID") + os.environ['AZURE_CLIENT_SECRET'] = self.get_settings_value("CLIENT_SECRET") + os.environ['AZURE_TENANT_ID'] = self.get_settings_value("TENANT_ID") _test_file('sample_authentication_async.py', form_recognizer_account, form_recognizer_account_key) @pytest.mark.live_test_only diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/testcase.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/testcase.py index 56a1074904b1..11bb8dff5cc6 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/testcase.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/testcase.py @@ -176,9 +176,11 @@ def assertFormPagesTransformCorrect(self, pages, actual_read, page_result=None, if not page.lines and not actual_page.lines: continue for p, a in zip(page.lines, actual_page.lines): + self.assertEqual(p.kind, "line") self.assertEqual(p.text, a.text) self.assertBoundingBoxTransformCorrect(p.bounding_box, a.bounding_box) for wp, wa, in zip(p.words, a.words): + self.assertEqual(wp.kind, "word") self.assertEqual(wp.text, wa.text) self.assertEqual(wp.confidence, wa.confidence if wa.confidence is not None else 1.0) self.assertBoundingBoxTransformCorrect(wp.bounding_box, wa.bounding_box) @@ -204,13 +206,14 @@ def assertBoundingBoxTransformCorrect(self, box, actual): def assertFieldElementsTransFormCorrect(self, field_elements, actual_elements, read_result): if field_elements is None and actual_elements is None: return - for receipt, actual in zip(field_elements, actual_elements): + for element, actual in zip(field_elements, actual_elements): nums = [int(s) for s in re.findall(r'\d+', actual)] read, line, word = nums[0:3] - text_element = read_result[read].lines[line].words[word] - self.assertEqual(receipt.text, text_element.text) - self.assertEqual(receipt.confidence, text_element.confidence if text_element.confidence is not None else 1.0) - self.assertBoundingBoxTransformCorrect(receipt.bounding_box, text_element.bounding_box) + actual_element = read_result[read].lines[line].words[word] + self.assertEqual(element.text, actual_element.text) + self.assertEqual(element.confidence, actual_element.confidence if actual_element.confidence is not None else 1.0) + self.assertEqual(element.kind, "word") + self.assertBoundingBoxTransformCorrect(element.bounding_box, actual_element.bounding_box) def assertLabeledFormFieldDictTransformCorrect(self, form_fields, actual_fields, read_results=None): if actual_fields is None: @@ -368,7 +371,9 @@ def assertFormPagesHasValues(self, pages): self.assertIsNotNone(line.text) self.assertIsNotNone(line.page_number) self.assertBoundingBoxHasPoints(line.bounding_box) + self.assertEqual(line.kind, "line") for word in line.words: + self.assertEqual(word.kind, "word") self.assertFormWordHasValues(word, page.page_number) if page.tables: @@ -386,6 +391,7 @@ def assertFormPagesHasValues(self, pages): self.assertFieldElementsHasValues(cell.field_elements, page.page_number) def assertFormWordHasValues(self, word, page_number): + self.assertEqual(word.kind, "word") self.assertIsNotNone(word.confidence) self.assertIsNotNone(word.text) self.assertBoundingBoxHasPoints(word.bounding_box) diff --git a/sdk/formrecognizer/ci.yml b/sdk/formrecognizer/ci.yml index 753e32769a71..21adc294cd89 100644 --- a/sdk/formrecognizer/ci.yml +++ b/sdk/formrecognizer/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -31,4 +30,4 @@ extends: ServiceDirectory: formrecognizer Artifacts: - name: azure_ai_formrecognizer - safeName: azureaiformrecognizer \ No newline at end of file + safeName: azureaiformrecognizer diff --git a/sdk/graphrbac/ci.yml b/sdk/graphrbac/ci.yml index c893a7672c36..e6285e40f165 100644 --- a/sdk/graphrbac/ci.yml +++ b/sdk/graphrbac/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: graphrbac Artifacts: - name: azure_graphrbac - safeName: azuregraphrbac \ No newline at end of file + safeName: azuregraphrbac diff --git a/sdk/hanaonazure/ci.yml b/sdk/hanaonazure/ci.yml index e1f3137a0b83..e203f4f6b1dd 100644 --- a/sdk/hanaonazure/ci.yml +++ b/sdk/hanaonazure/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/hdinsight/azure-mgmt-hdinsight/test/test_mgmt_hdinsight.py b/sdk/hdinsight/azure-mgmt-hdinsight/test/test_mgmt_hdinsight.py index 0a9e312e43ec..47a77e84ead7 100644 --- a/sdk/hdinsight/azure-mgmt-hdinsight/test/test_mgmt_hdinsight.py +++ b/sdk/hdinsight/azure-mgmt-hdinsight/test/test_mgmt_hdinsight.py @@ -137,7 +137,7 @@ def test_create_kafka_cluster_with_managed_disks(self, resource_group, location, cluster = create_poller.result() self.validate_cluster(cluster_name, create_params, cluster) - # @unittest.skip('skipping temporarily to unblock azure-keyvault checkin') + @unittest.skip('skipping temporarily to unblock azure-keyvault checkin') @ResourceGroupPreparer(name_prefix='hdipy-', location=LOCATION) @StorageAccountPreparer(name_prefix='hdipy', location=LOCATION) @KeyVaultPreparer(name_prefix='hdipy', location=LOCATION, enable_soft_delete=True) diff --git a/sdk/hdinsight/ci.yml b/sdk/hdinsight/ci.yml index 2c32dc8a8844..42357e82c8bd 100644 --- a/sdk/hdinsight/ci.yml +++ b/sdk/hdinsight/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: hdinsight Artifacts: - name: azure_mgmt_hdinsight - safeName: azuremgmthdinsight \ No newline at end of file + safeName: azuremgmthdinsight diff --git a/sdk/healthcareapis/ci.yml b/sdk/healthcareapis/ci.yml index 93c23b977582..ade8967508df 100644 --- a/sdk/healthcareapis/ci.yml +++ b/sdk/healthcareapis/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: healthcareapis Artifacts: - name: azure_mgmt_healthcareapis - safeName: azuremgmthealthcareapis \ No newline at end of file + safeName: azuremgmthealthcareapis diff --git a/sdk/hybridcompute/ci.yml b/sdk/hybridcompute/ci.yml new file mode 100644 index 000000000000..c53d291beaaa --- /dev/null +++ b/sdk/hybridcompute/ci.yml @@ -0,0 +1,33 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: + branches: + include: + - master + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/hybridcompute/ + +pr: + branches: + include: + - master + - feature/* + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/hybridcompute/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: hybridcompute + Artifacts: + - name: azure_mgmt_hybridcompute + safeName: azuremgmthybridcompute diff --git a/sdk/hybridkubernetes/ci.yml b/sdk/hybridkubernetes/ci.yml index b7069a5772bb..7827cde32abe 100644 --- a/sdk/hybridkubernetes/ci.yml +++ b/sdk/hybridkubernetes/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: hybridkubernetes Artifacts: - name: azure_mgmt_hybridkubernetes - safeName: azuremgmthybridkubernetes \ No newline at end of file + safeName: azuremgmthybridkubernetes diff --git a/sdk/identity/azure-identity/CHANGELOG.md b/sdk/identity/azure-identity/CHANGELOG.md index 81c7cb4d0336..138b002ef226 100644 --- a/sdk/identity/azure-identity/CHANGELOG.md +++ b/sdk/identity/azure-identity/CHANGELOG.md @@ -1,7 +1,10 @@ # Release History -## 1.4.1 (Unreleased) - +## 1.5.0b1 (Unreleased) +### Added +- Application authentication APIs from 1.4.0b7 +- `ManagedIdentityCredential` supports the latest version of App Service + ([#11346](https://github.com/Azure/azure-sdk-for-python/issues/11346)) ## 1.4.0 (2020-08-10) ### Added @@ -253,7 +256,7 @@ its use in national clouds ### New features: - `AuthorizationCodeCredential` authenticates with a previously obtained authorization code. See Azure Active Directory's -[authorization code documentation](https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow) +[authorization code documentation](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) for more information about this authentication flow. - Multi-cloud support: client credentials accept the authority of an Azure Active Directory authentication endpoint as an `authority` keyword argument. Known diff --git a/sdk/identity/azure-identity/MANIFEST.in b/sdk/identity/azure-identity/MANIFEST.in index 3eee8c39c7a7..07b576fc0eb3 100644 --- a/sdk/identity/azure-identity/MANIFEST.in +++ b/sdk/identity/azure-identity/MANIFEST.in @@ -1,3 +1,4 @@ +recursive-include samples *.py recursive-include tests *.py include *.md include azure/__init__.py diff --git a/sdk/identity/azure-identity/README.md b/sdk/identity/azure-identity/README.md index abc9785835fa..a644028a6e25 100644 --- a/sdk/identity/azure-identity/README.md +++ b/sdk/identity/azure-identity/README.md @@ -6,7 +6,7 @@ Azure SDK clients which support Azure Active Directory (AAD) token authenticatio [Source code](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/identity/azure-identity) | [Package (PyPI)](https://pypi.org/project/azure-identity/) | [API reference documentation][ref_docs] -| [Azure Active Directory documentation](https://docs.microsoft.com/en-us/azure/active-directory/) +| [Azure Active Directory documentation](https://docs.microsoft.com/azure/active-directory/) # Getting started @@ -268,7 +268,7 @@ the message collects error messages from each credential in the chain. For more details on handling specific Azure Active Directory errors please refer to the Azure Active Directory -[error code documentation](https://docs.microsoft.com/en-us/azure/active-directory/develop/reference-aadsts-error-codes). +[error code documentation](https://docs.microsoft.com/azure/active-directory/develop/reference-aadsts-error-codes). ### Logging diff --git a/sdk/identity/azure-identity/azure/identity/__init__.py b/sdk/identity/azure-identity/azure/identity/__init__.py index a749d3510112..3819005a9e63 100644 --- a/sdk/identity/azure-identity/azure/identity/__init__.py +++ b/sdk/identity/azure-identity/azure/identity/__init__.py @@ -4,7 +4,8 @@ # ------------------------------------ """Credentials for Azure SDK clients.""" -from ._exceptions import CredentialUnavailableError +from ._auth_record import AuthenticationRecord +from ._exceptions import AuthenticationRequiredError, CredentialUnavailableError from ._constants import AzureAuthorityHosts, KnownAuthorities from ._credentials import ( AzureCliCredential, @@ -24,6 +25,8 @@ __all__ = [ + "AuthenticationRecord", + "AuthenticationRequiredError", "AuthorizationCodeCredential", "AzureAuthorityHosts", "AzureCliCredential", diff --git a/sdk/identity/azure-identity/azure/identity/_constants.py b/sdk/identity/azure-identity/azure/identity/_constants.py index 8bfb28d7adfa..a724c82431db 100644 --- a/sdk/identity/azure-identity/azure/identity/_constants.py +++ b/sdk/identity/azure-identity/azure/identity/_constants.py @@ -35,8 +35,11 @@ class EnvironmentVariables: AZURE_PASSWORD = "AZURE_PASSWORD" USERNAME_PASSWORD_VARS = (AZURE_CLIENT_ID, AZURE_USERNAME, AZURE_PASSWORD) + IDENTITY_ENDPOINT = "IDENTITY_ENDPOINT" + IDENTITY_HEADER = "IDENTITY_HEADER" MSI_ENDPOINT = "MSI_ENDPOINT" MSI_SECRET = "MSI_SECRET" + AZURE_AUTHORITY_HOST = "AZURE_AUTHORITY_HOST" diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/app_service.py b/sdk/identity/azure-identity/azure/identity/_credentials/app_service.py new file mode 100644 index 000000000000..b1e09e1955e8 --- /dev/null +++ b/sdk/identity/azure-identity/azure/identity/_credentials/app_service.py @@ -0,0 +1,113 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import functools +import os +from typing import TYPE_CHECKING + +from azure.core.credentials import AccessToken +from azure.core.pipeline.transport import HttpRequest + +from .. import CredentialUnavailableError +from .._constants import EnvironmentVariables +from .._internal.managed_identity_client import ManagedIdentityClient +from .._internal.get_token_mixin import GetTokenMixin + +if TYPE_CHECKING: + from typing import Any, Optional + + +class AppServiceCredential(GetTokenMixin): + def __init__(self, **kwargs): + # type: (**Any) -> None + super(AppServiceCredential, self).__init__() + + client_args = _get_client_args(**kwargs) + if client_args: + self._client = ManagedIdentityClient(**client_args) + else: + self._client = None + + def get_token(self, *scopes, **kwargs): + # type: (*str, **Any) -> AccessToken + if not self._client: + raise CredentialUnavailableError( + message="App Service managed identity configuration not found in environment" + ) + return super(AppServiceCredential, self).get_token(*scopes, **kwargs) + + def _acquire_token_silently(self, *scopes): + # type: (*str) -> Optional[AccessToken] + return self._client.get_cached_token(*scopes) + + def _request_token(self, *scopes, **kwargs): + # type: (*str, **Any) -> AccessToken + return self._client.request_token(*scopes, **kwargs) + + +def _get_client_args(**kwargs): + # type: (dict) -> Optional[dict] + identity_config = kwargs.pop("identity_config", None) or {} + + url = os.environ.get(EnvironmentVariables.IDENTITY_ENDPOINT) + secret = os.environ.get(EnvironmentVariables.IDENTITY_HEADER) + if url and secret: + version = "2019-08-01" + base_headers = {"X-IDENTITY-HEADER": secret} + content_callback = None + else: + url = os.environ.get(EnvironmentVariables.MSI_ENDPOINT) + secret = os.environ.get(EnvironmentVariables.MSI_SECRET) + if not (url and secret): + # App Service managed identity isn't available in this environment + return None + + version = "2017-09-01" + base_headers = {"secret": secret} + content_callback = _parse_app_service_expires_on + if kwargs.get("client_id"): + identity_config["clientid"] = kwargs.pop("client_id") + + return dict( + kwargs, + _content_callback=content_callback, + _identity_config=identity_config, + base_headers=base_headers, + request_factory=functools.partial(_get_request, url, version), + ) + + +def _get_request(url, version, scope, identity_config): + # type: (str, str, str, dict) -> HttpRequest + request = HttpRequest("GET", url) + request.format_parameters(dict({"api-version": version, "resource": scope}, **identity_config)) + return request + + +def _parse_app_service_expires_on(content): + # type: (dict) -> None + """Parse an App Service MSI version 2017-09-01 expires_on value to epoch seconds. + + This version of the API returns expires_on as a UTC datetime string rather than epoch seconds. The string's + format depends on the OS. Responses on Windows include AM/PM, for example "1/16/2020 5:24:12 AM +00:00". + Responses on Linux do not, for example "06/20/2019 02:57:58 +00:00". + + :raises ValueError: ``expires_on`` didn't match an expected format + """ + import calendar + import time + + # parse the string minus the timezone offset + expires_on = content["expires_on"] + if expires_on.endswith(" +00:00"): + date_string = expires_on[: -len(" +00:00")] + for format_string in ("%m/%d/%Y %H:%M:%S", "%m/%d/%Y %I:%M:%S %p"): # (Linux, Windows) + try: + t = time.strptime(date_string, format_string) + content["expires_on"] = calendar.timegm(t) + return + except ValueError: + pass + + raise ValueError("'{}' doesn't match the expected format".format(expires_on)) diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/browser.py b/sdk/identity/azure-identity/azure/identity/_credentials/browser.py index 2726c425074a..cf860f5b39f1 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/browser.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/browser.py @@ -36,6 +36,13 @@ class InteractiveBrowserCredential(InteractiveCredential): authenticate work or school accounts. :keyword str client_id: Client ID of the Azure Active Directory application users will sign in to. If unspecified, the Azure CLI's ID will be used. + :keyword AuthenticationRecord authentication_record: :class:`AuthenticationRecord` returned by :func:`authenticate` + :keyword bool disable_automatic_authentication: if True, :func:`get_token` will raise + :class:`AuthenticationRequiredError` when user interaction is required to acquire a token. Defaults to False. + :keyword bool enable_persistent_cache: if True, the credential will store tokens in a persistent cache shared by + other user credentials. Defaults to False. + :keyword bool allow_unencrypted_cache: if True, the credential will fall back to a plaintext cache on platforms + where encryption is unavailable. Default to False. Has no effect when `enable_persistent_cache` is False. :keyword int timeout: seconds to wait for the user to complete authentication. Defaults to 300 (5 minutes). """ diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/certificate.py b/sdk/identity/azure-identity/azure/identity/_credentials/certificate.py index 8ae461c8ef78..405a0954e6c0 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/certificate.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/certificate.py @@ -2,17 +2,21 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ +from binascii import hexlify from typing import TYPE_CHECKING -from .._internal import AadClient, CertificateCredentialBase -from .._internal.decorators import log_get_token +from cryptography import x509 +from cryptography.hazmat.primitives import hashes, serialization +from cryptography.hazmat.backends import default_backend +import six + +from .._internal.client_credential_base import ClientCredentialBase if TYPE_CHECKING: - from azure.core.credentials import AccessToken from typing import Any -class CertificateCredential(CertificateCredentialBase): +class CertificateCredential(ClientCredentialBase): """Authenticates as a service principal using a certificate. :param str tenant_id: ID of the service principal's tenant. Also called its 'directory' ID. @@ -25,33 +29,34 @@ class CertificateCredential(CertificateCredentialBase): :keyword password: The certificate's password. If a unicode string, it will be encoded as UTF-8. If the certificate requires a different encoding, pass appropriately encoded bytes instead. :paramtype password: str or bytes + :keyword bool enable_persistent_cache: if True, the credential will store tokens in a persistent cache. Defaults to + False. + :keyword bool allow_unencrypted_cache: if True, the credential will fall back to a plaintext cache when encryption + is unavailable. Default to False. Has no effect when `enable_persistent_cache` is False. """ - @log_get_token("CertificateCredential") - def get_token(self, *scopes, **kwargs): # pylint:disable=unused-argument - # type: (*str, **Any) -> AccessToken - """Request an access token for `scopes`. - - .. note:: This method is called by Azure SDK clients. It isn't intended for use in application code. - - :param str scopes: desired scopes for the access token. This method requires at least one scope. - :rtype: :class:`azure.core.credentials.AccessToken` - :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` - attribute gives a reason. Any error response from Azure Active Directory is available as the error's - ``response`` attribute. - """ - if not scopes: - raise ValueError("'get_token' requires at least one scope") - - token = self._client.get_cached_access_token(scopes, query={"client_id": self._client_id}) - if not token: - token = self._client.obtain_token_by_client_certificate(scopes, self._certificate, **kwargs) - elif self._client.should_refresh(token): - try: - self._client.obtain_token_by_client_certificate(scopes, self._certificate, **kwargs) - except Exception: # pylint: disable=broad-except - pass - return token - - def _get_auth_client(self, tenant_id, client_id, **kwargs): - return AadClient(tenant_id, client_id, **kwargs) + def __init__(self, tenant_id, client_id, certificate_path, **kwargs): + # type: (str, str, str, **Any) -> None + if not certificate_path: + raise ValueError( + "'certificate_path' must be the path to a PEM file containing an x509 certificate and its private key" + ) + + password = kwargs.pop("password", None) + if isinstance(password, six.text_type): + password = password.encode(encoding="utf-8") + + with open(certificate_path, "rb") as f: + pem_bytes = f.read() + + cert = x509.load_pem_x509_certificate(pem_bytes, default_backend()) + fingerprint = cert.fingerprint(hashes.SHA1()) # nosec + + # TODO: msal doesn't formally support passwords (but soon will); the below depends on an implementation detail + private_key = serialization.load_pem_private_key(pem_bytes, password=password, backend=default_backend()) + super(CertificateCredential, self).__init__( + client_id=client_id, + client_credential={"private_key": private_key, "thumbprint": hexlify(fingerprint).decode("utf-8")}, + tenant_id=tenant_id, + **kwargs + ) diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/client_secret.py b/sdk/identity/azure-identity/azure/identity/_credentials/client_secret.py index 54bce366781a..311a6f1ef3e8 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/client_secret.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/client_secret.py @@ -2,21 +2,16 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -from .._internal import AadClient, ClientSecretCredentialBase -from .._internal.decorators import log_get_token +from typing import TYPE_CHECKING -try: - from typing import TYPE_CHECKING -except ImportError: - TYPE_CHECKING = False +from .._internal.client_credential_base import ClientCredentialBase if TYPE_CHECKING: # pylint:disable=unused-import,ungrouped-imports from typing import Any - from azure.core.credentials import AccessToken -class ClientSecretCredential(ClientSecretCredentialBase): +class ClientSecretCredential(ClientCredentialBase): """Authenticates as a service principal using a client ID and client secret. :param str tenant_id: ID of the service principal's tenant. Also called its 'directory' ID. @@ -26,33 +21,23 @@ class ClientSecretCredential(ClientSecretCredentialBase): :keyword str authority: Authority of an Azure Active Directory endpoint, for example 'login.microsoftonline.com', the authority for Azure Public Cloud (which is the default). :class:`~azure.identity.AzureAuthorityHosts` defines authorities for other clouds. + :keyword bool enable_persistent_cache: if True, the credential will store tokens in a persistent cache. Defaults to + False. + :keyword bool allow_unencrypted_cache: if True, the credential will fall back to a plaintext cache when encryption + is unavailable. Default to False. Has no effect when `enable_persistent_cache` is False. """ - @log_get_token("ClientSecretCredential") - def get_token(self, *scopes, **kwargs): - # type: (*str, **Any) -> AccessToken - """Request an access token for `scopes`. - - .. note:: This method is called by Azure SDK clients. It isn't intended for use in application code. - - :param str scopes: desired scopes for the access token. This method requires at least one scope. - :rtype: :class:`azure.core.credentials.AccessToken` - :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` - attribute gives a reason. Any error response from Azure Active Directory is available as the error's - ``response`` attribute. - """ - if not scopes: - raise ValueError("'get_token' requires at least one scope") - - token = self._client.get_cached_access_token(scopes, query={"client_id": self._client_id}) - if not token: - token = self._client.obtain_token_by_client_secret(scopes, self._secret, **kwargs) - elif self._client.should_refresh(token): - try: - self._client.obtain_token_by_client_secret(scopes, self._secret, **kwargs) - except Exception: # pylint: disable=broad-except - pass - return token - - def _get_auth_client(self, tenant_id, client_id, **kwargs): - return AadClient(tenant_id, client_id, **kwargs) + def __init__(self, tenant_id, client_id, client_secret, **kwargs): + # type: (str, str, str, **Any) -> None + if not client_id: + raise ValueError("client_id should be the id of an Azure Active Directory application") + if not client_secret: + raise ValueError("secret should be an Azure Active Directory application's client secret") + if not tenant_id: + raise ValueError( + "tenant_id should be an Azure Active Directory tenant's id (also called its 'directory id')" + ) + + super(ClientSecretCredential, self).__init__( + client_id=client_id, client_credential=client_secret, tenant_id=tenant_id, **kwargs + ) diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/device_code.py b/sdk/identity/azure-identity/azure/identity/_credentials/device_code.py index 37278c2a7a16..87fc9e738a31 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/device_code.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/device_code.py @@ -46,6 +46,13 @@ class DeviceCodeCredential(InteractiveCredential): - ``expires_on`` (datetime.datetime) the UTC time at which the code will expire If this argument isn't provided, the credential will print instructions to stdout. :paramtype prompt_callback: Callable[str, str, ~datetime.datetime] + :keyword AuthenticationRecord authentication_record: :class:`AuthenticationRecord` returned by :func:`authenticate` + :keyword bool disable_automatic_authentication: if True, :func:`get_token` will raise + :class:`AuthenticationRequiredError` when user interaction is required to acquire a token. Defaults to False. + :keyword bool enable_persistent_cache: if True, the credential will store tokens in a persistent cache shared by + other user credentials. Defaults to False. + :keyword bool allow_unencrypted_cache: if True, the credential will fall back to a plaintext cache on platforms + where encryption is unavailable. Default to False. Has no effect when `enable_persistent_cache` is False. """ def __init__(self, client_id, **kwargs): diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/managed_identity.py b/sdk/identity/azure-identity/azure/identity/_credentials/managed_identity.py index 1205b1a083db..9a97dd183a94 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/managed_identity.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/managed_identity.py @@ -44,14 +44,31 @@ class ManagedIdentityCredential(object): the keyword arguments. :keyword str client_id: a user-assigned identity's client ID. This is supported in all hosting environments. + :keyword identity_config: a mapping ``{parameter_name: value}`` specifying a user-assigned identity by its object + or resource ID, for example ``{"object_id": "..."}``. Check the documentation for your hosting environment to + learn what values it expects. + :paramtype identity_config: Mapping[str, str] """ def __init__(self, **kwargs): # type: (**Any) -> None self._credential = None - if os.environ.get(EnvironmentVariables.MSI_ENDPOINT): - _LOGGER.info("%s will use MSI", self.__class__.__name__) - self._credential = MsiCredential(**kwargs) + if os.environ.get(EnvironmentVariables.IDENTITY_ENDPOINT) and os.environ.get( + EnvironmentVariables.IDENTITY_HEADER + ): + _LOGGER.info("%s will use App Service managed identity", self.__class__.__name__) + from .app_service import AppServiceCredential + + self._credential = AppServiceCredential(**kwargs) + elif os.environ.get(EnvironmentVariables.MSI_ENDPOINT): + if os.environ.get(EnvironmentVariables.MSI_SECRET): + _LOGGER.info("%s will use App Service managed identity", self.__class__.__name__) + from .app_service import AppServiceCredential + + self._credential = AppServiceCredential(**kwargs) + else: + _LOGGER.info("%s will use MSI", self.__class__.__name__) + self._credential = MsiCredential(**kwargs) else: _LOGGER.info("%s will use IMDS", self.__class__.__name__) self._credential = ImdsCredential(**kwargs) @@ -76,7 +93,7 @@ def get_token(self, *scopes, **kwargs): class _ManagedIdentityBase(object): def __init__(self, endpoint, client_cls, config=None, client_id=None, **kwargs): # type: (str, Type, Optional[Configuration], Optional[str], **Any) -> None - self._identity_config = kwargs.pop("_identity_config", None) or {} + self._identity_config = kwargs.pop("identity_config", None) or {} if client_id: if os.environ.get(EnvironmentVariables.MSI_ENDPOINT) and os.environ.get(EnvironmentVariables.MSI_SECRET): # App Service: version 2017-09-1 accepts client ID as parameter "clientid" diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/shared_cache.py b/sdk/identity/azure-identity/azure/identity/_credentials/shared_cache.py index 59aa7728a8a2..741dcc30bf03 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/shared_cache.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/shared_cache.py @@ -31,6 +31,10 @@ class SharedTokenCacheCredential(SharedTokenCacheBase): defines authorities for other clouds. :keyword str tenant_id: an Azure Active Directory tenant ID. Used to select an account when the cache contains tokens for multiple identities. + :keyword AuthenticationRecord authentication_record: an authentication record returned by a user credential such as + :class:`DeviceCodeCredential` or :class:`InteractiveBrowserCredential` + :keyword bool allow_unencrypted_cache: if True, the credential will fall back to a plaintext cache when encryption + is unavailable. Defaults to False. """ @log_get_token("SharedTokenCacheCredential") diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/user_password.py b/sdk/identity/azure-identity/azure/identity/_credentials/user_password.py index a5636855a6e1..1c6c1b3561d6 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/user_password.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/user_password.py @@ -33,6 +33,10 @@ class UsernamePasswordCredential(InteractiveCredential): defines authorities for other clouds. :keyword str tenant_id: tenant ID or a domain associated with a tenant. If not provided, defaults to the 'organizations' tenant, which supports only Azure Active Directory work or school accounts. + :keyword bool enable_persistent_cache: if True, the credential will store tokens in a persistent cache shared by + other user credentials. Defaults to False. + :keyword bool allow_unencrypted_cache: if True, the credential will fall back to a plaintext cache on platforms + where encryption is unavailable. Default to False. Has no effect when `enable_persistent_cache` is False. """ def __init__(self, client_id, username, password, **kwargs): @@ -42,7 +46,7 @@ def __init__(self, client_id, username, password, **kwargs): # first time it's asked for a token. However, we want to ensure this first authentication is not silent, to # validate the given password. This class therefore doesn't document the authentication_record argument, and we # discard it here. - kwargs.pop("_authentication_record", None) + kwargs.pop("authentication_record", None) super(UsernamePasswordCredential, self).__init__(client_id=client_id, **kwargs) self._username = username self._password = password diff --git a/sdk/identity/azure-identity/azure/identity/_internal/certificate_credential_base.py b/sdk/identity/azure-identity/azure/identity/_internal/certificate_credential_base.py index e799bce87adf..c13fe86d7a29 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/certificate_credential_base.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/certificate_credential_base.py @@ -44,9 +44,9 @@ def __init__(self, tenant_id, client_id, certificate_path, **kwargs): self._certificate = AadClientCertificate(pem_bytes, password=password) - enable_persistent_cache = kwargs.pop("_enable_persistent_cache", False) + enable_persistent_cache = kwargs.pop("enable_persistent_cache", False) if enable_persistent_cache: - allow_unencrypted = kwargs.pop("_allow_unencrypted_cache", False) + allow_unencrypted = kwargs.pop("allow_unencrypted_cache", False) cache = load_service_principal_cache(allow_unencrypted) else: cache = TokenCache() diff --git a/sdk/identity/azure-identity/azure/identity/_internal/client_credential_base.py b/sdk/identity/azure-identity/azure/identity/_internal/client_credential_base.py new file mode 100644 index 000000000000..68fc0df801ea --- /dev/null +++ b/sdk/identity/azure-identity/azure/identity/_internal/client_credential_base.py @@ -0,0 +1,59 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import time +from typing import TYPE_CHECKING + +import msal + +from azure.core.credentials import AccessToken +from azure.core.exceptions import ClientAuthenticationError +from .get_token_mixin import GetTokenMixin +from .persistent_cache import load_service_principal_cache + +from . import wrap_exceptions +from .msal_credentials import MsalCredential + +if TYPE_CHECKING: + from typing import Any, Optional + + +class ClientCredentialBase(MsalCredential, GetTokenMixin): + """Base class for credentials authenticating a service principal with a certificate or secret""" + + def __init__(self, **kwargs): + if kwargs.pop("enable_persistent_cache", False): + allow_unencrypted = kwargs.pop("allow_unencrypted_cache", False) + cache = load_service_principal_cache(allow_unencrypted) + else: + cache = msal.TokenCache() + super(ClientCredentialBase, self).__init__(_cache=cache, **kwargs) + + @wrap_exceptions + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] + app = self._get_app() + request_time = int(time.time()) + result = app.acquire_token_silent_with_error(list(scopes), account=None, **kwargs) + if result and "access_token" in result and "expires_in" in result: + return AccessToken(result["access_token"], request_time + int(result["expires_in"])) + return None + + @wrap_exceptions + def _request_token(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] + app = self._get_app() + request_time = int(time.time()) + result = app.acquire_token_for_client(list(scopes)) + if "access_token" not in result: + message = "Authentication failed: {}".format(result.get("error_description") or result.get("error")) + raise ClientAuthenticationError(message=message) + + return AccessToken(result["access_token"], request_time + int(result["expires_in"])) + + def _get_app(self): + # type: () -> msal.ConfidentialClientApplication + if not self._msal_app: + self._msal_app = self._create_app(msal.ConfidentialClientApplication) + return self._msal_app diff --git a/sdk/identity/azure-identity/azure/identity/_internal/client_secret_credential_base.py b/sdk/identity/azure-identity/azure/identity/_internal/client_secret_credential_base.py index a8b0a1fdc4ce..4854a396e84f 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/client_secret_credential_base.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/client_secret_credential_base.py @@ -31,9 +31,9 @@ def __init__(self, tenant_id, client_id, client_secret, **kwargs): "tenant_id should be an Azure Active Directory tenant's id (also called its 'directory id')" ) - enable_persistent_cache = kwargs.pop("_enable_persistent_cache", False) + enable_persistent_cache = kwargs.pop("enable_persistent_cache", False) if enable_persistent_cache: - allow_unencrypted = kwargs.pop("_allow_unencrypted_cache", False) + allow_unencrypted = kwargs.pop("allow_unencrypted_cache", False) cache = load_service_principal_cache(allow_unencrypted) else: cache = TokenCache() diff --git a/sdk/identity/azure-identity/azure/identity/_internal/get_token_mixin.py b/sdk/identity/azure-identity/azure/identity/_internal/get_token_mixin.py new file mode 100644 index 000000000000..c8ebe110dd01 --- /dev/null +++ b/sdk/identity/azure-identity/azure/identity/_internal/get_token_mixin.py @@ -0,0 +1,84 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import abc +import logging +import time +from typing import TYPE_CHECKING + +from .._constants import DEFAULT_REFRESH_OFFSET, DEFAULT_TOKEN_REFRESH_RETRY_DELAY + +try: + ABC = abc.ABC +except AttributeError: # Python 2.7, abc exists, but not ABC + ABC = abc.ABCMeta("ABC", (object,), {"__slots__": ()}) # type: ignore + +if TYPE_CHECKING: + # pylint:disable=ungrouped-imports,unused-import + from typing import Any, Optional + from azure.core.credentials import AccessToken + +_LOGGER = logging.getLogger(__name__) + + +class GetTokenMixin(ABC): + def __init__(self, *args, **kwargs): + # type: (*Any, **Any) -> None + self._last_request_time = 0 + super(GetTokenMixin, self).__init__(*args, **kwargs) + + @abc.abstractmethod + def _acquire_token_silently(self, *scopes): + # type: (*str) -> Optional[AccessToken] + """Attempt to acquire an access token from a cache or by redeeming a refresh token""" + + @abc.abstractmethod + def _request_token(self, *scopes, **kwargs): + # type: (*str, **Any) -> AccessToken + """Request an access token from the STS""" + + def _should_refresh(self, token): + # type: (AccessToken) -> bool + now = int(time.time()) + if token.expires_on - now > DEFAULT_REFRESH_OFFSET: + return False + if now - self._last_request_time < DEFAULT_TOKEN_REFRESH_RETRY_DELAY: + return False + return True + + def get_token(self, *scopes, **kwargs): + # type: (*str, **Any) -> AccessToken + """Request an access token for `scopes`. + + .. note:: This method is called by Azure SDK clients. It isn't intended for use in application code. + + :param str scopes: desired scopes for the access token. This method requires at least one scope. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises CredentialUnavailableError: the credential is unable to attempt authentication because it lacks + required data, state, or platform support + :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` + attribute gives a reason. + """ + if not scopes: + raise ValueError('"get_token" requires at least one scope') + + try: + token = self._acquire_token_silently(*scopes) + if not token: + self._last_request_time = int(time.time()) + token = self._request_token(*scopes) + elif self._should_refresh(token): + try: + self._last_request_time = int(time.time()) + token = self._request_token(*scopes, **kwargs) + except Exception: # pylint:disable=broad-except + pass + _LOGGER.info("%s.get_token succeeded", self.__class__.__name__) + return token + + except Exception as ex: + _LOGGER.warning( + "%s.get_token failed: %s", self.__class__.__name__, ex, exc_info=_LOGGER.isEnabledFor(logging.DEBUG) + ) + raise diff --git a/sdk/identity/azure-identity/azure/identity/_internal/interactive.py b/sdk/identity/azure-identity/azure/identity/_internal/interactive.py index 466c849f069b..4e226bc0c357 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/interactive.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/interactive.py @@ -71,8 +71,8 @@ def _build_auth_record(response): class InteractiveCredential(MsalCredential): def __init__(self, **kwargs): - self._disable_automatic_authentication = kwargs.pop("_disable_automatic_authentication", False) - self._auth_record = kwargs.pop("_authentication_record", None) # type: Optional[AuthenticationRecord] + self._disable_automatic_authentication = kwargs.pop("disable_automatic_authentication", False) + self._auth_record = kwargs.pop("authentication_record", None) # type: Optional[AuthenticationRecord] if self._auth_record: kwargs.pop("client_id", None) # authentication_record overrides client_id argument tenant_id = kwargs.pop("tenant_id", None) or self._auth_record.tenant_id @@ -97,6 +97,8 @@ def get_token(self, *scopes, **kwargs): required data, state, or platform support :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` attribute gives a reason. + :raises AuthenticationRequiredError: user interaction is necessary to acquire a token, and the credential is + configured not to begin this automatically. Call :func:`authenticate` to begin interactive authentication. """ if not scopes: message = "'get_token' requires at least one scope" @@ -138,7 +140,7 @@ def get_token(self, *scopes, **kwargs): _LOGGER.info("%s.get_token succeeded", self.__class__.__name__) return AccessToken(result["access_token"], now + int(result["expires_in"])) - def _authenticate(self, **kwargs): + def authenticate(self, **kwargs): # type: (**Any) -> AuthenticationRecord """Interactively authenticate a user. diff --git a/sdk/identity/azure-identity/azure/identity/_internal/managed_identity_client.py b/sdk/identity/azure-identity/azure/identity/_internal/managed_identity_client.py new file mode 100644 index 000000000000..77282581df3d --- /dev/null +++ b/sdk/identity/azure-identity/azure/identity/_internal/managed_identity_client.py @@ -0,0 +1,133 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import abc +import time +from typing import TYPE_CHECKING + +from msal import TokenCache + +from azure.core.configuration import Configuration +from azure.core.credentials import AccessToken +from azure.core.exceptions import ClientAuthenticationError +from azure.core.pipeline import Pipeline +from azure.core.pipeline.policies import ( + ContentDecodePolicy, + DistributedTracingPolicy, + HeadersPolicy, + HttpLoggingPolicy, + UserAgentPolicy, + RetryPolicy, + NetworkTraceLoggingPolicy, +) +from azure.identity._internal import _scopes_to_resource + +from .user_agent import USER_AGENT + +try: + ABC = abc.ABC +except AttributeError: # Python 2.7, abc exists, but not ABC + ABC = abc.ABCMeta("ABC", (object,), {"__slots__": ()}) # type: ignore + +if TYPE_CHECKING: + # pylint:disable=ungrouped-imports + from typing import Any, Callable, List, Optional, Union + from azure.core.pipeline import PipelineResponse + from azure.core.pipeline.policies import HTTPPolicy, SansIOHTTPPolicy + from azure.core.pipeline.transport import HttpTransport, HttpRequest + + PolicyType = Union[HTTPPolicy, SansIOHTTPPolicy] + + +class ManagedIdentityClient(object): + # pylint:disable=missing-client-constructor-parameter-credential + def __init__(self, request_factory, client_id=None, **kwargs): + # type: (Callable[[str, dict], HttpRequest], Optional[str], **Any) -> None + self._cache = kwargs.pop("_cache", None) or TokenCache() + self._content_callback = kwargs.pop("_content_callback", None) + self._identity_config = kwargs.pop("_identity_config", None) or {} + if client_id: + self._identity_config["client_id"] = client_id + + config = kwargs.pop("_config", None) or _get_configuration(**kwargs) + self._pipeline = self._build_pipeline(config, **kwargs) + + self._request_factory = request_factory + + def get_cached_token(self, *scopes): + # type: (*str) -> Optional[AccessToken] + resource = _scopes_to_resource(*scopes) + tokens = self._cache.find(TokenCache.CredentialType.ACCESS_TOKEN, target=[resource]) + for token in tokens: + if token["expires_on"] > time.time(): + return AccessToken(token["secret"], token["expires_on"]) + return None + + def request_token(self, *scopes, **kwargs): # pylint:disable=unused-argument + # type: (*str, **Any) -> AccessToken + resource = _scopes_to_resource(*scopes) + request = self._request_factory(resource, self._identity_config) + request_time = int(time.time()) + response = self._pipeline.run(request) + token = self._process_response(response, request_time) + return token + + def _process_response(self, response, request_time): + # type: (PipelineResponse, int) -> AccessToken + + # ContentDecodePolicy sets this, and should have raised if it couldn't deserialize the response + content = ContentDecodePolicy.deserialize_from_http_generics(response.http_response) # type: dict + if not content: + raise ClientAuthenticationError(message="No token received.", response=response.http_response) + if "access_token" not in content or not ("expires_in" in content or "expires_on" in content): + if content and "access_token" in content: + content["access_token"] = "****" + raise ClientAuthenticationError( + message='Unexpected response "{}"'.format(content), response=response.http_response + ) + + if self._content_callback: + self._content_callback(content) + + expires_on = int(content.get("expires_on") or int(content["expires_in"]) + request_time) + content["expires_on"] = expires_on + + token = AccessToken(content["access_token"], content["expires_on"]) + + # caching is the final step because TokenCache.add mutates its "event" + self._cache.add( + event={"response": content, "scope": content["resource"]}, now=request_time, + ) + + return token + + def _build_pipeline(self, config, policies=None, transport=None, **kwargs): # pylint:disable=no-self-use + # type: (Configuration, Optional[List[PolicyType]], Optional[HttpTransport], **Any) -> Pipeline + if policies is None: # [] is a valid policy list + policies = _get_policies(config, **kwargs) + if not transport: + from azure.core.pipeline.transport import RequestsTransport + + transport = RequestsTransport(**kwargs) + + return Pipeline(transport=transport, policies=policies) + + +def _get_policies(config, **kwargs): + return [ + HeadersPolicy(**kwargs), + UserAgentPolicy(base_user_agent=USER_AGENT, **kwargs), + config.proxy_policy, + config.retry_policy, + NetworkTraceLoggingPolicy(**kwargs), + DistributedTracingPolicy(**kwargs), + HttpLoggingPolicy(**kwargs), + ] + + +def _get_configuration(**kwargs): + # type: (**Any) -> Configuration + config = Configuration() + config.retry_policy = RetryPolicy(**kwargs) + return config diff --git a/sdk/identity/azure-identity/azure/identity/_internal/msal_credentials.py b/sdk/identity/azure-identity/azure/identity/_internal/msal_credentials.py index 65b8e6efaf83..6860af649cac 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/msal_credentials.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/msal_credentials.py @@ -40,8 +40,8 @@ def __init__(self, client_id, client_credential=None, **kwargs): self._cache = kwargs.pop("_cache", None) # internal, for use in tests if not self._cache: - if kwargs.pop("_enable_persistent_cache", False): - allow_unencrypted = kwargs.pop("_allow_unencrypted_cache", False) + if kwargs.pop("enable_persistent_cache", False): + allow_unencrypted = kwargs.pop("allow_unencrypted_cache", False) self._cache = load_user_cache(allow_unencrypted) else: self._cache = msal.TokenCache() @@ -50,11 +50,7 @@ def __init__(self, client_id, client_credential=None, **kwargs): # postpone creating the wrapped application because its initializer uses the network self._msal_app = None # type: Optional[msal.ClientApplication] - - @abc.abstractmethod - def get_token(self, *scopes, **kwargs): - # type: (*str, **Any) -> AccessToken - pass + super(MsalCredential, self).__init__() @abc.abstractmethod def _get_app(self): diff --git a/sdk/identity/azure-identity/azure/identity/_internal/shared_token_cache.py b/sdk/identity/azure-identity/azure/identity/_internal/shared_token_cache.py index 865ccf5e2273..d28a7602fd5e 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/shared_token_cache.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/shared_token_cache.py @@ -30,7 +30,7 @@ # pylint:disable=unused-import,ungrouped-imports from typing import Any, Iterable, List, Mapping, Optional from .._internal import AadClientBase - from azure.identity._auth_record import AuthenticationRecord + from azure.identity import AuthenticationRecord CacheItem = Mapping[str, str] @@ -90,7 +90,7 @@ class SharedTokenCacheBase(ABC): def __init__(self, username=None, **kwargs): # pylint:disable=unused-argument # type: (Optional[str], **Any) -> None - self._auth_record = kwargs.pop("_authentication_record", None) # type: Optional[AuthenticationRecord] + self._auth_record = kwargs.pop("authentication_record", None) # type: Optional[AuthenticationRecord] if self._auth_record: # authenticate in the tenant that produced the record unless 'tenant_id' specifies another authenticating_tenant = kwargs.pop("tenant_id", None) or self._auth_record.tenant_id @@ -118,7 +118,7 @@ def _initialize(self): return if not self._cache and self.supported(): - allow_unencrypted = self._client_kwargs.get("_allow_unencrypted_cache", True) + allow_unencrypted = self._client_kwargs.get("allow_unencrypted_cache", False) try: self._cache = load_user_cache(allow_unencrypted) except Exception: # pylint:disable=broad-except diff --git a/sdk/identity/azure-identity/azure/identity/_version.py b/sdk/identity/azure-identity/azure/identity/_version.py index a5b3f7bf1cb2..f336d90e0fae 100644 --- a/sdk/identity/azure-identity/azure/identity/_version.py +++ b/sdk/identity/azure-identity/azure/identity/_version.py @@ -2,4 +2,4 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -VERSION = "1.4.1" +VERSION = "1.5.0b1" diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/app_service.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/app_service.py new file mode 100644 index 000000000000..7cfc40a0b181 --- /dev/null +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/app_service.py @@ -0,0 +1,45 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +from typing import TYPE_CHECKING + +from .._internal import AsyncContextManager +from .._internal.managed_identity_client import AsyncManagedIdentityClient +from .._internal.get_token_mixin import GetTokenMixin +from ... import CredentialUnavailableError +from ..._credentials.app_service import _get_client_args + +if TYPE_CHECKING: + from typing import Any, Optional + from azure.core.credentials import AccessToken + + +class AppServiceCredential(AsyncContextManager, GetTokenMixin): + def __init__(self, **kwargs: "Any") -> None: + super(AppServiceCredential, self).__init__() + + client_args = _get_client_args(**kwargs) + if client_args: + self._client = AsyncManagedIdentityClient(**client_args) + else: + self._client = None + + async def get_token( # pylint:disable=invalid-overridden-method + self, *scopes: str, **kwargs: "Any" + ) -> "AccessToken": + if not self._client: + raise CredentialUnavailableError( + message="App Service managed identity configuration not found in environment" + ) + + return await super().get_token(*scopes, **kwargs) + + async def close(self) -> None: + await self._client.close() # pylint:disable=no-member + + async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + return self._client.get_cached_token(*scopes) + + async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": + return await self._client.request_token(*scopes, **kwargs) diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/authorization_code.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/authorization_code.py index 2701716fe4d9..50f401866bf5 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/authorization_code.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/authorization_code.py @@ -5,8 +5,7 @@ from typing import TYPE_CHECKING from azure.core.exceptions import ClientAuthenticationError -from .base import AsyncCredentialBase -from .._internal import AadClient +from .._internal import AadClient, AsyncContextManager from .._internal.decorators import log_get_token_async if TYPE_CHECKING: @@ -15,7 +14,7 @@ from azure.core.credentials import AccessToken -class AuthorizationCodeCredential(AsyncCredentialBase): +class AuthorizationCodeCredential(AsyncContextManager): """Authenticates by redeeming an authorization code previously obtained from Azure Active Directory. See https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow for more information diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_cli.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_cli.py index 00d348db648e..984f73f9f3d2 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_cli.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_cli.py @@ -7,7 +7,7 @@ import os from azure.core.exceptions import ClientAuthenticationError -from .._credentials.base import AsyncCredentialBase +from .._internal import AsyncContextManager from .._internal.decorators import log_get_token_async from ... import CredentialUnavailableError from ..._credentials.azure_cli import ( @@ -22,7 +22,7 @@ from ..._internal import _scopes_to_resource -class AzureCliCredential(AsyncCredentialBase): +class AzureCliCredential(AsyncContextManager): """Authenticates by requesting a token from the Azure CLI. This requires previously logging in to Azure via "az login", and will use the CLI's currently logged in identity. diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/base.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/base.py deleted file mode 100644 index 3dbc1a3a7a68..000000000000 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/base.py +++ /dev/null @@ -1,21 +0,0 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ -import abc - - -class AsyncCredentialBase(abc.ABC): - @abc.abstractmethod - async def close(self): - pass - - async def __aenter__(self): - return self - - async def __aexit__(self, *args): - await self.close() - - @abc.abstractmethod - async def get_token(self, *scopes, **kwargs): - pass diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/certificate.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/certificate.py index 2842d32b918d..33b1de86bff3 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/certificate.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/certificate.py @@ -4,8 +4,7 @@ # ------------------------------------ from typing import TYPE_CHECKING -from .base import AsyncCredentialBase -from .._internal import AadClient +from .._internal import AadClient, AsyncContextManager from .._internal.decorators import log_get_token_async from ..._internal import CertificateCredentialBase @@ -14,7 +13,7 @@ from azure.core.credentials import AccessToken -class CertificateCredential(CertificateCredentialBase, AsyncCredentialBase): +class CertificateCredential(CertificateCredentialBase, AsyncContextManager): """Authenticates as a service principal using a certificate. :param str tenant_id: ID of the service principal's tenant. Also called its 'directory' ID. diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/chained.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/chained.py index b20538d53e49..777b2d564c22 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/chained.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/chained.py @@ -7,7 +7,7 @@ from typing import TYPE_CHECKING from azure.core.exceptions import ClientAuthenticationError -from .base import AsyncCredentialBase +from .._internal import AsyncContextManager from ... import CredentialUnavailableError from ..._credentials.chained import _get_error_message @@ -19,7 +19,7 @@ _LOGGER = logging.getLogger(__name__) -class ChainedTokenCredential(AsyncCredentialBase): +class ChainedTokenCredential(AsyncContextManager): """A sequence of credentials that is itself a credential. Its :func:`get_token` method calls ``get_token`` on each credential in the sequence, in order, returning the first diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/client_secret.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/client_secret.py index 0f8c40cd1db4..75afa342f0ba 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/client_secret.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/client_secret.py @@ -4,8 +4,7 @@ # ------------------------------------ from typing import TYPE_CHECKING -from .base import AsyncCredentialBase -from .._internal import AadClient +from .._internal import AadClient, AsyncContextManager from .._internal.decorators import log_get_token_async from ..._internal import ClientSecretCredentialBase @@ -14,7 +13,7 @@ from azure.core.credentials import AccessToken -class ClientSecretCredential(AsyncCredentialBase, ClientSecretCredentialBase): +class ClientSecretCredential(AsyncContextManager, ClientSecretCredentialBase): """Authenticates as a service principal using a client ID and client secret. :param str tenant_id: ID of the service principal's tenant. Also called its 'directory' ID. @@ -24,6 +23,10 @@ class ClientSecretCredential(AsyncCredentialBase, ClientSecretCredentialBase): :keyword str authority: Authority of an Azure Active Directory endpoint, for example 'login.microsoftonline.com', the authority for Azure Public Cloud (which is the default). :class:`~azure.identity.AzureAuthorityHosts` defines authorities for other clouds. + :keyword bool enable_persistent_cache: if True, the credential will store tokens in a persistent cache. Defaults to + False. + :keyword bool allow_unencrypted_cache: if True, the credential will fall back to a plaintext cache when encryption + is unavailable. Default to False. Has no effect when `enable_persistent_cache` is False. """ async def __aenter__(self): diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/environment.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/environment.py index 2599e54ee69a..9de6f0022570 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/environment.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/environment.py @@ -10,9 +10,9 @@ from ... import CredentialUnavailableError from ..._constants import EnvironmentVariables +from .._internal import AsyncContextManager from .certificate import CertificateCredential from .client_secret import ClientSecretCredential -from .base import AsyncCredentialBase if TYPE_CHECKING: from typing import Any, Optional, Union @@ -21,7 +21,7 @@ _LOGGER = logging.getLogger(__name__) -class EnvironmentCredential(AsyncCredentialBase): +class EnvironmentCredential(AsyncContextManager): """A credential configured by environment variables. This credential is capable of authenticating as a service principal using a client secret or a certificate, or as diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/managed_identity.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/managed_identity.py index c3b5a9520908..762b29d0682e 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/managed_identity.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/managed_identity.py @@ -11,8 +11,8 @@ from azure.core.exceptions import ClientAuthenticationError, HttpResponseError from azure.core.pipeline.policies import AsyncRetryPolicy -from .base import AsyncCredentialBase from .._authn_client import AsyncAuthnClient +from .._internal import AsyncContextManager from .._internal.decorators import log_get_token_async from ... import CredentialUnavailableError from ..._constants import Endpoints, EnvironmentVariables @@ -25,20 +25,38 @@ _LOGGER = logging.getLogger(__name__) -class ManagedIdentityCredential(AsyncCredentialBase): +class ManagedIdentityCredential(AsyncContextManager): """Authenticates with an Azure managed identity in any hosting environment which supports managed identities. This credential defaults to using a system-assigned identity. To configure a user-assigned identity, use one of the keyword arguments. :keyword str client_id: a user-assigned identity's client ID. This is supported in all hosting environments. + :keyword identity_config: a mapping ``{parameter_name: value}`` specifying a user-assigned identity by its object + or resource ID, for example ``{"object_id": "..."}``. Check the documentation for your hosting environment to + learn what values it expects. + :paramtype identity_config: Mapping[str, str] """ def __init__(self, **kwargs: "Any") -> None: self._credential = None - if os.environ.get(EnvironmentVariables.MSI_ENDPOINT): - _LOGGER.info("%s will use MSI", self.__class__.__name__) - self._credential = MsiCredential(**kwargs) + + if os.environ.get(EnvironmentVariables.IDENTITY_ENDPOINT) and os.environ.get( + EnvironmentVariables.IDENTITY_HEADER + ): + _LOGGER.info("%s will use App Service managed identity", self.__class__.__name__) + from .app_service import AppServiceCredential + + self._credential = AppServiceCredential(**kwargs) + elif os.environ.get(EnvironmentVariables.MSI_ENDPOINT): + if os.environ.get(EnvironmentVariables.MSI_SECRET): + _LOGGER.info("%s will use App Service managed identity", self.__class__.__name__) + from .app_service import AppServiceCredential + + self._credential = AppServiceCredential(**kwargs) + else: + _LOGGER.info("%s will use MSI", self.__class__.__name__) + self._credential = MsiCredential(**kwargs) else: _LOGGER.info("%s will use IMDS", self.__class__.__name__) self._credential = ImdsCredential(**kwargs) @@ -68,7 +86,7 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": return await self._credential.get_token(*scopes, **kwargs) -class _AsyncManagedIdentityBase(_ManagedIdentityBase, AsyncCredentialBase): +class _AsyncManagedIdentityBase(_ManagedIdentityBase, AsyncContextManager): def __init__(self, endpoint: str, **kwargs: "Any") -> None: super().__init__(endpoint=endpoint, client_cls=AsyncAuthnClient, **kwargs) diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/shared_cache.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/shared_cache.py index de2fd404fc77..08d898b15ae5 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/shared_cache.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/shared_cache.py @@ -7,9 +7,9 @@ from ... import CredentialUnavailableError from ..._constants import AZURE_CLI_CLIENT_ID from ..._internal.shared_token_cache import NO_TOKEN, SharedTokenCacheBase +from .._internal import AsyncContextManager from .._internal.aad_client import AadClient from .._internal.decorators import log_get_token_async -from .base import AsyncCredentialBase if TYPE_CHECKING: from typing import Any @@ -17,7 +17,7 @@ from ..._internal.aad_client import AadClientBase -class SharedTokenCacheCredential(SharedTokenCacheBase, AsyncCredentialBase): +class SharedTokenCacheCredential(SharedTokenCacheBase, AsyncContextManager): """Authenticates using tokens in the local cache shared between Microsoft applications. :param str username: @@ -29,6 +29,10 @@ class SharedTokenCacheCredential(SharedTokenCacheBase, AsyncCredentialBase): defines authorities for other clouds. :keyword str tenant_id: an Azure Active Directory tenant ID. Used to select an account when the cache contains tokens for multiple identities. + :keyword AuthenticationRecord authentication_record: an authentication record returned by a user credential such as + :class:`DeviceCodeCredential` or :class:`InteractiveBrowserCredential` + :keyword bool allow_unencrypted_cache: if True, the credential will fall back to a plaintext cache when encryption + is unavailable. Defaults to False. """ async def __aenter__(self): diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/vscode.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/vscode.py index 23e91daa73e8..4043d54c0f1e 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/vscode.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/vscode.py @@ -5,8 +5,8 @@ from typing import TYPE_CHECKING from ..._exceptions import CredentialUnavailableError -from .._credentials.base import AsyncCredentialBase from ..._constants import AZURE_VSCODE_CLIENT_ID +from .._internal import AsyncContextManager from .._internal.aad_client import AadClient from .._internal.decorators import log_get_token_async from ..._credentials.vscode import get_credentials @@ -17,7 +17,7 @@ from azure.core.credentials import AccessToken -class VisualStudioCodeCredential(AsyncCredentialBase): +class VisualStudioCodeCredential(AsyncContextManager): """Authenticates as the Azure user signed in to Visual Studio Code. :keyword str authority: Authority of an Azure Active Directory endpoint, for example 'login.microsoftonline.com', diff --git a/sdk/identity/azure-identity/azure/identity/aio/_internal/__init__.py b/sdk/identity/azure-identity/azure/identity/aio/_internal/__init__.py index 9653b45acab7..4f62d4a5e6a2 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_internal/__init__.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_internal/__init__.py @@ -2,7 +2,22 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ +import abc + from .aad_client import AadClient from .decorators import wrap_exceptions -__all__ = ["AadClient", "wrap_exceptions"] + +class AsyncContextManager(abc.ABC): + @abc.abstractmethod + async def close(self): + pass + + async def __aenter__(self): + return self + + async def __aexit__(self, *args): + await self.close() + + +__all__ = ["AadClient", "AsyncContextManager", "wrap_exceptions"] diff --git a/sdk/identity/azure-identity/azure/identity/aio/_internal/get_token_mixin.py b/sdk/identity/azure-identity/azure/identity/aio/_internal/get_token_mixin.py new file mode 100644 index 000000000000..f4a06b6574ac --- /dev/null +++ b/sdk/identity/azure-identity/azure/identity/aio/_internal/get_token_mixin.py @@ -0,0 +1,74 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import abc +import logging +import time +from typing import TYPE_CHECKING + +from ..._constants import DEFAULT_REFRESH_OFFSET, DEFAULT_TOKEN_REFRESH_RETRY_DELAY + +if TYPE_CHECKING: + # pylint:disable=ungrouped-imports,unused-import + from typing import Any, Optional + from azure.core.credentials import AccessToken + +_LOGGER = logging.getLogger(__name__) + + +class GetTokenMixin(abc.ABC): + def __init__(self, *args: "Any", **kwargs: "Any") -> None: + self._last_request_time = 0 + super(GetTokenMixin, self).__init__(*args, **kwargs) + + @abc.abstractmethod + async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + """Attempt to acquire an access token from a cache or by redeeming a refresh token""" + + @abc.abstractmethod + async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": + """Request an access token from the STS""" + + def _should_refresh(self, token: "AccessToken") -> bool: + now = int(time.time()) + if token.expires_on - now > DEFAULT_REFRESH_OFFSET: + return False + if now - self._last_request_time < DEFAULT_TOKEN_REFRESH_RETRY_DELAY: + return False + return True + + async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": + """Request an access token for `scopes`. + + .. note:: This method is called by Azure SDK clients. It isn't intended for use in application code. + + :param str scopes: desired scopes for the access token. This method requires at least one scope. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises CredentialUnavailableError: the credential is unable to attempt authentication because it lacks + required data, state, or platform support + :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` + attribute gives a reason. + """ + if not scopes: + raise ValueError('"get_token" requires at least one scope') + + try: + token = await self._acquire_token_silently(*scopes) + if not token: + self._last_request_time = int(time.time()) + token = await self._request_token(*scopes) + elif self._should_refresh(token): + try: + self._last_request_time = int(time.time()) + token = await self._request_token(*scopes, **kwargs) + except Exception: # pylint:disable=broad-except + pass + _LOGGER.info("%s.get_token succeeded", self.__class__.__name__) + return token + + except Exception as ex: + _LOGGER.warning( + "%s.get_token failed: %s", self.__class__.__name__, ex, exc_info=_LOGGER.isEnabledFor(logging.DEBUG) + ) + raise diff --git a/sdk/identity/azure-identity/azure/identity/aio/_internal/managed_identity_client.py b/sdk/identity/azure-identity/azure/identity/aio/_internal/managed_identity_client.py new file mode 100644 index 000000000000..8bd6450c09b9 --- /dev/null +++ b/sdk/identity/azure-identity/azure/identity/aio/_internal/managed_identity_client.py @@ -0,0 +1,63 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import time +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import AsyncPipeline +from azure.core.pipeline.policies import AsyncRetryPolicy + +from ..._internal import _scopes_to_resource +from ..._internal.managed_identity_client import ManagedIdentityClient, _get_policies + +if TYPE_CHECKING: + # pylint:disable=ungrouped-imports + from typing import Any, Callable, List, Optional, Union + from azure.core.credentials import AccessToken + from azure.core.pipeline.policies import AsyncHTTPPolicy, SansIOHTTPPolicy + from azure.core.pipeline.transport import HttpTransport, HttpRequest + + Policy = Union[AsyncHTTPPolicy, SansIOHTTPPolicy] + + +# pylint:disable=async-client-bad-name,missing-client-constructor-parameter-credential +class AsyncManagedIdentityClient(ManagedIdentityClient): + def __init__(self, request_factory: "Callable[[str, dict], HttpRequest]", **kwargs: "Any") -> None: + config = _get_configuration(**kwargs) + super().__init__(request_factory, _config=config, **kwargs) + + async def close(self) -> None: + await self._pipeline.__aexit__() + + async def request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": + # pylint:disable=invalid-overridden-method,unused-argument + resource = _scopes_to_resource(*scopes) + request = self._request_factory(resource, self._identity_config) + request_time = int(time.time()) + response = await self._pipeline.run(request) + token = self._process_response(response, request_time) + return token + + def _build_pipeline( + self, + config: Configuration, + policies: "Optional[List[Policy]]" = None, + transport: "Optional[HttpTransport]" = None, + **kwargs: "Any" + ) -> AsyncPipeline: + if policies is None: # [] is a valid policy list + policies = _get_policies(config, **kwargs) + if not transport: + from azure.core.pipeline.transport import AioHttpTransport + + transport = AioHttpTransport(**kwargs) + + return AsyncPipeline(transport=transport, policies=policies) + + +def _get_configuration(**kwargs: "Any") -> Configuration: + config = Configuration() + config.retry_policy = AsyncRetryPolicy(**kwargs) + return config diff --git a/sdk/identity/azure-identity/samples/README.md b/sdk/identity/azure-identity/samples/README.md new file mode 100644 index 000000000000..35a9cd502650 --- /dev/null +++ b/sdk/identity/azure-identity/samples/README.md @@ -0,0 +1,37 @@ +--- +page_type: sample +languages: + - python +products: + - azure + - azure-identity +urlFragment: identity-samples +--- + +# Azure Identity Library Python Samples + +## Prerequisites + +You must have an [Azure subscription](https://azure.microsoft.com/free) and an +[Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/) to run +these samples. You can create a Key Vault in the +[Azure Portal](https://portal.azure.com/#create/Microsoft.KeyVault) or with the +[Azure CLI](https://docs.microsoft.com/en-us/azure/key-vault/secrets/quick-create-cli). + +Azure Key Vault is used only to demonstrate authentication. Azure Identity has +the same API for all compatible client libraries. + +## Setup + +To run these samples, first install the Azure Identity and Key Vault Secrets +client libraries: + +```commandline +pip install azure-identity azure-keyvault-secrets +``` + +## Contents +| File | Description | +|-------------|-------------| +| control_interactive_prompts.py | demonstrates controlling when interactive credentials prompt for user interaction | +| user_authentication.py | demonstrates user authentication API for applications | diff --git a/sdk/identity/azure-identity/samples/control_interactive_prompts.py b/sdk/identity/azure-identity/samples/control_interactive_prompts.py new file mode 100644 index 000000000000..10dabf65e9d2 --- /dev/null +++ b/sdk/identity/azure-identity/samples/control_interactive_prompts.py @@ -0,0 +1,38 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +"""Demonstrates controlling the timing of interactive authentication using InteractiveBrowserCredential. + +DeviceCodeCredential supports the same API. +""" + +import os +import sys +from azure.identity import AuthenticationRequiredError, InteractiveBrowserCredential +from azure.keyvault.secrets import SecretClient + + +# This sample uses Key Vault only for demonstration. Any client accepting azure-identity credentials will work the same. +VAULT_URL = os.environ.get("VAULT_URL") +if not VAULT_URL: + print("This sample expects environment variable 'VAULT_URL' to be set with the URL of a Key Vault.") + sys.exit(1) + + +# If it's important for your application to prompt for authentication only at certain times, +# create the credential with disable_automatic_authentication=True. This configures the credential to raise +# when interactive authentication is required, instead of immediately beginning that authentication. +credential = InteractiveBrowserCredential(disable_automatic_authentication=True) +client = SecretClient(VAULT_URL, credential) + +try: + secret_names = [s.name for s in client.list_properties_of_secrets()] +except AuthenticationRequiredError as ex: + # Interactive authentication is necessary to authorize the client's request. The exception carries the + # requested authentication scopes. If you pass these to 'authenticate', it will cache an access token + # for those scopes. + credential.authenticate(scopes=ex.scopes) + +# the client operation should now succeed +secret_names = [s.name for s in client.list_properties_of_secrets()] diff --git a/sdk/identity/azure-identity/samples/user_authentication.py b/sdk/identity/azure-identity/samples/user_authentication.py new file mode 100644 index 000000000000..2c21c2a44973 --- /dev/null +++ b/sdk/identity/azure-identity/samples/user_authentication.py @@ -0,0 +1,43 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +"""Demonstrates user authentication using InteractiveBrowserCredential. DeviceCodeCredential supports the same API.""" + +import os +import sys +from azure.identity import AuthenticationRecord, InteractiveBrowserCredential +from azure.keyvault.secrets import SecretClient + + +# This sample uses Key Vault only for demonstration. Any client accepting azure-identity credentials will work the same. +VAULT_URL = os.environ.get("VAULT_URL") +if not VAULT_URL: + print("This sample expects environment variable 'VAULT_URL' to be set with the URL of a Key Vault.") + sys.exit(1) + + +# Persistent caching is optional. By default, interactive credentials cache in memory only. +credential = InteractiveBrowserCredential(enable_persistent_cache=True) + +# The 'authenticate' method begins interactive authentication. Call it whenever it's convenient +# for your application to authenticate a user. It returns a record of the authentication. +record = credential.authenticate() + +# The record contains no authentication secrets. You can serialize it to JSON for storage. +record_json = record.serialize() + +# An authenticated credential is ready for use with a client. This request should succeed +# without prompting for authentication again. +client = SecretClient(VAULT_URL, credential) +secret_names = [s.name for s in client.list_properties_of_secrets()] + +# With persistent caching enabled, an authentication record stored by your application enables +# credentials to access data from past authentications. If the cache contains sufficient data, +# this eliminates the need for your application to prompt for authentication every time it runs. +deserialized_record = AuthenticationRecord.deserialize(record_json) +new_credential = InteractiveBrowserCredential(enable_persistent_cache=True, authentication_record=deserialized_record) + +# This request should also succeed without prompting for authentication. +client = SecretClient(VAULT_URL, new_credential) +secret_names = [s.name for s in client.list_properties_of_secrets()] diff --git a/sdk/identity/azure-identity/setup.py b/sdk/identity/azure-identity/setup.py index 4b209061a771..2cde1bc35a0c 100644 --- a/sdk/identity/azure-identity/setup.py +++ b/sdk/identity/azure-identity/setup.py @@ -51,7 +51,7 @@ author_email="azpysdkhelp@microsoft.com", url="https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/identity/azure-identity", classifiers=[ - "Development Status :: 5 - Production/Stable", + "Development Status :: 4 - Beta", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", @@ -73,7 +73,7 @@ install_requires=[ "azure-core<2.0.0,>=1.0.0", "cryptography>=2.1.4", - "msal<2.0.0,>=1.3.0", + "msal<1.5.0,>=1.3.0", "msal-extensions~=0.2.2", "six>=1.6", ], diff --git a/sdk/identity/azure-identity/tests/azure-functions/readme.md b/sdk/identity/azure-identity/tests/azure-functions/readme.md index 5e9481832075..8367fc59bd67 100644 --- a/sdk/identity/azure-identity/tests/azure-functions/readme.md +++ b/sdk/identity/azure-identity/tests/azure-functions/readme.md @@ -4,7 +4,7 @@ This directory contains artifacts for testing azure-identity in Azure Functions. # prerequisite tools - Azure CLI - Azure Functions Core Tools 3.x - - https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?#v2 + - https://docs.microsoft.com/azure/azure-functions/functions-run-local?#v2 - Docker CLI - https://hub.docker.com/search?q=&type=edition&offering=community @@ -127,7 +127,7 @@ az functionapp config appsettings set -g $RESOURCE_GROUP -n $FUNCTION_APP_USER_A At the time of writing, attaching user-assigned identities is impossible through the Azure CLI ([Azure/azure-cli#9887](https://github.com/Azure/azure-cli/issues/9887)). Use the Azure Portal to attached the managed identity created above to the Functions App (see -[App Service documentation](https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet#adding-a-user-assigned-identity)). +[App Service documentation](https://docs.microsoft.com/azure/app-service/overview-managed-identity?tabs=dotnet#adding-a-user-assigned-identity)). # build the Docker image diff --git a/sdk/identity/azure-identity/tests/helpers.py b/sdk/identity/azure-identity/tests/helpers.py index c9fcd6e94108..692c686df232 100644 --- a/sdk/identity/azure-identity/tests/helpers.py +++ b/sdk/identity/azure-identity/tests/helpers.py @@ -55,6 +55,7 @@ def build_aad_response( # simulate a response from AAD foci=None, id_token=None, # or something generated by build_id_token() error=None, + **kwargs ): response = {} if uid and utid: # Mimic the AAD behavior for "client_info=1" request @@ -69,6 +70,7 @@ def build_aad_response( # simulate a response from AAD response["id_token"] = id_token if foci: response["foci"] = foci + response.update(kwargs) return response @@ -154,7 +156,9 @@ def mock_response(status_code=200, headers=None, json_payload=None): def get_discovery_response(endpoint="https://a/b"): aad_metadata_endpoint_names = ("authorization_endpoint", "token_endpoint", "tenant_discovery_endpoint") - return mock_response(json_payload={name: endpoint for name in aad_metadata_endpoint_names}) + payload = {name: endpoint for name in aad_metadata_endpoint_names} + payload["metadata"] = "" + return mock_response(json_payload=payload) def validating_transport(requests, responses): @@ -175,6 +179,11 @@ def validate_request(request, **_): return mock.Mock(send=mock.Mock(wraps=validate_request)) +def msal_validating_transport(requests, responses, **kwargs): + """a validating transport with default responses to MSAL's discovery requests""" + return validating_transport([Request()] * 2 + requests, [get_discovery_response(**kwargs)] * 2 + responses) + + def urlsafeb64_decode(s): if isinstance(s, six.text_type): s = s.encode("ascii") diff --git a/sdk/identity/azure-identity/tests/managed-identity-live/appservice.md b/sdk/identity/azure-identity/tests/managed-identity-live/appservice.md index 9ac6684abc31..730aef2f152f 100644 --- a/sdk/identity/azure-identity/tests/managed-identity-live/appservice.md +++ b/sdk/identity/azure-identity/tests/managed-identity-live/appservice.md @@ -123,7 +123,7 @@ az webapp config appsettings set -g $RESOURCE_GROUP -n $WEB_APP_USER_ASSIGNED \ At the time of writing, attaching user-assigned identities is impossible through the Azure CLI ([Azure/azure-cli#9887](https://github.com/Azure/azure-cli/issues/9887)). Use the Azure Portal to attached the managed identity created above to the Web App (see -[App Service documentation](https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet#adding-a-user-assigned-identity)). +[App Service documentation](https://docs.microsoft.com/azure/app-service/overview-managed-identity?tabs=dotnet#adding-a-user-assigned-identity)). ## Build the Docker image diff --git a/sdk/identity/azure-identity/tests/pod-identity/readme.md b/sdk/identity/azure-identity/tests/pod-identity/readme.md index bcfd697905ca..272968efd80c 100644 --- a/sdk/identity/azure-identity/tests/pod-identity/readme.md +++ b/sdk/identity/azure-identity/tests/pod-identity/readme.md @@ -2,7 +2,7 @@ # prerequisite tools - Azure CLI - - https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest + - https://docs.microsoft.com/cli/azure/install-azure-cli?view=azure-cli-latest - Docker CLI - https://hub.docker.com/search?q=&type=edition&offering=community - Helm 2.x (3.x doesn't handle CRDs properly at time of writing) diff --git a/sdk/identity/azure-identity/tests/test_auth_record.py b/sdk/identity/azure-identity/tests/test_auth_record.py index 5b4ec83d6da2..5daef9c5dec4 100644 --- a/sdk/identity/azure-identity/tests/test_auth_record.py +++ b/sdk/identity/azure-identity/tests/test_auth_record.py @@ -4,7 +4,7 @@ # ------------------------------------ import json -from azure.identity._auth_record import AuthenticationRecord +from azure.identity import AuthenticationRecord def test_serialization(): diff --git a/sdk/identity/azure-identity/tests/test_browser_credential.py b/sdk/identity/azure-identity/tests/test_browser_credential.py index c8d4e9e7fef2..e07c69f30396 100644 --- a/sdk/identity/azure-identity/tests/test_browser_credential.py +++ b/sdk/identity/azure-identity/tests/test_browser_credential.py @@ -10,8 +10,7 @@ from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import SansIOHTTPPolicy -from azure.identity import CredentialUnavailableError, InteractiveBrowserCredential -from azure.identity._exceptions import AuthenticationRequiredError +from azure.identity import AuthenticationRequiredError, CredentialUnavailableError, InteractiveBrowserCredential from azure.identity._internal import AuthCodeRedirectServer from azure.identity._internal.user_agent import USER_AGENT from msal import TokenCache @@ -82,7 +81,7 @@ def test_authenticate(): tenant_id=tenant_id, transport=transport, ) - record = credential._authenticate(scopes=(scope,)) + record = credential.authenticate(scopes=(scope,)) assert record.authority == environment assert record.home_account_id == object_id + "." + home_tenant @@ -101,7 +100,7 @@ def test_disable_automatic_authentication(): empty_cache = TokenCache() # empty cache makes silent auth impossible transport = Mock(send=Mock(side_effect=Exception("no request should be sent"))) credential = InteractiveBrowserCredential( - _disable_automatic_authentication=True, transport=transport, _cache=empty_cache + disable_automatic_authentication=True, transport=transport, _cache=empty_cache ) with patch(WEBBROWSER_OPEN, Mock(side_effect=Exception("credential shouldn't try interactive authentication"))): diff --git a/sdk/identity/azure-identity/tests/test_certificate_credential.py b/sdk/identity/azure-identity/tests/test_certificate_credential.py index 1d0c332cf7f6..5f4b49f416e2 100644 --- a/sdk/identity/azure-identity/tests/test_certificate_credential.py +++ b/sdk/identity/azure-identity/tests/test_certificate_credential.py @@ -15,9 +15,18 @@ from cryptography.hazmat.primitives.asymmetric import padding from msal import TokenCache import pytest +import six from six.moves.urllib_parse import urlparse -from helpers import build_aad_response, urlsafeb64_decode, mock_response, Request, validating_transport +from helpers import ( + build_aad_response, + get_discovery_response, + urlsafeb64_decode, + mock_response, + msal_validating_transport, + Request, + validating_transport, +) try: from unittest.mock import Mock, patch @@ -41,11 +50,12 @@ def test_no_scopes(): def test_policies_configurable(): policy = Mock(spec_set=SansIOHTTPPolicy, on_request=Mock()) - def send(*_, **__): - return mock_response(json_payload=build_aad_response(access_token="**")) + transport = msal_validating_transport( + requests=[Request()], responses=[mock_response(json_payload=build_aad_response(access_token="**"))], + ) credential = CertificateCredential( - "tenant-id", "client-id", CERT_PATH, policies=[ContentDecodePolicy(), policy], transport=Mock(send=send) + "tenant-id", "client-id", CERT_PATH, policies=[ContentDecodePolicy(), policy], transport=transport ) credential.get_token("scope") @@ -54,7 +64,7 @@ def send(*_, **__): def test_user_agent(): - transport = validating_transport( + transport = msal_validating_transport( requests=[Request(required_headers={"User-Agent": USER_AGENT})], responses=[mock_response(json_payload=build_aad_response(access_token="**"))], ) @@ -65,35 +75,37 @@ def test_user_agent(): @pytest.mark.parametrize("authority", ("localhost", "https://localhost")) -@pytest.mark.parametrize("cert_path,cert_password", BOTH_CERTS) -def test_request_url(cert_path, cert_password, authority): +def test_authority(authority): """the credential should accept an authority, with or without scheme, as an argument or environment variable""" tenant_id = "expected_tenant" - access_token = "***" parsed_authority = urlparse(authority) - expected_netloc = parsed_authority.netloc or authority # "localhost" parses to netloc "", path "localhost" - - def mock_send(request, **kwargs): - actual = urlparse(request.url) - assert actual.scheme == "https" - assert actual.netloc == expected_netloc - assert actual.path.startswith("/" + tenant_id) - return mock_response(json_payload={"token_type": "Bearer", "expires_in": 42, "access_token": access_token}) + expected_netloc = parsed_authority.netloc or authority + expected_authority = "https://{}/{}".format(expected_netloc, tenant_id) - cred = CertificateCredential( - tenant_id, "client-id", cert_path, password=cert_password, transport=Mock(send=mock_send), authority=authority + mock_ctor = Mock( + return_value=Mock(acquire_token_silent_with_error=lambda *_, **__: {"access_token": "**", "expires_in": 42}) ) - token = cred.get_token("scope") - assert token.token == access_token + + credential = CertificateCredential(tenant_id, "client-id", CERT_PATH, authority=authority) + with patch("msal.ConfidentialClientApplication", mock_ctor): + # must call get_token because the credential constructs the MSAL application lazily + credential.get_token("scope") + + assert mock_ctor.call_count == 1 + _, kwargs = mock_ctor.call_args + assert kwargs["authority"] == expected_authority + mock_ctor.reset_mock() # authority can be configured via environment variable with patch.dict("os.environ", {EnvironmentVariables.AZURE_AUTHORITY_HOST: authority}, clear=True): - credential = CertificateCredential( - tenant_id, "client-id", cert_path, password=cert_password, transport=Mock(send=mock_send) - ) + credential = CertificateCredential(tenant_id, "client-id", CERT_PATH, authority=authority) + with patch("msal.ConfidentialClientApplication", mock_ctor): credential.get_token("scope") - assert token.token == access_token + + assert mock_ctor.call_count == 1 + _, kwargs = mock_ctor.call_args + assert kwargs["authority"] == expected_authority @pytest.mark.parametrize("cert_path,cert_password", BOTH_CERTS) @@ -105,6 +117,9 @@ def test_request_body(cert_path, cert_password): tenant_id = "tenant" def mock_send(request, **kwargs): + if not request.body: + return get_discovery_response() + assert request.body["grant_type"] == "client_credentials" assert request.body["scope"] == expected_scope @@ -128,7 +143,7 @@ def validate_jwt(request, client_id, pem_bytes): cert = x509.load_pem_x509_certificate(pem_bytes, default_backend()) # jwt is of the form 'header.payload.signature'; 'signature' is 'header.payload' signed with cert's private key - jwt = request.body["client_assertion"] + jwt = six.ensure_str(request.body["client_assertion"]) header, payload, signature = (urlsafeb64_decode(s) for s in jwt.split(".")) signed_part = jwt[: jwt.rfind(".")] claims = json.loads(payload.decode("utf-8")) @@ -157,20 +172,20 @@ def test_enable_persistent_cache(cert_path, cert_password): CertificateCredential(*required_arguments, password=cert_password) # allowing an unencrypted cache doesn't count as opting in to the persistent cache - CertificateCredential(*required_arguments, password=cert_password, _allow_unencrypted_cache=True) + CertificateCredential(*required_arguments, password=cert_password, allow_unencrypted_cache=True) # keyword argument opts in to persistent cache with patch(persistent_cache + ".msal_extensions") as mock_extensions: - CertificateCredential(*required_arguments, password=cert_password, _enable_persistent_cache=True) + CertificateCredential(*required_arguments, password=cert_password, enable_persistent_cache=True) assert mock_extensions.PersistedTokenCache.call_count == 1 # opting in on an unsupported platform raises an exception with patch(persistent_cache + ".sys.platform", "commodore64"): with pytest.raises(NotImplementedError): - CertificateCredential(*required_arguments, password=cert_password, _enable_persistent_cache=True) + CertificateCredential(*required_arguments, password=cert_password, enable_persistent_cache=True) with pytest.raises(NotImplementedError): CertificateCredential( - *required_arguments, password=cert_password, _enable_persistent_cache=True, _allow_unencrypted_cache=True + *required_arguments, password=cert_password, enable_persistent_cache=True, allow_unencrypted_cache=True ) @@ -187,7 +202,7 @@ def test_persistent_cache_linux(mock_extensions, cert_path, cert_password): # the credential should prefer an encrypted cache even when the user allows an unencrypted one CertificateCredential( - *required_arguments, password=cert_password, _enable_persistent_cache=True, _allow_unencrypted_cache=True + *required_arguments, password=cert_password, enable_persistent_cache=True, allow_unencrypted_cache=True ) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.LibsecretPersistence) mock_extensions.PersistedTokenCache.reset_mock() @@ -197,10 +212,10 @@ def test_persistent_cache_linux(mock_extensions, cert_path, cert_password): # encryption unavailable, no opt in to unencrypted cache -> credential should raise with pytest.raises(ValueError): - CertificateCredential(*required_arguments, password=cert_password, _enable_persistent_cache=True) + CertificateCredential(*required_arguments, password=cert_password, enable_persistent_cache=True) CertificateCredential( - *required_arguments, password=cert_password, _enable_persistent_cache=True, _allow_unencrypted_cache=True + *required_arguments, password=cert_password, enable_persistent_cache=True, allow_unencrypted_cache=True ) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.FilePersistence) @@ -211,10 +226,10 @@ def test_persistent_cache_multiple_clients(cert_path, cert_password): access_token_a = "token a" access_token_b = "not " + access_token_a - transport_a = validating_transport( + transport_a = msal_validating_transport( requests=[Request()], responses=[mock_response(json_payload=build_aad_response(access_token=access_token_a))] ) - transport_b = validating_transport( + transport_b = msal_validating_transport( requests=[Request()], responses=[mock_response(json_payload=build_aad_response(access_token=access_token_b))] ) @@ -222,11 +237,11 @@ def test_persistent_cache_multiple_clients(cert_path, cert_password): with patch("azure.identity._internal.persistent_cache._load_persistent_cache") as mock_cache_loader: mock_cache_loader.return_value = Mock(wraps=cache) credential_a = CertificateCredential( - "tenant", "client-a", cert_path, password=cert_password, _enable_persistent_cache=True, transport=transport_a + "tenant", "client-a", cert_path, password=cert_password, enable_persistent_cache=True, transport=transport_a ) assert mock_cache_loader.call_count == 1, "credential should load the persistent cache" credential_b = CertificateCredential( - "tenant", "client-b", cert_path, password=cert_password, _enable_persistent_cache=True, transport=transport_b + "tenant", "client-b", cert_path, password=cert_password, enable_persistent_cache=True, transport=transport_b ) assert mock_cache_loader.call_count == 2, "credential should load the persistent cache" @@ -234,9 +249,9 @@ def test_persistent_cache_multiple_clients(cert_path, cert_password): scope = "scope" token_a = credential_a.get_token(scope) assert token_a.token == access_token_a - assert transport_a.send.call_count == 1 + assert transport_a.send.call_count == 3 # two MSAL discovery requests, one token request # B should get a different token for the same scope token_b = credential_b.get_token(scope) assert token_b.token == access_token_b - assert transport_b.send.call_count == 1 + assert transport_b.send.call_count == 3 diff --git a/sdk/identity/azure-identity/tests/test_certificate_credential_async.py b/sdk/identity/azure-identity/tests/test_certificate_credential_async.py index 9d0f5a2e08cb..01d2839fc2cc 100644 --- a/sdk/identity/azure-identity/tests/test_certificate_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_certificate_credential_async.py @@ -149,20 +149,20 @@ def test_enable_persistent_cache(cert_path, cert_password): CertificateCredential(*required_arguments, password=cert_password) # allowing an unencrypted cache doesn't count as opting in to the persistent cache - CertificateCredential(*required_arguments, password=cert_password, _allow_unencrypted_cache=True) + CertificateCredential(*required_arguments, password=cert_password, allow_unencrypted_cache=True) # keyword argument opts in to persistent cache with patch(persistent_cache + ".msal_extensions") as mock_extensions: - CertificateCredential(*required_arguments, password=cert_password, _enable_persistent_cache=True) + CertificateCredential(*required_arguments, password=cert_password, enable_persistent_cache=True) assert mock_extensions.PersistedTokenCache.call_count == 1 # opting in on an unsupported platform raises an exception with patch(persistent_cache + ".sys.platform", "commodore64"): with pytest.raises(NotImplementedError): - CertificateCredential(*required_arguments, password=cert_password, _enable_persistent_cache=True) + CertificateCredential(*required_arguments, password=cert_password, enable_persistent_cache=True) with pytest.raises(NotImplementedError): CertificateCredential( - *required_arguments, password=cert_password, _enable_persistent_cache=True, _allow_unencrypted_cache=True + *required_arguments, password=cert_password, enable_persistent_cache=True, allow_unencrypted_cache=True ) @@ -179,7 +179,7 @@ def test_persistent_cache_linux(mock_extensions, cert_path, cert_password): # the credential should prefer an encrypted cache even when the user allows an unencrypted one CertificateCredential( - *required_arguments, password=cert_password, _enable_persistent_cache=True, _allow_unencrypted_cache=True + *required_arguments, password=cert_password, enable_persistent_cache=True, allow_unencrypted_cache=True ) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.LibsecretPersistence) mock_extensions.PersistedTokenCache.reset_mock() @@ -189,10 +189,10 @@ def test_persistent_cache_linux(mock_extensions, cert_path, cert_password): # encryption unavailable, no opt in to unencrypted cache -> credential should raise with pytest.raises(ValueError): - CertificateCredential(*required_arguments, password=cert_password, _enable_persistent_cache=True) + CertificateCredential(*required_arguments, password=cert_password, enable_persistent_cache=True) CertificateCredential( - *required_arguments, password=cert_password, _enable_persistent_cache=True, _allow_unencrypted_cache=True + *required_arguments, password=cert_password, enable_persistent_cache=True, allow_unencrypted_cache=True ) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.FilePersistence) @@ -215,11 +215,11 @@ async def test_persistent_cache_multiple_clients(cert_path, cert_password): with patch("azure.identity._internal.persistent_cache._load_persistent_cache") as mock_cache_loader: mock_cache_loader.return_value = Mock(wraps=cache) credential_a = CertificateCredential( - "tenant", "client-a", cert_path, password=cert_password, _enable_persistent_cache=True, transport=transport_a + "tenant", "client-a", cert_path, password=cert_password, enable_persistent_cache=True, transport=transport_a ) assert mock_cache_loader.call_count == 1, "credential should load the persistent cache" credential_b = CertificateCredential( - "tenant", "client-b", cert_path, password=cert_password, _enable_persistent_cache=True, transport=transport_b + "tenant", "client-b", cert_path, password=cert_password, enable_persistent_cache=True, transport=transport_b ) assert mock_cache_loader.call_count == 2, "credential should load the persistent cache" diff --git a/sdk/identity/azure-identity/tests/test_client_secret_credential.py b/sdk/identity/azure-identity/tests/test_client_secret_credential.py index 542ea203fe10..a204c6cf8c6d 100644 --- a/sdk/identity/azure-identity/tests/test_client_secret_credential.py +++ b/sdk/identity/azure-identity/tests/test_client_secret_credential.py @@ -2,9 +2,6 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import time - -from azure.core.credentials import AccessToken from azure.core.pipeline.policies import ContentDecodePolicy, SansIOHTTPPolicy from azure.identity import ClientSecretCredential from azure.identity._constants import EnvironmentVariables @@ -13,7 +10,7 @@ import pytest from six.moves.urllib_parse import urlparse -from helpers import build_aad_response, mock_response, Request, validating_transport +from helpers import build_aad_response, mock_response, msal_validating_transport, Request, validating_transport try: from unittest.mock import Mock, patch @@ -32,11 +29,12 @@ def test_no_scopes(): def test_policies_configurable(): policy = Mock(spec_set=SansIOHTTPPolicy, on_request=Mock()) - def send(*_, **__): - return mock_response(json_payload=build_aad_response(access_token="**")) + transport = msal_validating_transport( + requests=[Request()], responses=[mock_response(json_payload=build_aad_response(access_token="**"))], + ) credential = ClientSecretCredential( - "tenant-id", "client-id", "client-secret", policies=[ContentDecodePolicy(), policy], transport=Mock(send=send) + "tenant-id", "client-id", "client-secret", policies=[ContentDecodePolicy(), policy], transport=transport ) credential.get_token("scope") @@ -45,7 +43,7 @@ def send(*_, **__): def test_user_agent(): - transport = validating_transport( + transport = msal_validating_transport( requests=[Request(required_headers={"User-Agent": USER_AGENT})], responses=[mock_response(json_payload=build_aad_response(access_token="**"))], ) @@ -61,89 +59,49 @@ def test_client_secret_credential(): tenant_id = "fake-tenant-id" access_token = "***" - transport = validating_transport( + transport = msal_validating_transport( + endpoint="https://localhost/" + tenant_id, requests=[Request(url_substring=tenant_id, required_data={"client_id": client_id, "client_secret": secret})], - responses=[ - mock_response( - json_payload={ - "token_type": "Bearer", - "expires_in": 42, - "ext_expires_in": 42, - "access_token": access_token, - } - ) - ], + responses=[mock_response(json_payload=build_aad_response(access_token=access_token))], ) token = ClientSecretCredential(tenant_id, client_id, secret, transport=transport).get_token("scope") - # not validating expires_on because doing so requires monkeypatching time, and this is tested elsewhere assert token.token == access_token @pytest.mark.parametrize("authority", ("localhost", "https://localhost")) -def test_request_url(authority): +def test_authority(authority): """the credential should accept an authority, with or without scheme, as an argument or environment variable""" tenant_id = "expected_tenant" - access_token = "***" parsed_authority = urlparse(authority) - expected_netloc = parsed_authority.netloc or authority # "localhost" parses to netloc "", path "localhost" + expected_netloc = parsed_authority.netloc or authority + expected_authority = "https://{}/{}".format(expected_netloc, tenant_id) - def mock_send(request, **kwargs): - actual = urlparse(request.url) - assert actual.scheme == "https" - assert actual.netloc == expected_netloc - assert actual.path.startswith("/" + tenant_id) - return mock_response(json_payload={"token_type": "Bearer", "expires_in": 42, "access_token": access_token}) - - credential = ClientSecretCredential( - tenant_id, "client-id", "secret", transport=Mock(send=mock_send), authority=authority + mock_ctor = Mock( + return_value=Mock(acquire_token_silent_with_error=lambda *_, **__: {"access_token": "**", "expires_in": 42}) ) - token = credential.get_token("scope") - assert token.token == access_token - # authority can be configured via environment variable - with patch.dict("os.environ", {EnvironmentVariables.AZURE_AUTHORITY_HOST: authority}, clear=True): - credential = ClientSecretCredential(tenant_id, "client-id", "secret", transport=Mock(send=mock_send)) + credential = ClientSecretCredential(tenant_id, "client-id", "secret", authority=authority) + with patch("msal.ConfidentialClientApplication", mock_ctor): + # must call get_token because the credential constructs the MSAL application lazily credential.get_token("scope") - assert token.token == access_token + assert mock_ctor.call_count == 1 + _, kwargs = mock_ctor.call_args + assert kwargs["authority"] == expected_authority + mock_ctor.reset_mock() -def test_cache(): - expired = "this token's expired" - now = int(time.time()) - expired_on = now - 3600 - expired_token = AccessToken(expired, expired_on) - token_payload = { - "access_token": expired, - "expires_in": 0, - "ext_expires_in": 0, - "expires_on": expired_on, - "not_before": now, - "token_type": "Bearer", - } - mock_send = Mock(return_value=mock_response(json_payload=token_payload)) - scope = "scope" - - credential = ClientSecretCredential( - tenant_id="some-guid", client_id="client_id", client_secret="secret", transport=Mock(send=mock_send) - ) - - # get_token initially returns the expired token because the credential - # doesn't check whether tokens it receives from the service have expired - token = credential.get_token(scope) - assert token == expired_token - - access_token = "new token" - token_payload["access_token"] = access_token - token_payload["expires_on"] = now + 3600 - valid_token = AccessToken(access_token, now + 3600) + # authority can be configured via environment variable + with patch.dict("os.environ", {EnvironmentVariables.AZURE_AUTHORITY_HOST: authority}, clear=True): + credential = ClientSecretCredential(tenant_id, "client-id", "secret") + with patch("msal.ConfidentialClientApplication", mock_ctor): + credential.get_token("scope") - # second call should observe the cached token has expired, and request another - token = credential.get_token(scope) - assert token == valid_token - assert mock_send.call_count == 2 + assert mock_ctor.call_count == 1 + _, kwargs = mock_ctor.call_args + assert kwargs["authority"] == expected_authority def test_enable_persistent_cache(): @@ -158,19 +116,19 @@ def test_enable_persistent_cache(): ClientSecretCredential(*required_arguments) # allowing an unencrypted cache doesn't count as opting in to the persistent cache - ClientSecretCredential(*required_arguments, _allow_unencrypted_cache=True) + ClientSecretCredential(*required_arguments, allow_unencrypted_cache=True) # keyword argument opts in to persistent cache with patch(persistent_cache + ".msal_extensions") as mock_extensions: - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True) assert mock_extensions.PersistedTokenCache.call_count == 1 # opting in on an unsupported platform raises an exception with patch(persistent_cache + ".sys.platform", "commodore64"): with pytest.raises(NotImplementedError): - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True) with pytest.raises(NotImplementedError): - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True, _allow_unencrypted_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True, allow_unencrypted_cache=True) @patch("azure.identity._internal.persistent_cache.sys.platform", "linux2") @@ -184,7 +142,7 @@ def test_persistent_cache_linux(mock_extensions): required_arguments = ("tenant-id", "client-id", "secret") # the credential should prefer an encrypted cache even when the user allows an unencrypted one - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True, _allow_unencrypted_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True, allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.LibsecretPersistence) mock_extensions.PersistedTokenCache.reset_mock() @@ -193,9 +151,9 @@ def test_persistent_cache_linux(mock_extensions): # encryption unavailable, no opt in to unencrypted cache -> credential should raise with pytest.raises(ValueError): - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True) - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True, _allow_unencrypted_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True, allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.FilePersistence) @@ -204,10 +162,10 @@ def test_persistent_cache_multiple_clients(): access_token_a = "token a" access_token_b = "not " + access_token_a - transport_a = validating_transport( + transport_a = msal_validating_transport( requests=[Request()], responses=[mock_response(json_payload=build_aad_response(access_token=access_token_a))] ) - transport_b = validating_transport( + transport_b = msal_validating_transport( requests=[Request()], responses=[mock_response(json_payload=build_aad_response(access_token=access_token_b))] ) @@ -215,11 +173,11 @@ def test_persistent_cache_multiple_clients(): with patch("azure.identity._internal.persistent_cache._load_persistent_cache") as mock_cache_loader: mock_cache_loader.return_value = Mock(wraps=cache) credential_a = ClientSecretCredential( - "tenant-id", "client-a", "...", _enable_persistent_cache=True, transport=transport_a + "tenant-id", "client-a", "...", enable_persistent_cache=True, transport=transport_a ) assert mock_cache_loader.call_count == 1, "credential should load the persistent cache" credential_b = ClientSecretCredential( - "tenant-id", "client-b", "...", _enable_persistent_cache=True, transport=transport_b + "tenant-id", "client-b", "...", enable_persistent_cache=True, transport=transport_b ) assert mock_cache_loader.call_count == 2, "credential should load the persistent cache" @@ -227,9 +185,9 @@ def test_persistent_cache_multiple_clients(): scope = "scope" token_a = credential_a.get_token(scope) assert token_a.token == access_token_a - assert transport_a.send.call_count == 1 + assert transport_a.send.call_count == 3 # two MSAL discovery requests, one token request # B should get a different token for the same scope token_b = credential_b.get_token(scope) assert token_b.token == access_token_b - assert transport_b.send.call_count == 1 + assert transport_b.send.call_count == 3 diff --git a/sdk/identity/azure-identity/tests/test_client_secret_credential_async.py b/sdk/identity/azure-identity/tests/test_client_secret_credential_async.py index 24ff4f3dc224..4731f1cb7bc2 100644 --- a/sdk/identity/azure-identity/tests/test_client_secret_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_client_secret_credential_async.py @@ -184,19 +184,19 @@ def test_enable_persistent_cache(): ClientSecretCredential(*required_arguments) # allowing an unencrypted cache doesn't count as opting in to the persistent cache - ClientSecretCredential(*required_arguments, _allow_unencrypted_cache=True) + ClientSecretCredential(*required_arguments, allow_unencrypted_cache=True) # keyword argument opts in to persistent cache with patch(persistent_cache + ".msal_extensions") as mock_extensions: - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True) assert mock_extensions.PersistedTokenCache.call_count == 1 # opting in on an unsupported platform raises an exception with patch(persistent_cache + ".sys.platform", "commodore64"): with pytest.raises(NotImplementedError): - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True) with pytest.raises(NotImplementedError): - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True, _allow_unencrypted_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True, allow_unencrypted_cache=True) @patch("azure.identity._internal.persistent_cache.sys.platform", "linux2") @@ -210,7 +210,7 @@ def test_persistent_cache_linux(mock_extensions): required_arguments = ("tenant-id", "client-id", "secret") # the credential should prefer an encrypted cache even when the user allows an unencrypted one - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True, _allow_unencrypted_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True, allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.LibsecretPersistence) mock_extensions.PersistedTokenCache.reset_mock() @@ -219,9 +219,9 @@ def test_persistent_cache_linux(mock_extensions): # encryption unavailable, no opt in to unencrypted cache -> credential should raise with pytest.raises(ValueError): - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True) - ClientSecretCredential(*required_arguments, _enable_persistent_cache=True, _allow_unencrypted_cache=True) + ClientSecretCredential(*required_arguments, enable_persistent_cache=True, allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.FilePersistence) @@ -242,11 +242,11 @@ async def test_persistent_cache_multiple_clients(): with patch("azure.identity._internal.persistent_cache._load_persistent_cache") as mock_cache_loader: mock_cache_loader.return_value = Mock(wraps=cache) credential_a = ClientSecretCredential( - "tenant-id", "client-a", "...", _enable_persistent_cache=True, transport=transport_a + "tenant-id", "client-a", "...", enable_persistent_cache=True, transport=transport_a ) assert mock_cache_loader.call_count == 1, "credential should load the persistent cache" credential_b = ClientSecretCredential( - "tenant-id", "client-b", "...", _enable_persistent_cache=True, transport=transport_b + "tenant-id", "client-b", "...", enable_persistent_cache=True, transport=transport_b ) assert mock_cache_loader.call_count == 2, "credential should load the persistent cache" diff --git a/sdk/identity/azure-identity/tests/test_device_code_credential.py b/sdk/identity/azure-identity/tests/test_device_code_credential.py index 896b3ef4e1b9..f33553dcd6e3 100644 --- a/sdk/identity/azure-identity/tests/test_device_code_credential.py +++ b/sdk/identity/azure-identity/tests/test_device_code_credential.py @@ -6,8 +6,7 @@ from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import SansIOHTTPPolicy -from azure.identity import DeviceCodeCredential -from azure.identity._exceptions import AuthenticationRequiredError +from azure.identity import AuthenticationRequiredError, DeviceCodeCredential from azure.identity._internal.user_agent import USER_AGENT from msal import TokenCache import pytest @@ -78,7 +77,7 @@ def test_authenticate(): tenant_id=tenant_id, _cache=TokenCache(), ) - record = credential._authenticate(scopes=(scope,)) + record = credential.authenticate(scopes=(scope,)) assert record.authority == environment assert record.home_account_id == object_id + "." + home_tenant assert record.tenant_id == home_tenant @@ -94,7 +93,7 @@ def test_disable_automatic_authentication(): empty_cache = TokenCache() # empty cache makes silent auth impossible transport = Mock(send=Mock(side_effect=Exception("no request should be sent"))) - credential = DeviceCodeCredential("client-id", _disable_automatic_authentication=True, transport=transport, _cache=empty_cache) + credential = DeviceCodeCredential("client-id", disable_automatic_authentication=True, transport=transport, _cache=empty_cache) with pytest.raises(AuthenticationRequiredError): credential.get_token("scope") diff --git a/sdk/identity/azure-identity/tests/test_environment_credential.py b/sdk/identity/azure-identity/tests/test_environment_credential.py index 3efb578b7aa9..35ce51045ef7 100644 --- a/sdk/identity/azure-identity/tests/test_environment_credential.py +++ b/sdk/identity/azure-identity/tests/test_environment_credential.py @@ -143,34 +143,3 @@ def test_username_password_configuration(): assert kwargs["password"] == password assert kwargs["tenant_id"] == tenant_id assert kwargs["foo"] == bar - - -def test_client_secret_credential(): - client_id = "fake-client-id" - secret = "fake-client-secret" - tenant_id = "fake-tenant-id" - access_token = "***" - - transport = validating_transport( - requests=[Request(url_substring=tenant_id, required_data={"client_id": client_id, "client_secret": secret})], - responses=[ - mock_response( - json_payload={ - "token_type": "Bearer", - "expires_in": 42, - "ext_expires_in": 42, - "access_token": access_token, - } - ) - ], - ) - - environment = { - EnvironmentVariables.AZURE_CLIENT_ID: client_id, - EnvironmentVariables.AZURE_CLIENT_SECRET: secret, - EnvironmentVariables.AZURE_TENANT_ID: tenant_id, - } - with mock.patch.dict("os.environ", environment, clear=True): - token = EnvironmentCredential(transport=transport).get_token("scope") - - assert token.token == access_token diff --git a/sdk/identity/azure-identity/tests/test_get_token_mixin.py b/sdk/identity/azure-identity/tests/test_get_token_mixin.py new file mode 100644 index 000000000000..28d2e5df2705 --- /dev/null +++ b/sdk/identity/azure-identity/tests/test_get_token_mixin.py @@ -0,0 +1,110 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import time + +try: + from unittest import mock +except ImportError: + import mock + +from azure.core.credentials import AccessToken +import pytest + +from azure.identity._constants import DEFAULT_REFRESH_OFFSET +from azure.identity._internal.get_token_mixin import GetTokenMixin + + +class MockCredential(GetTokenMixin): + NEW_TOKEN = AccessToken("new token", 42) + + def __init__(self, cached_token=None): + super(MockCredential, self).__init__() + self.request_token = mock.Mock(return_value=MockCredential.NEW_TOKEN) + self.acquire_token_silently = mock.Mock(return_value=cached_token) + + def _acquire_token_silently(self, *scopes): + return self.acquire_token_silently(*scopes) + + def _request_token(self, *scopes, **kwargs): + return self.request_token(*scopes, **kwargs) + + def get_token(self, *_, **__): + return super(MockCredential, self).get_token(*_, **__) + + +CACHED_TOKEN = "cached token" +SCOPE = "scope" + + +def test_no_cached_token(): + """When it has no token cached, a credential should request one every time get_token is called""" + + credential = MockCredential() + token = credential.get_token(SCOPE) + + credential.acquire_token_silently.assert_called_once_with(SCOPE) + credential.request_token.assert_called_once_with(SCOPE) + assert token.token == MockCredential.NEW_TOKEN.token + + +def test_token_acquisition_failure(): + """When the credential has no token cached, every get_token call should prompt a token request""" + + credential = MockCredential() + credential.request_token = mock.Mock(side_effect=Exception("whoops")) + for i in range(4): + with pytest.raises(Exception): + credential.get_token(SCOPE) + assert credential.request_token.call_count == i + 1 + credential.request_token.assert_called_with(SCOPE) + + +def test_expired_token(): + """A credential should request a token when it has an expired token cached""" + + now = time.time() + credential = MockCredential(cached_token=AccessToken(CACHED_TOKEN, now - 1)) + token = credential.get_token(SCOPE) + + credential.acquire_token_silently.assert_called_once_with(SCOPE) + credential.request_token.assert_called_once_with(SCOPE) + assert token.token == MockCredential.NEW_TOKEN.token + + +def test_cached_token_outside_refresh_window(): + """A credential shouldn't request a new token when it has a cached one with sufficient validity remaining""" + + credential = MockCredential(cached_token=AccessToken(CACHED_TOKEN, time.time() + DEFAULT_REFRESH_OFFSET + 1)) + token = credential.get_token(SCOPE) + + credential.acquire_token_silently.assert_called_once_with(SCOPE) + assert credential.request_token.call_count == 0 + assert token.token == CACHED_TOKEN + + +def test_cached_token_within_refresh_window(): + """A credential should request a new token when its cached one is within the refresh window""" + + credential = MockCredential(cached_token=AccessToken(CACHED_TOKEN, time.time() + DEFAULT_REFRESH_OFFSET - 1)) + token = credential.get_token(SCOPE) + + credential.acquire_token_silently.assert_called_once_with(SCOPE) + credential.request_token.assert_called_once_with(SCOPE) + assert token.token == MockCredential.NEW_TOKEN.token + + +def test_retry_delay(): + """A credential should wait between requests when trying to refresh a token""" + + now = time.time() + credential = MockCredential(cached_token=AccessToken(CACHED_TOKEN, now + DEFAULT_REFRESH_OFFSET - 1)) + + # the credential should swallow exceptions during proactive refresh attempts + credential.request_token = mock.Mock(side_effect=Exception("whoops")) + for i in range(4): + token = credential.get_token(SCOPE) + assert token.token == CACHED_TOKEN + credential.acquire_token_silently.assert_called_with(SCOPE) + credential.request_token.assert_called_once_with(SCOPE) diff --git a/sdk/identity/azure-identity/tests/test_get_token_mixin_async.py b/sdk/identity/azure-identity/tests/test_get_token_mixin_async.py new file mode 100644 index 000000000000..a76c7a82faf7 --- /dev/null +++ b/sdk/identity/azure-identity/tests/test_get_token_mixin_async.py @@ -0,0 +1,109 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import time +from unittest import mock + +from azure.core.credentials import AccessToken +import pytest + +from azure.identity._constants import DEFAULT_REFRESH_OFFSET +from azure.identity.aio._internal.get_token_mixin import GetTokenMixin + +pytestmark = pytest.mark.asyncio + + +class MockCredential(GetTokenMixin): + NEW_TOKEN = AccessToken("new token", 42) + + def __init__(self, cached_token=None): + super(MockCredential, self).__init__() + self.token = cached_token + self.request_token = mock.Mock(return_value=MockCredential.NEW_TOKEN) + self.acquire_token_silently = mock.Mock(return_value=cached_token) + + async def _acquire_token_silently(self, *scopes): + return self.acquire_token_silently(*scopes) + + async def _request_token(self, *scopes, **kwargs): + return self.request_token(*scopes, **kwargs) + + async def get_token(self, *_, **__): + return await super().get_token(*_, **__) + + +CACHED_TOKEN = "cached token" +SCOPE = "scope" + + +async def test_no_cached_token(): + """When it has no token cached, a credential should request one every time get_token is called""" + + credential = MockCredential() + token = await credential.get_token(SCOPE) + + credential.acquire_token_silently.assert_called_once_with(SCOPE) + credential.request_token.assert_called_once_with(SCOPE) + assert token.token == MockCredential.NEW_TOKEN.token + + +async def test_token_acquisition_failure(): + """When the credential has no token cached, every get_token call should prompt a token request""" + + credential = MockCredential() + credential.request_token = mock.Mock(side_effect=Exception("whoops")) + for i in range(4): + with pytest.raises(Exception): + await credential.get_token(SCOPE) + assert credential.request_token.call_count == i + 1 + credential.request_token.assert_called_with(SCOPE) + + +async def test_expired_token(): + """A credential should request a token when it has an expired token cached""" + + now = time.time() + credential = MockCredential(cached_token=AccessToken(CACHED_TOKEN, now - 1)) + token = await credential.get_token(SCOPE) + + credential.acquire_token_silently.assert_called_once_with(SCOPE) + credential.request_token.assert_called_once_with(SCOPE) + assert token.token == MockCredential.NEW_TOKEN.token + + +async def test_cached_token_outside_refresh_window(): + """A credential shouldn't request a new token when it has a cached one with sufficient validity remaining""" + + credential = MockCredential(cached_token=AccessToken(CACHED_TOKEN, time.time() + DEFAULT_REFRESH_OFFSET + 1)) + token = await credential.get_token(SCOPE) + + credential.acquire_token_silently.assert_called_once_with(SCOPE) + assert credential.request_token.call_count == 0 + assert token.token == CACHED_TOKEN + + +async def test_cached_token_within_refresh_window(): + """A credential should request a new token when its cached one is within the refresh window""" + + credential = MockCredential(cached_token=AccessToken(CACHED_TOKEN, time.time() + DEFAULT_REFRESH_OFFSET - 1)) + token = await credential.get_token(SCOPE) + + credential.acquire_token_silently.assert_called_once_with(SCOPE) + credential.request_token.assert_called_once_with(SCOPE) + assert token.token == MockCredential.NEW_TOKEN.token + + +async def test_retry_delay(): + """A credential should wait between requests when trying to refresh a token""" + + now = time.time() + credential = MockCredential(cached_token=AccessToken(CACHED_TOKEN, now + DEFAULT_REFRESH_OFFSET - 1)) + + # the credential should swallow exceptions during proactive refresh attempts + credential.request_token = mock.Mock(side_effect=Exception("whoops")) + for i in range(4): + token = await credential.get_token(SCOPE) + assert token.token == CACHED_TOKEN + credential.acquire_token_silently.assert_called_with(SCOPE) + credential.request_token.assert_called_once_with(SCOPE) diff --git a/sdk/identity/azure-identity/tests/test_imds_credential.py b/sdk/identity/azure-identity/tests/test_imds_credential.py index 8b040b769f55..95f53088b11a 100644 --- a/sdk/identity/azure-identity/tests/test_imds_credential.py +++ b/sdk/identity/azure-identity/tests/test_imds_credential.py @@ -169,7 +169,7 @@ def test_identity_config(): ], ) - credential = ImdsCredential(_identity_config={param_name: param_value}, transport=transport) + credential = ImdsCredential(identity_config={param_name: param_value}, transport=transport) token = credential.get_token(scope) assert token == expected_token diff --git a/sdk/identity/azure-identity/tests/test_imds_credential_async.py b/sdk/identity/azure-identity/tests/test_imds_credential_async.py index 8c42e643a855..a4d056f399fc 100644 --- a/sdk/identity/azure-identity/tests/test_imds_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_imds_credential_async.py @@ -198,7 +198,7 @@ async def test_identity_config(): ], ) - credential = ImdsCredential(client_id=client_id, _identity_config={param_name: param_value}, transport=transport) + credential = ImdsCredential(client_id=client_id, identity_config={param_name: param_value}, transport=transport) token = await credential.get_token(scope) assert token == expected_token diff --git a/sdk/identity/azure-identity/tests/test_interactive_credential.py b/sdk/identity/azure-identity/tests/test_interactive_credential.py index 9573c7623632..645e74f21bd0 100644 --- a/sdk/identity/azure-identity/tests/test_interactive_credential.py +++ b/sdk/identity/azure-identity/tests/test_interactive_credential.py @@ -3,9 +3,12 @@ # Licensed under the MIT License. # ------------------------------------ from azure.core.exceptions import ClientAuthenticationError -from azure.identity import KnownAuthorities, CredentialUnavailableError -from azure.identity._auth_record import AuthenticationRecord -from azure.identity._exceptions import AuthenticationRequiredError +from azure.identity import ( + AuthenticationRequiredError, + AuthenticationRecord, + KnownAuthorities, + CredentialUnavailableError, +) from azure.identity._internal import InteractiveCredential from msal import TokenCache import pytest @@ -64,7 +67,7 @@ def validate_app_parameters(authority, client_id, **_): app_factory = Mock(wraps=validate_app_parameters) credential = MockCredential( - _authentication_record=record, _disable_automatic_authentication=True, msal_app_factory=app_factory, + authentication_record=record, disable_automatic_authentication=True, msal_app_factory=app_factory, ) with pytest.raises(AuthenticationRequiredError): credential.get_token("scope") @@ -87,9 +90,9 @@ def validate_authority(authority, **_): return Mock(get_accounts=Mock(return_value=[])) credential = MockCredential( - _authentication_record=record, + authentication_record=record, tenant_id=expected_tenant, - _disable_automatic_authentication=True, + disable_automatic_authentication=True, msal_app_factory=validate_authority, ) with pytest.raises(AuthenticationRequiredError): @@ -107,8 +110,8 @@ def test_disable_automatic_authentication(): ) credential = MockCredential( - _authentication_record=record, - _disable_automatic_authentication=True, + authentication_record=record, + disable_automatic_authentication=True, msal_app_factory=lambda *_, **__: msal_app, request_token=Mock(side_effect=Exception("credential shouldn't begin interactive authentication")), ) @@ -132,11 +135,11 @@ def validate_scopes(*scopes, **_): return {"access_token": "**", "expires_in": 42} request_token = Mock(wraps=validate_scopes) - credential = MockCredential(_disable_automatic_authentication=True, request_token=request_token) + credential = MockCredential(disable_automatic_authentication=True, request_token=request_token) with pytest.raises(AuthenticationRequiredError) as ex: credential.get_token(scope) - credential._authenticate(scopes=ex.value.scopes) + credential.authenticate(scopes=ex.value.scopes) assert request_token.call_count == 1, "validation method wasn't called" @@ -158,7 +161,7 @@ def validate_scopes(*scopes): return {"access_token": "**", "expires_in": 42} request_token = Mock(wraps=validate_scopes) - MockCredential(authority=authority, request_token=request_token)._authenticate() + MockCredential(authority=authority, request_token=request_token).authenticate() assert request_token.call_count == 1 @@ -166,7 +169,7 @@ def test_authenticate_unknown_cloud(): """authenticate should raise when given no scopes in an unknown cloud""" with pytest.raises(CredentialUnavailableError): - MockCredential(authority="localhost")._authenticate() + MockCredential(authority="localhost").authenticate() @pytest.mark.parametrize("option", (True, False)) @@ -174,7 +177,7 @@ def test_authenticate_ignores_disable_automatic_authentication(option): """authenticate should prompt for authentication regardless of the credential's configuration""" request_token = Mock(return_value={"access_token": "**", "expires_in": 42}) - MockCredential(request_token=request_token, _disable_automatic_authentication=option)._authenticate() + MockCredential(request_token=request_token, disable_automatic_authentication=option).authenticate() assert request_token.call_count == 1, "credential didn't begin interactive authentication" @@ -190,7 +193,7 @@ class CustomException(Exception): acquire_token_silent_with_error=Mock(side_effect=CustomException(expected_message)), get_accounts=Mock(return_value=[{"home_account_id": record.home_account_id}]), ) - credential = MockCredential(msal_app_factory=lambda *_, **__: msal_app, _authentication_record=record) + credential = MockCredential(msal_app_factory=lambda *_, **__: msal_app, authentication_record=record) with pytest.raises(ClientAuthenticationError) as ex: credential.get_token("scope") @@ -220,20 +223,20 @@ def _request_token(self, *_, **__): assert credential._cache is in_memory_cache # allowing an unencrypted cache doesn't count as opting in to the persistent cache - credential = TestCredential(_allow_unencrypted_cache=True) + credential = TestCredential(allow_unencrypted_cache=True) assert credential._cache is in_memory_cache # keyword argument opts in to persistent cache with patch(persistent_cache + ".msal_extensions") as mock_extensions: - TestCredential(_enable_persistent_cache=True) + TestCredential(enable_persistent_cache=True) assert mock_extensions.PersistedTokenCache.call_count == 1 # opting in on an unsupported platform raises an exception with patch(persistent_cache + ".sys.platform", "commodore64"): with pytest.raises(NotImplementedError): - TestCredential(_enable_persistent_cache=True) + TestCredential(enable_persistent_cache=True) with pytest.raises(NotImplementedError): - TestCredential(_enable_persistent_cache=True, _allow_unencrypted_cache=True) + TestCredential(enable_persistent_cache=True, allow_unencrypted_cache=True) @patch("azure.identity._internal.persistent_cache.sys.platform", "linux2") @@ -252,7 +255,7 @@ def _request_token(self, *_, **__): pass # the credential should prefer an encrypted cache even when the user allows an unencrypted one - TestCredential(_enable_persistent_cache=True, _allow_unencrypted_cache=True) + TestCredential(enable_persistent_cache=True, allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.LibsecretPersistence) mock_extensions.PersistedTokenCache.reset_mock() @@ -261,9 +264,9 @@ def _request_token(self, *_, **__): # encryption unavailable, no opt in to unencrypted cache -> credential should raise with pytest.raises(ValueError): - TestCredential(_enable_persistent_cache=True) + TestCredential(enable_persistent_cache=True) - TestCredential(_enable_persistent_cache=True, _allow_unencrypted_cache=True) + TestCredential(enable_persistent_cache=True, allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.FilePersistence) @@ -289,7 +292,7 @@ def __init__(self, **kwargs): def _request_token(self, *_, **__): return msal_response - record = TestCredential()._authenticate() + record = TestCredential().authenticate() assert record.home_account_id == "{}.{}".format(object_id, home_tenant) @@ -314,5 +317,5 @@ def __init__(self, **kwargs): def _request_token(self, *_, **__): return msal_response - record = TestCredential()._authenticate() + record = TestCredential().authenticate() assert record.home_account_id == subject diff --git a/sdk/identity/azure-identity/tests/test_managed_identity.py b/sdk/identity/azure-identity/tests/test_managed_identity.py index e20e3f73ed99..5fc1ea3720d2 100644 --- a/sdk/identity/azure-identity/tests/test_managed_identity.py +++ b/sdk/identity/azure-identity/tests/test_managed_identity.py @@ -13,6 +13,7 @@ from azure.identity import ManagedIdentityCredential from azure.identity._constants import Endpoints, EnvironmentVariables from azure.identity._internal.user_agent import USER_AGENT +import pytest from helpers import build_aad_response, validating_transport, mock_response, Request @@ -92,12 +93,11 @@ def test_cloud_shell_user_assigned_identity(): assert token == expected_token -def test_app_service(): - """App Service environment: MSI_ENDPOINT, MSI_SECRET set""" +def test_prefers_app_service_2019_08_01(): + """When the environment is configured for both App Service versions, the credential should prefer the most recent""" access_token = "****" expires_on = 42 - expected_token = AccessToken(access_token, expires_on) endpoint = "http://localhost:42/token" secret = "expected-secret" scope = "scope" @@ -106,15 +106,15 @@ def test_app_service(): Request( base_url=endpoint, method="GET", - required_headers={"Metadata": "true", "secret": secret, "User-Agent": USER_AGENT}, - required_params={"api-version": "2017-09-01", "resource": scope}, + required_headers={"X-IDENTITY-HEADER": secret, "User-Agent": USER_AGENT}, + required_params={"api-version": "2019-08-01", "resource": scope}, ) ], responses=[ mock_response( json_payload={ "access_token": access_token, - "expires_on": expires_on, + "expires_on": str(expires_on), "resource": scope, "token_type": "Bearer", } @@ -122,11 +122,58 @@ def test_app_service(): ], ) - with mock.patch( - "os.environ", {EnvironmentVariables.MSI_ENDPOINT: endpoint, EnvironmentVariables.MSI_SECRET: secret} - ): + environ = { + EnvironmentVariables.IDENTITY_ENDPOINT: endpoint, + EnvironmentVariables.IDENTITY_HEADER: secret, + EnvironmentVariables.MSI_ENDPOINT: endpoint, + EnvironmentVariables.MSI_SECRET: secret, + } + with mock.patch.dict("os.environ", environ, clear=True): token = ManagedIdentityCredential(transport=transport).get_token(scope) - assert token == expected_token + assert token.token == access_token + assert token.expires_on == expires_on + + +def test_app_service_2019_08_01(): + """App Service 2019-08-01: IDENTITY_ENDPOINT, IDENTITY_HEADER set""" + + access_token = "****" + expires_on = 42 + endpoint = "http://localhost:42/token" + secret = "expected-secret" + scope = "scope" + + def send(request, **_): + assert request.url.startswith(endpoint) + assert request.method == "GET" + assert request.headers["X-IDENTITY-HEADER"] == secret + assert request.headers["User-Agent"] == USER_AGENT + assert request.query["api-version"] == "2019-08-01" + assert request.query["resource"] == scope + + return mock_response( + json_payload={ + "access_token": access_token, + "expires_on": str(expires_on), + "resource": scope, + "token_type": "Bearer", + } + ) + + # when configuration for both API versions is present, the credential should prefer the most recent + for environment in [ + {EnvironmentVariables.IDENTITY_ENDPOINT: endpoint, EnvironmentVariables.IDENTITY_HEADER: secret}, + { + EnvironmentVariables.IDENTITY_ENDPOINT: endpoint, + EnvironmentVariables.IDENTITY_HEADER: secret, + EnvironmentVariables.MSI_ENDPOINT: endpoint, + EnvironmentVariables.MSI_SECRET: secret, + }, + ]: + with mock.patch.dict("os.environ", environment, clear=True): + token = ManagedIdentityCredential(transport=mock.Mock(send=send)).get_token(scope) + assert token.token == access_token + assert token.expires_on == expires_on def test_app_service_2017_09_01(): @@ -144,7 +191,7 @@ def test_app_service_2017_09_01(): Request( url, method="GET", - required_headers={"Metadata": "true", "secret": secret, "User-Agent": USER_AGENT}, + required_headers={"secret": secret, "User-Agent": USER_AGENT}, required_params={"api-version": "2017-09-01", "resource": scope}, ) ] @@ -184,7 +231,7 @@ def test_app_service_2017_09_01(): def test_app_service_user_assigned_identity(): - """App Service environment: MSI_ENDPOINT, MSI_SECRET set""" + """App Service 2017-09-01: MSI_ENDPOINT, MSI_SECRET set""" access_token = "****" expires_on = 42 @@ -198,7 +245,7 @@ def test_app_service_user_assigned_identity(): Request( base_url=endpoint, method="GET", - required_headers={"Metadata": "true", "secret": secret, "User-Agent": USER_AGENT}, + required_headers={"secret": secret, "User-Agent": USER_AGENT}, required_params={"api-version": "2017-09-01", "clientid": client_id, "resource": scope}, ) ], @@ -206,7 +253,7 @@ def test_app_service_user_assigned_identity(): mock_response( json_payload={ "access_token": access_token, - "expires_on": expires_on, + "expires_on": "01/01/1970 00:00:{} +00:00".format(expires_on), "resource": scope, "token_type": "Bearer", } @@ -263,16 +310,23 @@ def test_client_id_none(): """the credential should ignore client_id=None""" expected_access_token = "****" + scope = "scope" def send(request, **_): assert "client_id" not in request.query # IMDS assert "clientid" not in request.query # App Service 2017-09-01 if request.data: assert "client_id" not in request.body # Cloud Shell - return mock_response(json_payload=(build_aad_response(access_token=expected_access_token))) + return mock_response( + json_payload=( + build_aad_response( + access_token=expected_access_token, expires_on="01/01/1970 00:00:42 +00:00", resource=scope + ) + ) + ) credential = ManagedIdentityCredential(client_id=None, transport=mock.Mock(send=send)) - token = credential.get_token("scope") + token = credential.get_token(scope) assert token.token == expected_access_token with mock.patch.dict( @@ -281,14 +335,14 @@ def send(request, **_): clear=True, ): credential = ManagedIdentityCredential(client_id=None, transport=mock.Mock(send=send)) - token = credential.get_token("scope") + token = credential.get_token(scope) assert token.token == expected_access_token with mock.patch.dict( MANAGED_IDENTITY_ENVIRON, {EnvironmentVariables.MSI_ENDPOINT: "https://localhost"}, clear=True, ): credential = ManagedIdentityCredential(client_id=None, transport=mock.Mock(send=send)) - token = credential.get_token("scope") + token = credential.get_token(scope) assert token.token == expected_access_token diff --git a/sdk/identity/azure-identity/tests/test_managed_identity_async.py b/sdk/identity/azure-identity/tests/test_managed_identity_async.py index cab5f2da2de6..517c00f0b43d 100644 --- a/sdk/identity/azure-identity/tests/test_managed_identity_async.py +++ b/sdk/identity/azure-identity/tests/test_managed_identity_async.py @@ -94,41 +94,46 @@ async def test_cloud_shell_user_assigned_identity(): @pytest.mark.asyncio -async def test_app_service(): - """App Service environment: MSI_ENDPOINT, MSI_SECRET set""" +async def test_app_service_2019_08_01(): + """App Service 2019-08-01: IDENTITY_ENDPOINT, IDENTITY_HEADER set""" access_token = "****" expires_on = 42 - expected_token = AccessToken(access_token, expires_on) endpoint = "http://localhost:42/token" secret = "expected-secret" scope = "scope" - transport = async_validating_transport( - requests=[ - Request( - base_url=endpoint, - method="GET", - required_headers={"Metadata": "true", "secret": secret, "User-Agent": USER_AGENT}, - required_params={"api-version": "2017-09-01", "resource": scope}, - ) - ], - responses=[ - mock_response( - json_payload={ - "access_token": access_token, - "expires_on": expires_on, - "resource": scope, - "token_type": "Bearer", - } - ) - ], - ) - with mock.patch( - "os.environ", {EnvironmentVariables.MSI_ENDPOINT: endpoint, EnvironmentVariables.MSI_SECRET: secret} - ): - token = await ManagedIdentityCredential(transport=transport).get_token(scope) - assert token == expected_token + async def send(request, **_): + assert request.url.startswith(endpoint) + assert request.method == "GET" + assert request.headers["X-IDENTITY-HEADER"] == secret + assert request.headers["User-Agent"] == USER_AGENT + assert request.query["api-version"] == "2019-08-01" + assert request.query["resource"] == scope + + return mock_response( + json_payload={ + "access_token": access_token, + "expires_on": str(expires_on), + "resource": scope, + "token_type": "Bearer", + } + ) + + # when configuration for both API versions is present, the credential should prefer the most recent + for environment in [ + {EnvironmentVariables.IDENTITY_ENDPOINT: endpoint, EnvironmentVariables.IDENTITY_HEADER: secret}, + { + EnvironmentVariables.IDENTITY_ENDPOINT: endpoint, + EnvironmentVariables.IDENTITY_HEADER: secret, + EnvironmentVariables.MSI_ENDPOINT: endpoint, + EnvironmentVariables.MSI_SECRET: secret, + }, + ]: + with mock.patch.dict("os.environ", environment, clear=True): + token = await ManagedIdentityCredential(transport=mock.Mock(send=send)).get_token(scope) + assert token.token == access_token + assert token.expires_on == expires_on @pytest.mark.asyncio @@ -147,7 +152,7 @@ async def test_app_service_2017_09_01(): Request( url, method="GET", - required_headers={"Metadata": "true", "secret": secret, "User-Agent": USER_AGENT}, + required_headers={"secret": secret, "User-Agent": USER_AGENT}, required_params={"api-version": "2017-09-01", "resource": scope}, ) ] @@ -188,7 +193,7 @@ async def test_app_service_2017_09_01(): @pytest.mark.asyncio async def test_app_service_user_assigned_identity(): - """App Service environment: MSI_ENDPOINT, MSI_SECRET set""" + """App Service 2017-09-01: MSI_ENDPOINT, MSI_SECRET set""" access_token = "****" expires_on = 42 @@ -202,7 +207,7 @@ async def test_app_service_user_assigned_identity(): Request( base_url=endpoint, method="GET", - required_headers={"Metadata": "true", "secret": secret, "User-Agent": USER_AGENT}, + required_headers={"secret": secret, "User-Agent": USER_AGENT}, required_params={"api-version": "2017-09-01", "clientid": client_id, "resource": scope}, ) ], @@ -210,7 +215,7 @@ async def test_app_service_user_assigned_identity(): mock_response( json_payload={ "access_token": access_token, - "expires_on": expires_on, + "expires_on": "01/01/1970 00:00:{} +00:00".format(expires_on), "resource": scope, "token_type": "Bearer", } @@ -230,17 +235,24 @@ async def test_client_id_none(): """the credential should ignore client_id=None""" expected_access_token = "****" + scope = "scope" async def send(request, **_): assert "client_id" not in request.query # IMDS assert "clientid" not in request.query # App Service 2017-09-01 if request.data: assert "client_id" not in request.body # Cloud Shell - return mock_response(json_payload=(build_aad_response(access_token=expected_access_token))) + return mock_response( + json_payload=( + build_aad_response( + access_token=expected_access_token, expires_on="01/01/1970 00:00:42 +00:00", resource=scope + ) + ) + ) with mock.patch.dict(MANAGED_IDENTITY_ENVIRON, {}, clear=True): credential = ManagedIdentityCredential(client_id=None, transport=mock.Mock(send=send)) - token = await credential.get_token("scope") + token = await credential.get_token(scope) assert token.token == expected_access_token with mock.patch.dict( @@ -249,14 +261,14 @@ async def send(request, **_): clear=True, ): credential = ManagedIdentityCredential(client_id=None, transport=mock.Mock(send=send)) - token = await credential.get_token("scope") + token = await credential.get_token(scope) assert token.token == expected_access_token with mock.patch.dict( MANAGED_IDENTITY_ENVIRON, {EnvironmentVariables.MSI_ENDPOINT: "https://localhost"}, clear=True, ): credential = ManagedIdentityCredential(client_id=None, transport=mock.Mock(send=send)) - token = await credential.get_token("scope") + token = await credential.get_token(scope) assert token.token == expected_access_token diff --git a/sdk/identity/azure-identity/tests/test_msi_credential.py b/sdk/identity/azure-identity/tests/test_msi_credential.py index 28f67a357790..7536688774e2 100644 --- a/sdk/identity/azure-identity/tests/test_msi_credential.py +++ b/sdk/identity/azure-identity/tests/test_msi_credential.py @@ -68,7 +68,7 @@ def test_identity_config_app_service(): {EnvironmentVariables.MSI_ENDPOINT: endpoint, EnvironmentVariables.MSI_SECRET: secret}, clear=True, ): - credential = MsiCredential(_identity_config={param_name: param_value}, transport=transport) + credential = MsiCredential(identity_config={param_name: param_value}, transport=transport) token = credential.get_token(scope) assert token == expected_token @@ -107,7 +107,7 @@ def test_identity_config_cloud_shell(): with mock.patch.dict( MsiCredential.__module__ + ".os.environ", {EnvironmentVariables.MSI_ENDPOINT: endpoint}, clear=True ): - credential = MsiCredential(_identity_config={param_name: param_value}, transport=transport) + credential = MsiCredential(identity_config={param_name: param_value}, transport=transport) token = credential.get_token(scope) assert token == expected_token diff --git a/sdk/identity/azure-identity/tests/test_msi_credential_async.py b/sdk/identity/azure-identity/tests/test_msi_credential_async.py index b9ff2bf114f8..dfa038963536 100644 --- a/sdk/identity/azure-identity/tests/test_msi_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_msi_credential_async.py @@ -96,7 +96,7 @@ async def test_identity_config_app_service(): {EnvironmentVariables.MSI_ENDPOINT: endpoint, EnvironmentVariables.MSI_SECRET: secret}, clear=True, ): - credential = MsiCredential(_identity_config={param_name: param_value}, transport=transport) + credential = MsiCredential(identity_config={param_name: param_value}, transport=transport) token = await credential.get_token(scope) assert token == expected_token @@ -135,7 +135,7 @@ async def test_identity_config_cloud_shell(): with mock.patch.dict( MsiCredential.__module__ + ".os.environ", {EnvironmentVariables.MSI_ENDPOINT: endpoint}, clear=True ): - credential = MsiCredential(_identity_config={param_name: param_value}, transport=transport) + credential = MsiCredential(identity_config={param_name: param_value}, transport=transport) token = await credential.get_token(scope) assert token == expected_token diff --git a/sdk/identity/azure-identity/tests/test_shared_cache_credential.py b/sdk/identity/azure-identity/tests/test_shared_cache_credential.py index e2b1713c9d07..efb5bcc668af 100644 --- a/sdk/identity/azure-identity/tests/test_shared_cache_credential.py +++ b/sdk/identity/azure-identity/tests/test_shared_cache_credential.py @@ -4,8 +4,11 @@ # ------------------------------------ from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import SansIOHTTPPolicy -from azure.identity import CredentialUnavailableError, SharedTokenCacheCredential -from azure.identity._auth_record import AuthenticationRecord +from azure.identity import ( + AuthenticationRecord, + CredentialUnavailableError, + SharedTokenCacheCredential, +) from azure.identity._constants import AZURE_CLI_CLIENT_ID, EnvironmentVariables from azure.identity._internal.shared_token_cache import ( KNOWN_ALIASES, @@ -511,7 +514,7 @@ def test_authority_environment_variable(): def test_authentication_record_empty_cache(): record = AuthenticationRecord("tenant_id", "client_id", "authority", "home_account_id", "username") transport = Mock(side_effect=Exception("the credential shouldn't send a request")) - credential = SharedTokenCacheCredential(_authentication_record=record, transport=transport, _cache=TokenCache()) + credential = SharedTokenCacheCredential(authentication_record=record, transport=transport, _cache=TokenCache()) with pytest.raises(CredentialUnavailableError): credential.get_token("scope") @@ -532,7 +535,7 @@ def test_authentication_record_no_match(): "not-" + username, "not-" + object_id, "different-" + tenant_id, client_id="not-" + client_id, ), ) - credential = SharedTokenCacheCredential(_authentication_record=record, transport=transport, _cache=cache) + credential = SharedTokenCacheCredential(authentication_record=record, transport=transport, _cache=cache) with pytest.raises(CredentialUnavailableError): credential.get_token("scope") @@ -558,7 +561,7 @@ def test_authentication_record(): requests=[Request(authority=authority, required_data={"refresh_token": expected_refresh_token})], responses=[mock_response(json_payload=build_aad_response(access_token=expected_access_token))], ) - credential = SharedTokenCacheCredential(_authentication_record=record, transport=transport, _cache=cache) + credential = SharedTokenCacheCredential(authentication_record=record, transport=transport, _cache=cache) token = credential.get_token("scope") assert token.token == expected_access_token @@ -594,13 +597,12 @@ def test_auth_record_multiple_accounts_for_username(): requests=[Request(authority=authority, required_data={"refresh_token": expected_refresh_token})], responses=[mock_response(json_payload=build_aad_response(access_token=expected_access_token))], ) - credential = SharedTokenCacheCredential(_authentication_record=record, transport=transport, _cache=cache) + credential = SharedTokenCacheCredential(authentication_record=record, transport=transport, _cache=cache) token = credential.get_token("scope") assert token.token == expected_access_token -@pytest.mark.skip("in 1.4.0 allow_unencrypted_cache is private and defaults to True") @patch("azure.identity._internal.persistent_cache.sys.platform", "linux2") @patch("azure.identity._internal.persistent_cache.msal_extensions") def test_allow_unencrypted_cache(mock_extensions): @@ -610,7 +612,7 @@ def test_allow_unencrypted_cache(mock_extensions): """ # the credential should prefer an encrypted cache even when the user allows an unencrypted one - SharedTokenCacheCredential(_allow_unencrypted_cache=True) + SharedTokenCacheCredential(allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.LibsecretPersistence) mock_extensions.PersistedTokenCache.reset_mock() @@ -623,7 +625,7 @@ def test_allow_unencrypted_cache(mock_extensions): assert mock_extensions.PersistedTokenCache.call_count == 0 # still no encryption, but now we allow the unencrypted fallback - SharedTokenCacheCredential(_allow_unencrypted_cache=True) + SharedTokenCacheCredential(allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.FilePersistence) @@ -743,7 +745,7 @@ def test_authentication_record_authenticating_tenant(): with patch.object(SharedTokenCacheCredential, "_get_auth_client") as get_auth_client: credential = SharedTokenCacheCredential( - _authentication_record=record, _cache=TokenCache(), tenant_id=expected_tenant_id + authentication_record=record, _cache=TokenCache(), tenant_id=expected_tenant_id ) with pytest.raises(CredentialUnavailableError): # this raises because the cache is empty diff --git a/sdk/identity/azure-identity/tests/test_shared_cache_credential_async.py b/sdk/identity/azure-identity/tests/test_shared_cache_credential_async.py index 518913db4eeb..389ba606d482 100644 --- a/sdk/identity/azure-identity/tests/test_shared_cache_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_shared_cache_credential_async.py @@ -7,8 +7,8 @@ from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import SansIOHTTPPolicy -from azure.identity import CredentialUnavailableError -from azure.identity._auth_record import AuthenticationRecord +from azure.identity import AuthenticationRecord, CredentialUnavailableError +from azure.identity.aio import SharedTokenCacheCredential from azure.identity._constants import EnvironmentVariables from azure.identity._internal.shared_token_cache import ( KNOWN_ALIASES, @@ -18,7 +18,6 @@ NO_MATCHING_ACCOUNTS, ) from azure.identity._internal.user_agent import USER_AGENT -from azure.identity.aio import SharedTokenCacheCredential from msal import TokenCache import pytest @@ -594,7 +593,7 @@ async def test_authority_environment_variable(): async def test_authentication_record_empty_cache(): record = AuthenticationRecord("tenant_id", "client_id", "authority", "home_account_id", "username") transport = Mock(side_effect=Exception("the credential shouldn't send a request")) - credential = SharedTokenCacheCredential(_authentication_record=record, transport=transport, _cache=TokenCache()) + credential = SharedTokenCacheCredential(authentication_record=record, transport=transport, _cache=TokenCache()) with pytest.raises(CredentialUnavailableError): await credential.get_token("scope") @@ -616,7 +615,7 @@ async def test_authentication_record_no_match(): "not-" + username, "not-" + object_id, "different-" + tenant_id, client_id="not-" + client_id, ), ) - credential = SharedTokenCacheCredential(_authentication_record=record, transport=transport, _cache=cache) + credential = SharedTokenCacheCredential(authentication_record=record, transport=transport, _cache=cache) with pytest.raises(CredentialUnavailableError): await credential.get_token("scope") @@ -643,7 +642,7 @@ async def test_authentication_record(): requests=[Request(authority=authority, required_data={"refresh_token": expected_refresh_token})], responses=[mock_response(json_payload=build_aad_response(access_token=expected_access_token))], ) - credential = SharedTokenCacheCredential(_authentication_record=record, transport=transport, _cache=cache) + credential = SharedTokenCacheCredential(authentication_record=record, transport=transport, _cache=cache) token = await credential.get_token("scope") assert token.token == expected_access_token @@ -680,7 +679,7 @@ async def test_auth_record_multiple_accounts_for_username(): requests=[Request(authority=authority, required_data={"refresh_token": expected_refresh_token})], responses=[mock_response(json_payload=build_aad_response(access_token=expected_access_token))], ) - credential = SharedTokenCacheCredential(_authentication_record=record, transport=transport, _cache=cache) + credential = SharedTokenCacheCredential(authentication_record=record, transport=transport, _cache=cache) token = await credential.get_token("scope") assert token.token == expected_access_token @@ -695,7 +694,7 @@ async def test_authentication_record_authenticating_tenant(): with patch.object(SharedTokenCacheCredential, "_get_auth_client") as get_auth_client: credential = SharedTokenCacheCredential( - _authentication_record=record, _cache=TokenCache(), tenant_id=expected_tenant_id + authentication_record=record, _cache=TokenCache(), tenant_id=expected_tenant_id ) with pytest.raises(CredentialUnavailableError): # this raises because the cache is empty @@ -706,7 +705,6 @@ async def test_authentication_record_authenticating_tenant(): assert kwargs["tenant_id"] == expected_tenant_id -@pytest.mark.skip("in 1.4.0 allow_unencrypted_cache is private and defaults to True") @pytest.mark.asyncio async def test_allow_unencrypted_cache(): """The credential should use an unencrypted cache when encryption is unavailable and the user explicitly allows it. @@ -721,7 +719,7 @@ async def test_allow_unencrypted_cache(): mock_extensions = msal_extensions_patch.start() # the credential should prefer an encrypted cache even when the user allows an unencrypted one - SharedTokenCacheCredential(_allow_unencrypted_cache=True) + SharedTokenCacheCredential(allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.LibsecretPersistence) mock_extensions.PersistedTokenCache.reset_mock() @@ -730,12 +728,12 @@ async def test_allow_unencrypted_cache(): # encryption unavailable, no opt in to unencrypted cache -> credential should be unavailable credential = SharedTokenCacheCredential() + assert mock_extensions.PersistedTokenCache.call_count == 0 with pytest.raises(CredentialUnavailableError): await credential.get_token("scope") - assert mock_extensions.PersistedTokenCache.call_count == 0 # still no encryption, but now we allow the unencrypted fallback - SharedTokenCacheCredential(_allow_unencrypted_cache=True) + SharedTokenCacheCredential(allow_unencrypted_cache=True) assert mock_extensions.PersistedTokenCache.called_with(mock_extensions.FilePersistence) msal_extensions_patch.stop() diff --git a/sdk/identity/azure-identity/tests/test_username_password_credential.py b/sdk/identity/azure-identity/tests/test_username_password_credential.py index 6a93b79d7827..f82d251090b0 100644 --- a/sdk/identity/azure-identity/tests/test_username_password_credential.py +++ b/sdk/identity/azure-identity/tests/test_username_password_credential.py @@ -125,7 +125,7 @@ def test_authenticate(): tenant_id=tenant_id, transport=transport, ) - record = credential._authenticate(scopes=(scope,)) + record = credential.authenticate(scopes=(scope,)) assert record.authority == environment assert record.home_account_id == object_id + "." + home_tenant assert record.tenant_id == home_tenant diff --git a/sdk/identity/ci.yml b/sdk/identity/ci.yml index 9dc9f51b39d3..b60ad946bc9f 100644 --- a/sdk/identity/ci.yml +++ b/sdk/identity/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -40,4 +39,4 @@ extends: Artifacts: - name: azure_identity - safeName: azureidentity \ No newline at end of file + safeName: azureidentity diff --git a/sdk/iothub/ci.yml b/sdk/iothub/ci.yml index dcd21b01b2b9..a8a117296a6c 100644 --- a/sdk/iothub/ci.yml +++ b/sdk/iothub/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -34,4 +33,4 @@ extends: - name: azure_mgmt_iothubprovisioningservices safeName: azuremgmtiothubprovisioningservices - name: azure_mgmt_iotcentral - safeName: azuremgmtiotcentral \ No newline at end of file + safeName: azuremgmtiotcentral diff --git a/sdk/keyvault/azure-keyvault-administration/CHANGELOG.md b/sdk/keyvault/azure-keyvault-administration/CHANGELOG.md new file mode 100644 index 000000000000..332564950c28 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/CHANGELOG.md @@ -0,0 +1,3 @@ +# Release History + +## 1.0.0b1 (Unreleased) diff --git a/sdk/keyvault/azure-keyvault-administration/MANIFEST.in b/sdk/keyvault/azure-keyvault-administration/MANIFEST.in new file mode 100644 index 000000000000..d1b90ace051f --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/MANIFEST.in @@ -0,0 +1,5 @@ +include *.md +include azure/__init__.py +include azure/keyvault/__init__.py +recursive-include samples *.py +recursive-include tests *.py \ No newline at end of file diff --git a/sdk/keyvault/azure-keyvault-administration/README.md b/sdk/keyvault/azure-keyvault-administration/README.md new file mode 100644 index 000000000000..f4333cb7ed36 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/README.md @@ -0,0 +1,29 @@ +# Azure Key Vault Administration client library for Python + +## Getting started + +## Key concepts + +## Examples + +## Troubleshooting + +## Next steps + +## Contributing +This project welcomes contributions and suggestions. Most contributions require +you to agree to a Contributor License Agreement (CLA) declaring that you have +the right to, and actually do, grant us the rights to use your contribution. +For details, visit https://cla.microsoft.com. + +When you submit a pull request, a CLA-bot will automatically determine whether +you need to provide a CLA and decorate the PR appropriately (e.g., label, +comment). Simply follow the instructions provided by the bot. You will only +need to do this once across all repos using our CLA. + +This project has adopted the +[Microsoft Open Source Code of Conduct][code_of_conduct]. For more information, +see the Code of Conduct FAQ or contact opencode@microsoft.com with any +additional questions or comments. + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Fkeyvault%2Fazure-keyvault-administration%2FFREADME.png) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/__init__.py new file mode 100644 index 000000000000..679ab6995134 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/__init__.py @@ -0,0 +1,5 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/__init__.py new file mode 100644 index 000000000000..679ab6995134 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/__init__.py @@ -0,0 +1,5 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/__init__.py new file mode 100644 index 000000000000..679ab6995134 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/__init__.py @@ -0,0 +1,5 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/__init__.py similarity index 86% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/__init__.py rename to sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/__init__.py index 6768e3864dca..a6c1f9b7a792 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/__init__.py +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/__init__.py @@ -6,8 +6,8 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._search_service_client import SearchServiceClient -__all__ = ['SearchServiceClient'] +from ._key_vault_client import KeyVaultClient +__all__ = ['KeyVaultClient'] try: from ._patch import patch_sdk # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_configuration.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_configuration.py new file mode 100644 index 000000000000..fea6e56a754e --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_configuration.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + + +class KeyVaultClientConfiguration(Configuration): + """Configuration for KeyVaultClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + """ + + def __init__( + self, + **kwargs # type: Any + ): + # type: (...) -> None + super(KeyVaultClientConfiguration, self).__init__(**kwargs) + + kwargs.setdefault('sdk_moniker', 'azure-keyvault/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_key_vault_client.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_key_vault_client.py new file mode 100644 index 000000000000..f7e0861520ea --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_key_vault_client.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.core import PipelineClient +from msrest import Serializer, Deserializer + +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from ._configuration import KeyVaultClientConfiguration +from ._operations_mixin import KeyVaultClientOperationsMixin +class _SDKClient(object): + def __init__(self, *args, **kwargs): + """This is a fake class to support current implemetation of MultiApiClientMixin." + Will be removed in final version of multiapi azure-core based client + """ + pass + +class KeyVaultClient(KeyVaultClientOperationsMixin, MultiApiClientMixin, _SDKClient): + """The key vault client performs cryptographic key operations and vault operations against the Key Vault service. + + This ready contains multiple API versions, to help you deal with all of the Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, it uses the latest API version available on public Azure. + For production, you should stick to a particular api-version and/or profile. + The profile sets a mapping between an operation group and its API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + :param str api_version: API version to use if no profile is provided, or if + missing in profile. + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + DEFAULT_API_VERSION = '7.2-preview' + _PROFILE_TAG = "azure.keyvault.KeyVaultClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + }}, + _PROFILE_TAG + " latest" + ) + + def __init__( + self, + api_version=None, + profile=KnownProfiles.default, + **kwargs # type: Any + ): + if api_version == '7.2-preview': + base_url = '{vaultBaseUrl}' + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + self._config = KeyVaultClientConfiguration(**kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + super(KeyVaultClient, self).__init__( + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 7.2-preview: :mod:`v7_2_preview.models` + """ + if api_version == '7.2-preview': + from .v7_2_preview import models + return models + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + + @property + def role_assignments(self): + """Instance depends on the API version: + + * 7.2-preview: :class:`RoleAssignmentsOperations` + """ + api_version = self._get_api_version('role_assignments') + if api_version == '7.2-preview': + from .v7_2_preview.operations import RoleAssignmentsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def role_definitions(self): + """Instance depends on the API version: + + * 7.2-preview: :class:`RoleDefinitionsOperations` + """ + api_version = self._get_api_version('role_definitions') + if api_version == '7.2-preview': + from .v7_2_preview.operations import RoleDefinitionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + def close(self): + self._client.close() + def __enter__(self): + self._client.__enter__() + return self + def __exit__(self, *exc_details): + self._client.__exit__(*exc_details) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_operations_mixin.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_operations_mixin.py new file mode 100644 index 000000000000..f49ed4894e09 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_operations_mixin.py @@ -0,0 +1,195 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrest import Serializer, Deserializer +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.polling.base_polling import LROBasePolling + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + +class KeyVaultClientOperationsMixin(object): + + def begin_full_backup( + self, + vault_base_url, # type: str + azure_storage_blob_container_uri=None, # type: Optional["models.SASTokenParameter"] + **kwargs # type: Any + ): + """Creates a full backup using a user-provided SAS token to an Azure blob storage container. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param azure_storage_blob_container_uri: Azure blob shared access signature token pointing to a + valid Azure blob container where full backup needs to be stored. This token needs to be valid + for at least next 24 hours from the time of making this call. + :type azure_storage_blob_container_uri: ~azure.keyvault.v7_2.models.SASTokenParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either FullBackupOperation or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.FullBackupOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + api_version = self._get_api_version('begin_full_backup') + if api_version == '7.2-preview': + from .v7_2_preview.operations import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.begin_full_backup(vault_base_url, azure_storage_blob_container_uri, **kwargs) + + def begin_full_restore_operation( + self, + vault_base_url, # type: str + restore_blob_details=None, # type: Optional["models.RestoreOperationParameters"] + **kwargs # type: Any + ): + """Restores all key materials using the SAS token pointing to a previously stored Azure Blob + storage backup folder. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous + successful full backup was stored. + :type restore_blob_details: ~azure.keyvault.v7_2.models.RestoreOperationParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either RestoreOperation or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.RestoreOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + api_version = self._get_api_version('begin_full_restore_operation') + if api_version == '7.2-preview': + from .v7_2_preview.operations import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.begin_full_restore_operation(vault_base_url, restore_blob_details, **kwargs) + + def begin_selective_key_restore_operation( + self, + vault_base_url, # type: str + key_name, # type: str + restore_blob_details=None, # type: Optional["models.SelectiveKeyRestoreOperationParameters"] + **kwargs # type: Any + ): + """Restores all key versions of a given key using user supplied SAS token pointing to a previously + stored Azure Blob storage backup folder. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param key_name: The name of the key to be restored from the user supplied backup. + :type key_name: str + :param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous + successful full backup was stored. + :type restore_blob_details: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperationParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SelectiveKeyRestoreOperation or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + api_version = self._get_api_version('begin_selective_key_restore_operation') + if api_version == '7.2-preview': + from .v7_2_preview.operations import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.begin_selective_key_restore_operation(vault_base_url, key_name, restore_blob_details, **kwargs) + + def full_backup_status( + self, + vault_base_url, # type: str + job_id, # type: str + **kwargs # type: Any + ): + """Returns the status of full backup operation. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param job_id: The id returned as part of the backup request. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FullBackupOperation, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.FullBackupOperation + :raises: ~azure.core.exceptions.HttpResponseError + """ + api_version = self._get_api_version('full_backup_status') + if api_version == '7.2-preview': + from .v7_2_preview.operations import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.full_backup_status(vault_base_url, job_id, **kwargs) + + def restore_status( + self, + vault_base_url, # type: str + job_id, # type: str + **kwargs # type: Any + ): + """Returns the status of restore operation. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param job_id: The Job Id returned part of the restore operation. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RestoreOperation, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RestoreOperation + :raises: ~azure.core.exceptions.HttpResponseError + """ + api_version = self._get_api_version('restore_status') + if api_version == '7.2-preview': + from .v7_2_preview.operations import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.restore_status(vault_base_url, job_id, **kwargs) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_version.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_version.py new file mode 100644 index 000000000000..a30a458f8b5b --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_version.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +VERSION = "0.1.0" \ No newline at end of file diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/__init__.py similarity index 82% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/__init__.py rename to sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/__init__.py index bc2235f978a0..71ceadebe430 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/__init__.py +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._search_service_client_async import SearchServiceClient -__all__ = ['SearchServiceClient'] +from ._key_vault_client_async import KeyVaultClient +__all__ = ['KeyVaultClient'] diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_configuration_async.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_configuration_async.py new file mode 100644 index 000000000000..6725478d133d --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_configuration_async.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + + +class KeyVaultClientConfiguration(Configuration): + """Configuration for KeyVaultClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + """ + + def __init__( + self, + **kwargs # type: Any + ) -> None: + super(KeyVaultClientConfiguration, self).__init__(**kwargs) + + kwargs.setdefault('sdk_moniker', 'azure-keyvault/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_key_vault_client_async.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_key_vault_client_async.py new file mode 100644 index 000000000000..24bb6d619c51 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_key_vault_client_async.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.core import AsyncPipelineClient +from msrest import Serializer, Deserializer + +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from ._configuration_async import KeyVaultClientConfiguration +from ._operations_mixin_async import KeyVaultClientOperationsMixin +class _SDKClient(object): + def __init__(self, *args, **kwargs): + """This is a fake class to support current implemetation of MultiApiClientMixin." + Will be removed in final version of multiapi azure-core based client + """ + pass + +class KeyVaultClient(KeyVaultClientOperationsMixin, MultiApiClientMixin, _SDKClient): + """The key vault client performs cryptographic key operations and vault operations against the Key Vault service. + + This ready contains multiple API versions, to help you deal with all of the Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, it uses the latest API version available on public Azure. + For production, you should stick to a particular api-version and/or profile. + The profile sets a mapping between an operation group and its API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + :param str api_version: API version to use if no profile is provided, or if + missing in profile. + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + DEFAULT_API_VERSION = '7.2-preview' + _PROFILE_TAG = "azure.keyvault.KeyVaultClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + }}, + _PROFILE_TAG + " latest" + ) + + def __init__( + self, + api_version=None, + profile=KnownProfiles.default, + **kwargs # type: Any + ) -> None: + if api_version == '7.2-preview': + base_url = '{vaultBaseUrl}' + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + self._config = KeyVaultClientConfiguration(**kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + super(KeyVaultClient, self).__init__( + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 7.2-preview: :mod:`v7_2_preview.models` + """ + if api_version == '7.2-preview': + from ..v7_2_preview import models + return models + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + + @property + def role_assignments(self): + """Instance depends on the API version: + + * 7.2-preview: :class:`RoleAssignmentsOperations` + """ + api_version = self._get_api_version('role_assignments') + if api_version == '7.2-preview': + from ..v7_2_preview.aio.operations_async import RoleAssignmentsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def role_definitions(self): + """Instance depends on the API version: + + * 7.2-preview: :class:`RoleDefinitionsOperations` + """ + api_version = self._get_api_version('role_definitions') + if api_version == '7.2-preview': + from ..v7_2_preview.aio.operations_async import RoleDefinitionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + async def close(self): + await self._client.close() + async def __aenter__(self): + await self._client.__aenter__() + return self + async def __aexit__(self, *exc_details): + await self._client.__aexit__(*exc_details) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_operations_mixin_async.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_operations_mixin_async.py new file mode 100644 index 000000000000..19f1dfa324e2 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/aio/_operations_mixin_async.py @@ -0,0 +1,191 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrest import Serializer, Deserializer +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.polling.async_base_polling import AsyncLROBasePolling + + +class KeyVaultClientOperationsMixin(object): + + async def begin_full_backup( + self, + vault_base_url: str, + azure_storage_blob_container_uri: Optional["models.SASTokenParameter"] = None, + **kwargs + ) -> AsyncLROPoller["models.FullBackupOperation"]: + """Creates a full backup using a user-provided SAS token to an Azure blob storage container. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param azure_storage_blob_container_uri: Azure blob shared access signature token pointing to a + valid Azure blob container where full backup needs to be stored. This token needs to be valid + for at least next 24 hours from the time of making this call. + :type azure_storage_blob_container_uri: ~azure.keyvault.v7_2.models.SASTokenParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FullBackupOperation or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.FullBackupOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + api_version = self._get_api_version('begin_full_backup') + if api_version == '7.2-preview': + from ..v7_2_preview.aio.operations_async import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return await mixin_instance.begin_full_backup(vault_base_url, azure_storage_blob_container_uri, **kwargs) + + async def begin_full_restore_operation( + self, + vault_base_url: str, + restore_blob_details: Optional["models.RestoreOperationParameters"] = None, + **kwargs + ) -> AsyncLROPoller["models.RestoreOperation"]: + """Restores all key materials using the SAS token pointing to a previously stored Azure Blob + storage backup folder. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous + successful full backup was stored. + :type restore_blob_details: ~azure.keyvault.v7_2.models.RestoreOperationParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either RestoreOperation or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.RestoreOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + api_version = self._get_api_version('begin_full_restore_operation') + if api_version == '7.2-preview': + from ..v7_2_preview.aio.operations_async import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return await mixin_instance.begin_full_restore_operation(vault_base_url, restore_blob_details, **kwargs) + + async def begin_selective_key_restore_operation( + self, + vault_base_url: str, + key_name: str, + restore_blob_details: Optional["models.SelectiveKeyRestoreOperationParameters"] = None, + **kwargs + ) -> AsyncLROPoller["models.SelectiveKeyRestoreOperation"]: + """Restores all key versions of a given key using user supplied SAS token pointing to a previously + stored Azure Blob storage backup folder. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param key_name: The name of the key to be restored from the user supplied backup. + :type key_name: str + :param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous + successful full backup was stored. + :type restore_blob_details: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperationParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SelectiveKeyRestoreOperation or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + api_version = self._get_api_version('begin_selective_key_restore_operation') + if api_version == '7.2-preview': + from ..v7_2_preview.aio.operations_async import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return await mixin_instance.begin_selective_key_restore_operation(vault_base_url, key_name, restore_blob_details, **kwargs) + + async def full_backup_status( + self, + vault_base_url: str, + job_id: str, + **kwargs + ) -> "models.FullBackupOperation": + """Returns the status of full backup operation. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param job_id: The id returned as part of the backup request. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FullBackupOperation, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.FullBackupOperation + :raises: ~azure.core.exceptions.HttpResponseError + """ + api_version = self._get_api_version('full_backup_status') + if api_version == '7.2-preview': + from ..v7_2_preview.aio.operations_async import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return await mixin_instance.full_backup_status(vault_base_url, job_id, **kwargs) + + async def restore_status( + self, + vault_base_url: str, + job_id: str, + **kwargs + ) -> "models.RestoreOperation": + """Returns the status of restore operation. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param job_id: The Job Id returned part of the restore operation. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RestoreOperation, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RestoreOperation + :raises: ~azure.core.exceptions.HttpResponseError + """ + api_version = self._get_api_version('restore_status') + if api_version == '7.2-preview': + from ..v7_2_preview.aio.operations_async import KeyVaultClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance._config = self._config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return await mixin_instance.restore_status(vault_base_url, job_id, **kwargs) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/models.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/models.py new file mode 100644 index 000000000000..ef435f1d9667 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/models.py @@ -0,0 +1,7 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v7_2_preview.models import * diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/py.typed b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/py.typed new file mode 100644 index 000000000000..e5aff4f83af8 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/__init__.py new file mode 100644 index 000000000000..a6c1f9b7a792 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._key_vault_client import KeyVaultClient +__all__ = ['KeyVaultClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_configuration.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_configuration.py new file mode 100644 index 000000000000..f6a651dad142 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_configuration.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + +VERSION = "unknown" + +class KeyVaultClientConfiguration(Configuration): + """Configuration for KeyVaultClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + """ + + def __init__( + self, + **kwargs # type: Any + ): + # type: (...) -> None + super(KeyVaultClientConfiguration, self).__init__(**kwargs) + + self.api_version = "7.2-preview" + kwargs.setdefault('sdk_moniker', 'keyvault/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_key_vault_client.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_key_vault_client.py new file mode 100644 index 000000000000..91acb44b0c6b --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_key_vault_client.py @@ -0,0 +1,64 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + +from ._configuration import KeyVaultClientConfiguration +from .operations import KeyVaultClientOperationsMixin +from .operations import RoleDefinitionsOperations +from .operations import RoleAssignmentsOperations +from . import models + + +class KeyVaultClient(KeyVaultClientOperationsMixin): + """The key vault client performs cryptographic key operations and vault operations against the Key Vault service. + + :ivar role_definitions: RoleDefinitionsOperations operations + :vartype role_definitions: azure.keyvault.v7_2.operations.RoleDefinitionsOperations + :ivar role_assignments: RoleAssignmentsOperations operations + :vartype role_assignments: azure.keyvault.v7_2.operations.RoleAssignmentsOperations + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + **kwargs # type: Any + ): + # type: (...) -> None + base_url = '{vaultBaseUrl}' + self._config = KeyVaultClientConfiguration(**kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.role_definitions = RoleDefinitionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.role_assignments = RoleAssignmentsOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> KeyVaultClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_metadata.json b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_metadata.json new file mode 100644 index 000000000000..2e1b4f3b0f3c --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/_metadata.json @@ -0,0 +1,131 @@ +{ + "chosen_version": "7.2-preview", + "total_api_version_list": ["7.2-preview"], + "client": { + "name": "KeyVaultClient", + "filename": "_key_vault_client", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "base_url": null, + "custom_base_url": "\u0027{vaultBaseUrl}\u0027", + "azure_arm": false + }, + "global_parameters": { + "sync_method": { + }, + "async_method": { + }, + "constant": { + }, + "call": "" + }, + "config": { + "credential": false, + "credential_scopes": null, + "credential_default_policy_type": "BearerTokenCredentialPolicy", + "credential_default_policy_type_has_async_version": true + }, + "operation_groups": { + "role_definitions": "RoleDefinitionsOperations", + "role_assignments": "RoleAssignmentsOperations" + }, + "operation_mixins": { + "_full_backup_initial" : { + "sync": { + "signature": "def _full_backup_initial(\n self,\n vault_base_url, # type: str\n azure_storage_blob_container_uri=None, # type: Optional[\"models.SASTokenParameter\"]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param azure_storage_blob_container_uri: Azure blob shared access signature token pointing to a\n valid Azure blob container where full backup needs to be stored. This token needs to be valid\n for at least next 24 hours from the time of making this call.\n:type azure_storage_blob_container_uri: ~azure.keyvault.v7_2.models.SASTokenParameter\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: FullBackupOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.FullBackupOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def _full_backup_initial(\n self,\n vault_base_url: str,\n azure_storage_blob_container_uri: Optional[\"models.SASTokenParameter\"] = None,\n **kwargs\n) -\u003e \"models.FullBackupOperation\":\n", + "doc": "\"\"\"\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param azure_storage_blob_container_uri: Azure blob shared access signature token pointing to a\n valid Azure blob container where full backup needs to be stored. This token needs to be valid\n for at least next 24 hours from the time of making this call.\n:type azure_storage_blob_container_uri: ~azure.keyvault.v7_2.models.SASTokenParameter\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: FullBackupOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.FullBackupOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "vault_base_url, azure_storage_blob_container_uri" + }, + "begin_full_backup" : { + "sync": { + "signature": "def begin_full_backup(\n self,\n vault_base_url, # type: str\n azure_storage_blob_container_uri=None, # type: Optional[\"models.SASTokenParameter\"]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Creates a full backup using a user-provided SAS token to an Azure blob storage container.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param azure_storage_blob_container_uri: Azure blob shared access signature token pointing to a\n valid Azure blob container where full backup needs to be stored. This token needs to be valid\n for at least next 24 hours from the time of making this call.\n:type azure_storage_blob_container_uri: ~azure.keyvault.v7_2.models.SASTokenParameter\n:keyword callable cls: A custom type or function that will be passed the direct response\n:keyword str continuation_token: A continuation token to restart a poller from a saved state.\n:keyword polling: True for ARMPolling, False for no polling, or a\n polling object for personal polling strategy\n:paramtype polling: bool or ~azure.core.polling.PollingMethod\n:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.\n:return: An instance of LROPoller that returns either FullBackupOperation or the result of cls(response)\n:rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.FullBackupOperation]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def begin_full_backup(\n self,\n vault_base_url: str,\n azure_storage_blob_container_uri: Optional[\"models.SASTokenParameter\"] = None,\n **kwargs\n) -\u003e AsyncLROPoller[\"models.FullBackupOperation\"]:\n", + "doc": "\"\"\"Creates a full backup using a user-provided SAS token to an Azure blob storage container.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param azure_storage_blob_container_uri: Azure blob shared access signature token pointing to a\n valid Azure blob container where full backup needs to be stored. This token needs to be valid\n for at least next 24 hours from the time of making this call.\n:type azure_storage_blob_container_uri: ~azure.keyvault.v7_2.models.SASTokenParameter\n:keyword callable cls: A custom type or function that will be passed the direct response\n:keyword str continuation_token: A continuation token to restart a poller from a saved state.\n:keyword polling: True for ARMPolling, False for no polling, or a\n polling object for personal polling strategy\n:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod\n:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.\n:return: An instance of AsyncLROPoller that returns either FullBackupOperation or the result of cls(response)\n:rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.FullBackupOperation]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"" + }, + "call": "vault_base_url, azure_storage_blob_container_uri" + }, + "full_backup_status" : { + "sync": { + "signature": "def full_backup_status(\n self,\n vault_base_url, # type: str\n job_id, # type: str\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Returns the status of full backup operation.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param job_id: The id returned as part of the backup request.\n:type job_id: str\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: FullBackupOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.FullBackupOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def full_backup_status(\n self,\n vault_base_url: str,\n job_id: str,\n **kwargs\n) -\u003e \"models.FullBackupOperation\":\n", + "doc": "\"\"\"Returns the status of full backup operation.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param job_id: The id returned as part of the backup request.\n:type job_id: str\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: FullBackupOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.FullBackupOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "vault_base_url, job_id" + }, + "_full_restore_operation_initial" : { + "sync": { + "signature": "def _full_restore_operation_initial(\n self,\n vault_base_url, # type: str\n restore_blob_details=None, # type: Optional[\"models.RestoreOperationParameters\"]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous\n successful full backup was stored.\n:type restore_blob_details: ~azure.keyvault.v7_2.models.RestoreOperationParameters\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: RestoreOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.RestoreOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def _full_restore_operation_initial(\n self,\n vault_base_url: str,\n restore_blob_details: Optional[\"models.RestoreOperationParameters\"] = None,\n **kwargs\n) -\u003e \"models.RestoreOperation\":\n", + "doc": "\"\"\"\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous\n successful full backup was stored.\n:type restore_blob_details: ~azure.keyvault.v7_2.models.RestoreOperationParameters\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: RestoreOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.RestoreOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "vault_base_url, restore_blob_details" + }, + "begin_full_restore_operation" : { + "sync": { + "signature": "def begin_full_restore_operation(\n self,\n vault_base_url, # type: str\n restore_blob_details=None, # type: Optional[\"models.RestoreOperationParameters\"]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Restores all key materials using the SAS token pointing to a previously stored Azure Blob\nstorage backup folder.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous\n successful full backup was stored.\n:type restore_blob_details: ~azure.keyvault.v7_2.models.RestoreOperationParameters\n:keyword callable cls: A custom type or function that will be passed the direct response\n:keyword str continuation_token: A continuation token to restart a poller from a saved state.\n:keyword polling: True for ARMPolling, False for no polling, or a\n polling object for personal polling strategy\n:paramtype polling: bool or ~azure.core.polling.PollingMethod\n:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.\n:return: An instance of LROPoller that returns either RestoreOperation or the result of cls(response)\n:rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.RestoreOperation]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def begin_full_restore_operation(\n self,\n vault_base_url: str,\n restore_blob_details: Optional[\"models.RestoreOperationParameters\"] = None,\n **kwargs\n) -\u003e AsyncLROPoller[\"models.RestoreOperation\"]:\n", + "doc": "\"\"\"Restores all key materials using the SAS token pointing to a previously stored Azure Blob\nstorage backup folder.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous\n successful full backup was stored.\n:type restore_blob_details: ~azure.keyvault.v7_2.models.RestoreOperationParameters\n:keyword callable cls: A custom type or function that will be passed the direct response\n:keyword str continuation_token: A continuation token to restart a poller from a saved state.\n:keyword polling: True for ARMPolling, False for no polling, or a\n polling object for personal polling strategy\n:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod\n:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.\n:return: An instance of AsyncLROPoller that returns either RestoreOperation or the result of cls(response)\n:rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.RestoreOperation]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"" + }, + "call": "vault_base_url, restore_blob_details" + }, + "restore_status" : { + "sync": { + "signature": "def restore_status(\n self,\n vault_base_url, # type: str\n job_id, # type: str\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Returns the status of restore operation.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param job_id: The Job Id returned part of the restore operation.\n:type job_id: str\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: RestoreOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.RestoreOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def restore_status(\n self,\n vault_base_url: str,\n job_id: str,\n **kwargs\n) -\u003e \"models.RestoreOperation\":\n", + "doc": "\"\"\"Returns the status of restore operation.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param job_id: The Job Id returned part of the restore operation.\n:type job_id: str\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: RestoreOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.RestoreOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "vault_base_url, job_id" + }, + "_selective_key_restore_operation_initial" : { + "sync": { + "signature": "def _selective_key_restore_operation_initial(\n self,\n vault_base_url, # type: str\n key_name, # type: str\n restore_blob_details=None, # type: Optional[\"models.SelectiveKeyRestoreOperationParameters\"]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param key_name: The name of the key to be restored from the user supplied backup.\n:type key_name: str\n:param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous\n successful full backup was stored.\n:type restore_blob_details: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperationParameters\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: SelectiveKeyRestoreOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def _selective_key_restore_operation_initial(\n self,\n vault_base_url: str,\n key_name: str,\n restore_blob_details: Optional[\"models.SelectiveKeyRestoreOperationParameters\"] = None,\n **kwargs\n) -\u003e \"models.SelectiveKeyRestoreOperation\":\n", + "doc": "\"\"\"\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param key_name: The name of the key to be restored from the user supplied backup.\n:type key_name: str\n:param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous\n successful full backup was stored.\n:type restore_blob_details: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperationParameters\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: SelectiveKeyRestoreOperation, or the result of cls(response)\n:rtype: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperation\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "vault_base_url, key_name, restore_blob_details" + }, + "begin_selective_key_restore_operation" : { + "sync": { + "signature": "def begin_selective_key_restore_operation(\n self,\n vault_base_url, # type: str\n key_name, # type: str\n restore_blob_details=None, # type: Optional[\"models.SelectiveKeyRestoreOperationParameters\"]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Restores all key versions of a given key using user supplied SAS token pointing to a previously\nstored Azure Blob storage backup folder.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param key_name: The name of the key to be restored from the user supplied backup.\n:type key_name: str\n:param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous\n successful full backup was stored.\n:type restore_blob_details: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperationParameters\n:keyword callable cls: A custom type or function that will be passed the direct response\n:keyword str continuation_token: A continuation token to restart a poller from a saved state.\n:keyword polling: True for ARMPolling, False for no polling, or a\n polling object for personal polling strategy\n:paramtype polling: bool or ~azure.core.polling.PollingMethod\n:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.\n:return: An instance of LROPoller that returns either SelectiveKeyRestoreOperation or the result of cls(response)\n:rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperation]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def begin_selective_key_restore_operation(\n self,\n vault_base_url: str,\n key_name: str,\n restore_blob_details: Optional[\"models.SelectiveKeyRestoreOperationParameters\"] = None,\n **kwargs\n) -\u003e AsyncLROPoller[\"models.SelectiveKeyRestoreOperation\"]:\n", + "doc": "\"\"\"Restores all key versions of a given key using user supplied SAS token pointing to a previously\nstored Azure Blob storage backup folder.\n\n:param vault_base_url: The vault name, for example https://myvault.vault.azure.net.\n:type vault_base_url: str\n:param key_name: The name of the key to be restored from the user supplied backup.\n:type key_name: str\n:param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous\n successful full backup was stored.\n:type restore_blob_details: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperationParameters\n:keyword callable cls: A custom type or function that will be passed the direct response\n:keyword str continuation_token: A continuation token to restart a poller from a saved state.\n:keyword polling: True for ARMPolling, False for no polling, or a\n polling object for personal polling strategy\n:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod\n:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.\n:return: An instance of AsyncLROPoller that returns either SelectiveKeyRestoreOperation or the result of cls(response)\n:rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperation]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"" + }, + "call": "vault_base_url, key_name, restore_blob_details" + } + }, + "sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"], \"azure.core.polling\": [\"LROPoller\", \"NoPolling\", \"PollingMethod\"], \"azure.core.polling.base_polling\": [\"LROBasePolling\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"Optional\", \"TypeVar\", \"Union\"]}}}", + "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"], \"azure.core.polling\": [\"AsyncLROPoller\", \"AsyncNoPolling\", \"AsyncPollingMethod\"], \"azure.core.polling.async_base_polling\": [\"AsyncLROBasePolling\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"Optional\", \"TypeVar\", \"Union\"]}}}" +} \ No newline at end of file diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/__init__.py new file mode 100644 index 000000000000..71ceadebe430 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._key_vault_client_async import KeyVaultClient +__all__ = ['KeyVaultClient'] diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/_configuration_async.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/_configuration_async.py new file mode 100644 index 000000000000..5abffe30345d --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/_configuration_async.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class KeyVaultClientConfiguration(Configuration): + """Configuration for KeyVaultClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + """ + + def __init__( + self, + **kwargs: Any + ) -> None: + super(KeyVaultClientConfiguration, self).__init__(**kwargs) + + self.api_version = "7.2-preview" + kwargs.setdefault('sdk_moniker', 'keyvault/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/_key_vault_client_async.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/_key_vault_client_async.py new file mode 100644 index 000000000000..9b3ec815b8e8 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/_key_vault_client_async.py @@ -0,0 +1,56 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import KeyVaultClientConfiguration +from .operations_async import KeyVaultClientOperationsMixin +from .operations_async import RoleDefinitionsOperations +from .operations_async import RoleAssignmentsOperations +from .. import models + + +class KeyVaultClient(KeyVaultClientOperationsMixin): + """The key vault client performs cryptographic key operations and vault operations against the Key Vault service. + + :ivar role_definitions: RoleDefinitionsOperations operations + :vartype role_definitions: azure.keyvault.v7_2.aio.operations_async.RoleDefinitionsOperations + :ivar role_assignments: RoleAssignmentsOperations operations + :vartype role_assignments: azure.keyvault.v7_2.aio.operations_async.RoleAssignmentsOperations + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + **kwargs: Any + ) -> None: + base_url = '{vaultBaseUrl}' + self._config = KeyVaultClientConfiguration(**kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.role_definitions = RoleDefinitionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.role_assignments = RoleAssignmentsOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "KeyVaultClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/__init__.py new file mode 100644 index 000000000000..1934ebc06adf --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._key_vault_client_operations_async import KeyVaultClientOperationsMixin +from ._role_definitions_operations_async import RoleDefinitionsOperations +from ._role_assignments_operations_async import RoleAssignmentsOperations + +__all__ = [ + 'KeyVaultClientOperationsMixin', + 'RoleDefinitionsOperations', + 'RoleAssignmentsOperations', +] diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_key_vault_client_operations_async.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_key_vault_client_operations_async.py new file mode 100644 index 000000000000..2aa256e4d1b0 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_key_vault_client_operations_async.py @@ -0,0 +1,504 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.polling.async_base_polling import AsyncLROBasePolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class KeyVaultClientOperationsMixin: + + async def _full_backup_initial( + self, + vault_base_url: str, + azure_storage_blob_container_uri: Optional["models.SASTokenParameter"] = None, + **kwargs + ) -> "models.FullBackupOperation": + cls = kwargs.pop('cls', None) # type: ClsType["models.FullBackupOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._full_backup_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if azure_storage_blob_container_uri is not None: + body_content = self._serialize.body(azure_storage_blob_container_uri, 'SASTokenParameter') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('FullBackupOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _full_backup_initial.metadata = {'url': '/backup'} # type: ignore + + async def begin_full_backup( + self, + vault_base_url: str, + azure_storage_blob_container_uri: Optional["models.SASTokenParameter"] = None, + **kwargs + ) -> AsyncLROPoller["models.FullBackupOperation"]: + """Creates a full backup using a user-provided SAS token to an Azure blob storage container. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param azure_storage_blob_container_uri: Azure blob shared access signature token pointing to a + valid Azure blob container where full backup needs to be stored. This token needs to be valid + for at least next 24 hours from the time of making this call. + :type azure_storage_blob_container_uri: ~azure.keyvault.v7_2.models.SASTokenParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FullBackupOperation or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.FullBackupOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.FullBackupOperation"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._full_backup_initial( + vault_base_url=vault_base_url, + azure_storage_blob_container_uri=azure_storage_blob_container_uri, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('FullBackupOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + return deserialized + + if polling is True: polling_method = AsyncLROBasePolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_full_backup.metadata = {'url': '/backup'} # type: ignore + + async def full_backup_status( + self, + vault_base_url: str, + job_id: str, + **kwargs + ) -> "models.FullBackupOperation": + """Returns the status of full backup operation. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param job_id: The id returned as part of the backup request. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FullBackupOperation, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.FullBackupOperation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FullBackupOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + # Construct URL + url = self.full_backup_status.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('FullBackupOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + full_backup_status.metadata = {'url': '/backup/{jobId}/pending'} # type: ignore + + async def _full_restore_operation_initial( + self, + vault_base_url: str, + restore_blob_details: Optional["models.RestoreOperationParameters"] = None, + **kwargs + ) -> "models.RestoreOperation": + cls = kwargs.pop('cls', None) # type: ClsType["models.RestoreOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._full_restore_operation_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if restore_blob_details is not None: + body_content = self._serialize.body(restore_blob_details, 'RestoreOperationParameters') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('RestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _full_restore_operation_initial.metadata = {'url': '/restore'} # type: ignore + + async def begin_full_restore_operation( + self, + vault_base_url: str, + restore_blob_details: Optional["models.RestoreOperationParameters"] = None, + **kwargs + ) -> AsyncLROPoller["models.RestoreOperation"]: + """Restores all key materials using the SAS token pointing to a previously stored Azure Blob + storage backup folder. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous + successful full backup was stored. + :type restore_blob_details: ~azure.keyvault.v7_2.models.RestoreOperationParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either RestoreOperation or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.RestoreOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.RestoreOperation"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._full_restore_operation_initial( + vault_base_url=vault_base_url, + restore_blob_details=restore_blob_details, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('RestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + return deserialized + + if polling is True: polling_method = AsyncLROBasePolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_full_restore_operation.metadata = {'url': '/restore'} # type: ignore + + async def restore_status( + self, + vault_base_url: str, + job_id: str, + **kwargs + ) -> "models.RestoreOperation": + """Returns the status of restore operation. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param job_id: The Job Id returned part of the restore operation. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RestoreOperation, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RestoreOperation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RestoreOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + # Construct URL + url = self.restore_status.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + restore_status.metadata = {'url': '/restore/{jobId}/pending'} # type: ignore + + async def _selective_key_restore_operation_initial( + self, + vault_base_url: str, + key_name: str, + restore_blob_details: Optional["models.SelectiveKeyRestoreOperationParameters"] = None, + **kwargs + ) -> "models.SelectiveKeyRestoreOperation": + cls = kwargs.pop('cls', None) # type: ClsType["models.SelectiveKeyRestoreOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._selective_key_restore_operation_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'keyName': self._serialize.url("key_name", key_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if restore_blob_details is not None: + body_content = self._serialize.body(restore_blob_details, 'SelectiveKeyRestoreOperationParameters') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('SelectiveKeyRestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _selective_key_restore_operation_initial.metadata = {'url': '/keys/{keyName}/restore'} # type: ignore + + async def begin_selective_key_restore_operation( + self, + vault_base_url: str, + key_name: str, + restore_blob_details: Optional["models.SelectiveKeyRestoreOperationParameters"] = None, + **kwargs + ) -> AsyncLROPoller["models.SelectiveKeyRestoreOperation"]: + """Restores all key versions of a given key using user supplied SAS token pointing to a previously + stored Azure Blob storage backup folder. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param key_name: The name of the key to be restored from the user supplied backup. + :type key_name: str + :param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous + successful full backup was stored. + :type restore_blob_details: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperationParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SelectiveKeyRestoreOperation or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SelectiveKeyRestoreOperation"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._selective_key_restore_operation_initial( + vault_base_url=vault_base_url, + key_name=key_name, + restore_blob_details=restore_blob_details, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('SelectiveKeyRestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + return deserialized + + if polling is True: polling_method = AsyncLROBasePolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_selective_key_restore_operation.metadata = {'url': '/keys/{keyName}/restore'} # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_role_assignments_operations_async.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_role_assignments_operations_async.py new file mode 100644 index 000000000000..156ca54342fa --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_role_assignments_operations_async.py @@ -0,0 +1,311 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RoleAssignmentsOperations: + """RoleAssignmentsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.keyvault.v7_2.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def delete( + self, + vault_base_url: str, + scope: str, + role_assignment_name: str, + **kwargs + ) -> "models.RoleAssignment": + """Deletes a role assignment. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role assignment to delete. + :type scope: str + :param role_assignment_name: The name of the role assignment to delete. + :type role_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RoleAssignment, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RoleAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleAssignment"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'roleAssignmentName': self._serialize.url("role_assignment_name", role_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RoleAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + delete.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}'} # type: ignore + + async def create( + self, + vault_base_url: str, + scope: str, + role_assignment_name: str, + parameters: "models.RoleAssignmentCreateParameters", + **kwargs + ) -> "models.RoleAssignment": + """Creates a role assignment. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role assignment to create. + :type scope: str + :param role_assignment_name: The name of the role assignment to create. It can be any valid + GUID. + :type role_assignment_name: str + :param parameters: Parameters for the role assignment. + :type parameters: ~azure.keyvault.v7_2.models.RoleAssignmentCreateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RoleAssignment, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RoleAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleAssignment"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'roleAssignmentName': self._serialize.url("role_assignment_name", role_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'RoleAssignmentCreateParameters') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RoleAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}'} # type: ignore + + async def get( + self, + vault_base_url: str, + scope: str, + role_assignment_name: str, + **kwargs + ) -> "models.RoleAssignment": + """Get the specified role assignment. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role assignment. + :type scope: str + :param role_assignment_name: The name of the role assignment to get. + :type role_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RoleAssignment, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RoleAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleAssignment"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'roleAssignmentName': self._serialize.url("role_assignment_name", role_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RoleAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}'} # type: ignore + + def list_for_scope( + self, + vault_base_url: str, + scope: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.RoleAssignmentListResult"]: + """Gets role assignments for a scope. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role assignments. + :type scope: str + :param filter: The filter to apply on the operation. Use $filter=atScope() to return all role + assignments at or above the scope. Use $filter=principalId eq {id} to return all role + assignments at, above or below the scope for the specified principal. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RoleAssignmentListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.keyvault.v7_2.models.RoleAssignmentListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleAssignmentListResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list_for_scope.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RoleAssignmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.KeyVaultError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_for_scope.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleAssignments'} # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_role_definitions_operations_async.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_role_definitions_operations_async.py new file mode 100644 index 000000000000..2fa72d1ca4d5 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/aio/operations_async/_role_definitions_operations_async.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RoleDefinitionsOperations: + """RoleDefinitionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.keyvault.v7_2.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + vault_base_url: str, + scope: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.RoleDefinitionListResult"]: + """Get all role definitions that are applicable at scope and above. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role definition. + :type scope: str + :param filter: The filter to apply on the operation. Use atScopeAndBelow filter to search below + the given scope as well. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RoleDefinitionListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.keyvault.v7_2.models.RoleDefinitionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleDefinitionListResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RoleDefinitionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.KeyVaultError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleDefinitions'} # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/__init__.py new file mode 100644 index 000000000000..cbd7e3697d36 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/__init__.py @@ -0,0 +1,70 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import Attributes + from ._models_py3 import Error + from ._models_py3 import FullBackupOperation + from ._models_py3 import KeyVaultError + from ._models_py3 import Permission + from ._models_py3 import RestoreOperation + from ._models_py3 import RestoreOperationParameters + from ._models_py3 import RoleAssignment + from ._models_py3 import RoleAssignmentCreateParameters + from ._models_py3 import RoleAssignmentFilter + from ._models_py3 import RoleAssignmentListResult + from ._models_py3 import RoleAssignmentProperties + from ._models_py3 import RoleAssignmentPropertiesWithScope + from ._models_py3 import RoleDefinition + from ._models_py3 import RoleDefinitionFilter + from ._models_py3 import RoleDefinitionListResult + from ._models_py3 import SASTokenParameter + from ._models_py3 import SelectiveKeyRestoreOperation + from ._models_py3 import SelectiveKeyRestoreOperationParameters +except (SyntaxError, ImportError): + from ._models import Attributes # type: ignore + from ._models import Error # type: ignore + from ._models import FullBackupOperation # type: ignore + from ._models import KeyVaultError # type: ignore + from ._models import Permission # type: ignore + from ._models import RestoreOperation # type: ignore + from ._models import RestoreOperationParameters # type: ignore + from ._models import RoleAssignment # type: ignore + from ._models import RoleAssignmentCreateParameters # type: ignore + from ._models import RoleAssignmentFilter # type: ignore + from ._models import RoleAssignmentListResult # type: ignore + from ._models import RoleAssignmentProperties # type: ignore + from ._models import RoleAssignmentPropertiesWithScope # type: ignore + from ._models import RoleDefinition # type: ignore + from ._models import RoleDefinitionFilter # type: ignore + from ._models import RoleDefinitionListResult # type: ignore + from ._models import SASTokenParameter # type: ignore + from ._models import SelectiveKeyRestoreOperation # type: ignore + from ._models import SelectiveKeyRestoreOperationParameters # type: ignore + +__all__ = [ + 'Attributes', + 'Error', + 'FullBackupOperation', + 'KeyVaultError', + 'Permission', + 'RestoreOperation', + 'RestoreOperationParameters', + 'RoleAssignment', + 'RoleAssignmentCreateParameters', + 'RoleAssignmentFilter', + 'RoleAssignmentListResult', + 'RoleAssignmentProperties', + 'RoleAssignmentPropertiesWithScope', + 'RoleDefinition', + 'RoleDefinitionFilter', + 'RoleDefinitionListResult', + 'SASTokenParameter', + 'SelectiveKeyRestoreOperation', + 'SelectiveKeyRestoreOperationParameters', +] diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/_models.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/_models.py new file mode 100644 index 000000000000..99da7b8a82c3 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/_models.py @@ -0,0 +1,618 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class Attributes(msrest.serialization.Model): + """The object attributes managed by the KeyVault service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param enabled: Determines whether the object is enabled. + :type enabled: bool + :param not_before: Not before date in UTC. + :type not_before: ~datetime.datetime + :param expires: Expiry date in UTC. + :type expires: ~datetime.datetime + :ivar created: Creation time in UTC. + :vartype created: ~datetime.datetime + :ivar updated: Last updated time in UTC. + :vartype updated: ~datetime.datetime + """ + + _validation = { + 'created': {'readonly': True}, + 'updated': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'not_before': {'key': 'nbf', 'type': 'unix-time'}, + 'expires': {'key': 'exp', 'type': 'unix-time'}, + 'created': {'key': 'created', 'type': 'unix-time'}, + 'updated': {'key': 'updated', 'type': 'unix-time'}, + } + + def __init__( + self, + **kwargs + ): + super(Attributes, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.not_before = kwargs.get('not_before', None) + self.expires = kwargs.get('expires', None) + self.created = None + self.updated = None + + +class Error(msrest.serialization.Model): + """The key vault server error. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar inner_error: The key vault server error. + :vartype inner_error: ~azure.keyvault.v7_2.models.Error + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'inner_error': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'inner_error': {'key': 'innererror', 'type': 'Error'}, + } + + def __init__( + self, + **kwargs + ): + super(Error, self).__init__(**kwargs) + self.code = None + self.message = None + self.inner_error = None + + +class FullBackupOperation(msrest.serialization.Model): + """Full backup operation. + + :param status: Status of the backup operation. + :type status: str + :param status_details: The status details of backup operation. + :type status_details: str + :param error: Error encountered, if any, during the full backup operation. + :type error: ~azure.keyvault.v7_2.models.Error + :param start_time: The start time of the backup operation in UTC. + :type start_time: ~datetime.datetime + :param end_time: The end time of the backup operation in UTC. + :type end_time: ~datetime.datetime + :param job_id: Identifier for the full backup operation. + :type job_id: str + :param azure_storage_blob_container_uri: The Azure blob storage container Uri which contains + the full backup. + :type azure_storage_blob_container_uri: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'status_details': {'key': 'statusDetails', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'start_time': {'key': 'startTime', 'type': 'unix-time'}, + 'end_time': {'key': 'endTime', 'type': 'unix-time'}, + 'job_id': {'key': 'jobId', 'type': 'str'}, + 'azure_storage_blob_container_uri': {'key': 'azureStorageBlobContainerUri', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FullBackupOperation, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.status_details = kwargs.get('status_details', None) + self.error = kwargs.get('error', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.job_id = kwargs.get('job_id', None) + self.azure_storage_blob_container_uri = kwargs.get('azure_storage_blob_container_uri', None) + + +class KeyVaultError(msrest.serialization.Model): + """The key vault error exception. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: The key vault server error. + :vartype error: ~azure.keyvault.v7_2.models.Error + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultError, self).__init__(**kwargs) + self.error = None + + +class Permission(msrest.serialization.Model): + """Role definition permissions. + + :param actions: Allowed actions. + :type actions: list[str] + :param not_actions: Denied actions. + :type not_actions: list[str] + :param data_actions: Allowed Data actions. + :type data_actions: list[str] + :param not_data_actions: Denied Data actions. + :type not_data_actions: list[str] + """ + + _attribute_map = { + 'actions': {'key': 'actions', 'type': '[str]'}, + 'not_actions': {'key': 'notActions', 'type': '[str]'}, + 'data_actions': {'key': 'dataActions', 'type': '[str]'}, + 'not_data_actions': {'key': 'notDataActions', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(Permission, self).__init__(**kwargs) + self.actions = kwargs.get('actions', None) + self.not_actions = kwargs.get('not_actions', None) + self.data_actions = kwargs.get('data_actions', None) + self.not_data_actions = kwargs.get('not_data_actions', None) + + +class RestoreOperation(msrest.serialization.Model): + """Restore operation. + + :param status: Status of the restore operation. + :type status: str + :param status_details: The status details of restore operation. + :type status_details: str + :param error: Error encountered, if any, during the restore operation. + :type error: ~azure.keyvault.v7_2.models.Error + :param job_id: Identifier for the restore operation. + :type job_id: str + :param start_time: The start time of the restore operation. + :type start_time: ~datetime.datetime + :param end_time: The end time of the restore operation. + :type end_time: ~datetime.datetime + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'status_details': {'key': 'statusDetails', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'job_id': {'key': 'jobId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'unix-time'}, + 'end_time': {'key': 'endTime', 'type': 'unix-time'}, + } + + def __init__( + self, + **kwargs + ): + super(RestoreOperation, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.status_details = kwargs.get('status_details', None) + self.error = kwargs.get('error', None) + self.job_id = kwargs.get('job_id', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + + +class RestoreOperationParameters(msrest.serialization.Model): + """RestoreOperationParameters. + + All required parameters must be populated in order to send to Azure. + + :param sas_token_parameters: Required. + :type sas_token_parameters: ~azure.keyvault.v7_2.models.SASTokenParameter + :param folder_to_restore: Required. The Folder name of the blob where the previous successful + full backup was stored. + :type folder_to_restore: str + """ + + _validation = { + 'sas_token_parameters': {'required': True}, + 'folder_to_restore': {'required': True}, + } + + _attribute_map = { + 'sas_token_parameters': {'key': 'sasTokenParameters', 'type': 'SASTokenParameter'}, + 'folder_to_restore': {'key': 'folderToRestore', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RestoreOperationParameters, self).__init__(**kwargs) + self.sas_token_parameters = kwargs['sas_token_parameters'] + self.folder_to_restore = kwargs['folder_to_restore'] + + +class RoleAssignment(msrest.serialization.Model): + """Role Assignments. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The role assignment ID. + :vartype id: str + :ivar name: The role assignment name. + :vartype name: str + :ivar type: The role assignment type. + :vartype type: str + :param properties: Role assignment properties. + :type properties: ~azure.keyvault.v7_2.models.RoleAssignmentPropertiesWithScope + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'RoleAssignmentPropertiesWithScope'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleAssignment, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = kwargs.get('properties', None) + + +class RoleAssignmentCreateParameters(msrest.serialization.Model): + """Role assignment create parameters. + + All required parameters must be populated in order to send to Azure. + + :param properties: Required. Role assignment properties. + :type properties: ~azure.keyvault.v7_2.models.RoleAssignmentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'RoleAssignmentProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleAssignmentCreateParameters, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class RoleAssignmentFilter(msrest.serialization.Model): + """Role Assignments filter. + + :param principal_id: Returns role assignment of the specific principal. + :type principal_id: str + """ + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleAssignmentFilter, self).__init__(**kwargs) + self.principal_id = kwargs.get('principal_id', None) + + +class RoleAssignmentListResult(msrest.serialization.Model): + """Role assignment list operation result. + + :param value: Role assignment list. + :type value: list[~azure.keyvault.v7_2.models.RoleAssignment] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RoleAssignment]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleAssignmentListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class RoleAssignmentProperties(msrest.serialization.Model): + """Role assignment properties. + + All required parameters must be populated in order to send to Azure. + + :param role_definition_id: Required. The role definition ID used in the role assignment. + :type role_definition_id: str + :param principal_id: Required. The principal ID assigned to the role. This maps to the ID + inside the Active Directory. It can point to a user, service principal, or security group. + :type principal_id: str + """ + + _validation = { + 'role_definition_id': {'required': True}, + 'principal_id': {'required': True}, + } + + _attribute_map = { + 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleAssignmentProperties, self).__init__(**kwargs) + self.role_definition_id = kwargs['role_definition_id'] + self.principal_id = kwargs['principal_id'] + + +class RoleAssignmentPropertiesWithScope(msrest.serialization.Model): + """Role assignment properties with scope. + + :param scope: The role assignment scope. + :type scope: str + :param role_definition_id: The role definition ID. + :type role_definition_id: str + :param principal_id: The principal ID. + :type principal_id: str + """ + + _attribute_map = { + 'scope': {'key': 'scope', 'type': 'str'}, + 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleAssignmentPropertiesWithScope, self).__init__(**kwargs) + self.scope = kwargs.get('scope', None) + self.role_definition_id = kwargs.get('role_definition_id', None) + self.principal_id = kwargs.get('principal_id', None) + + +class RoleDefinition(msrest.serialization.Model): + """Role definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The role definition ID. + :vartype id: str + :ivar name: The role definition name. + :vartype name: str + :ivar type: The role definition type. + :vartype type: str + :param role_name: The role name. + :type role_name: str + :param description: The role definition description. + :type description: str + :param role_type: The role type. + :type role_type: str + :param permissions: Role definition permissions. + :type permissions: list[~azure.keyvault.v7_2.models.Permission] + :param assignable_scopes: Role definition assignable scopes. + :type assignable_scopes: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'role_name': {'key': 'properties.roleName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'role_type': {'key': 'properties.type', 'type': 'str'}, + 'permissions': {'key': 'properties.permissions', 'type': '[Permission]'}, + 'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleDefinition, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.role_name = kwargs.get('role_name', None) + self.description = kwargs.get('description', None) + self.role_type = kwargs.get('role_type', None) + self.permissions = kwargs.get('permissions', None) + self.assignable_scopes = kwargs.get('assignable_scopes', None) + + +class RoleDefinitionFilter(msrest.serialization.Model): + """Role Definitions filter. + + :param role_name: Returns role definition with the specific name. + :type role_name: str + """ + + _attribute_map = { + 'role_name': {'key': 'roleName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleDefinitionFilter, self).__init__(**kwargs) + self.role_name = kwargs.get('role_name', None) + + +class RoleDefinitionListResult(msrest.serialization.Model): + """Role definition list operation result. + + :param value: Role definition list. + :type value: list[~azure.keyvault.v7_2.models.RoleDefinition] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RoleDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RoleDefinitionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class SASTokenParameter(msrest.serialization.Model): + """SASTokenParameter. + + All required parameters must be populated in order to send to Azure. + + :param storage_resource_uri: Required. Azure Blob storage container Uri. + :type storage_resource_uri: str + :param token: Required. The SAS token pointing to an Azure Blob storage container. + :type token: str + """ + + _validation = { + 'storage_resource_uri': {'required': True}, + 'token': {'required': True}, + } + + _attribute_map = { + 'storage_resource_uri': {'key': 'storageResourceUri', 'type': 'str'}, + 'token': {'key': 'token', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SASTokenParameter, self).__init__(**kwargs) + self.storage_resource_uri = kwargs['storage_resource_uri'] + self.token = kwargs['token'] + + +class SelectiveKeyRestoreOperation(msrest.serialization.Model): + """Selective Key Restore operation. + + :param status: Status of the restore operation. + :type status: str + :param status_details: The status details of restore operation. + :type status_details: str + :param error: Error encountered, if any, during the selective key restore operation. + :type error: ~azure.keyvault.v7_2.models.Error + :param job_id: Identifier for the selective key restore operation. + :type job_id: str + :param start_time: The start time of the restore operation. + :type start_time: ~datetime.datetime + :param end_time: The end time of the restore operation. + :type end_time: ~datetime.datetime + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'status_details': {'key': 'statusDetails', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'job_id': {'key': 'jobId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'unix-time'}, + 'end_time': {'key': 'endTime', 'type': 'unix-time'}, + } + + def __init__( + self, + **kwargs + ): + super(SelectiveKeyRestoreOperation, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.status_details = kwargs.get('status_details', None) + self.error = kwargs.get('error', None) + self.job_id = kwargs.get('job_id', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + + +class SelectiveKeyRestoreOperationParameters(msrest.serialization.Model): + """SelectiveKeyRestoreOperationParameters. + + All required parameters must be populated in order to send to Azure. + + :param sas_token_parameters: Required. + :type sas_token_parameters: ~azure.keyvault.v7_2.models.SASTokenParameter + :param folder: Required. The Folder name of the blob where the previous successful full backup + was stored. + :type folder: str + """ + + _validation = { + 'sas_token_parameters': {'required': True}, + 'folder': {'required': True}, + } + + _attribute_map = { + 'sas_token_parameters': {'key': 'sasTokenParameters', 'type': 'SASTokenParameter'}, + 'folder': {'key': 'folder', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SelectiveKeyRestoreOperationParameters, self).__init__(**kwargs) + self.sas_token_parameters = kwargs['sas_token_parameters'] + self.folder = kwargs['folder'] diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/_models_py3.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/_models_py3.py new file mode 100644 index 000000000000..dab1cd313c38 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/models/_models_py3.py @@ -0,0 +1,688 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import List, Optional + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class Attributes(msrest.serialization.Model): + """The object attributes managed by the KeyVault service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param enabled: Determines whether the object is enabled. + :type enabled: bool + :param not_before: Not before date in UTC. + :type not_before: ~datetime.datetime + :param expires: Expiry date in UTC. + :type expires: ~datetime.datetime + :ivar created: Creation time in UTC. + :vartype created: ~datetime.datetime + :ivar updated: Last updated time in UTC. + :vartype updated: ~datetime.datetime + """ + + _validation = { + 'created': {'readonly': True}, + 'updated': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'not_before': {'key': 'nbf', 'type': 'unix-time'}, + 'expires': {'key': 'exp', 'type': 'unix-time'}, + 'created': {'key': 'created', 'type': 'unix-time'}, + 'updated': {'key': 'updated', 'type': 'unix-time'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + not_before: Optional[datetime.datetime] = None, + expires: Optional[datetime.datetime] = None, + **kwargs + ): + super(Attributes, self).__init__(**kwargs) + self.enabled = enabled + self.not_before = not_before + self.expires = expires + self.created = None + self.updated = None + + +class Error(msrest.serialization.Model): + """The key vault server error. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar inner_error: The key vault server error. + :vartype inner_error: ~azure.keyvault.v7_2.models.Error + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'inner_error': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'inner_error': {'key': 'innererror', 'type': 'Error'}, + } + + def __init__( + self, + **kwargs + ): + super(Error, self).__init__(**kwargs) + self.code = None + self.message = None + self.inner_error = None + + +class FullBackupOperation(msrest.serialization.Model): + """Full backup operation. + + :param status: Status of the backup operation. + :type status: str + :param status_details: The status details of backup operation. + :type status_details: str + :param error: Error encountered, if any, during the full backup operation. + :type error: ~azure.keyvault.v7_2.models.Error + :param start_time: The start time of the backup operation in UTC. + :type start_time: ~datetime.datetime + :param end_time: The end time of the backup operation in UTC. + :type end_time: ~datetime.datetime + :param job_id: Identifier for the full backup operation. + :type job_id: str + :param azure_storage_blob_container_uri: The Azure blob storage container Uri which contains + the full backup. + :type azure_storage_blob_container_uri: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'status_details': {'key': 'statusDetails', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'start_time': {'key': 'startTime', 'type': 'unix-time'}, + 'end_time': {'key': 'endTime', 'type': 'unix-time'}, + 'job_id': {'key': 'jobId', 'type': 'str'}, + 'azure_storage_blob_container_uri': {'key': 'azureStorageBlobContainerUri', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[str] = None, + status_details: Optional[str] = None, + error: Optional["Error"] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + job_id: Optional[str] = None, + azure_storage_blob_container_uri: Optional[str] = None, + **kwargs + ): + super(FullBackupOperation, self).__init__(**kwargs) + self.status = status + self.status_details = status_details + self.error = error + self.start_time = start_time + self.end_time = end_time + self.job_id = job_id + self.azure_storage_blob_container_uri = azure_storage_blob_container_uri + + +class KeyVaultError(msrest.serialization.Model): + """The key vault error exception. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: The key vault server error. + :vartype error: ~azure.keyvault.v7_2.models.Error + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultError, self).__init__(**kwargs) + self.error = None + + +class Permission(msrest.serialization.Model): + """Role definition permissions. + + :param actions: Allowed actions. + :type actions: list[str] + :param not_actions: Denied actions. + :type not_actions: list[str] + :param data_actions: Allowed Data actions. + :type data_actions: list[str] + :param not_data_actions: Denied Data actions. + :type not_data_actions: list[str] + """ + + _attribute_map = { + 'actions': {'key': 'actions', 'type': '[str]'}, + 'not_actions': {'key': 'notActions', 'type': '[str]'}, + 'data_actions': {'key': 'dataActions', 'type': '[str]'}, + 'not_data_actions': {'key': 'notDataActions', 'type': '[str]'}, + } + + def __init__( + self, + *, + actions: Optional[List[str]] = None, + not_actions: Optional[List[str]] = None, + data_actions: Optional[List[str]] = None, + not_data_actions: Optional[List[str]] = None, + **kwargs + ): + super(Permission, self).__init__(**kwargs) + self.actions = actions + self.not_actions = not_actions + self.data_actions = data_actions + self.not_data_actions = not_data_actions + + +class RestoreOperation(msrest.serialization.Model): + """Restore operation. + + :param status: Status of the restore operation. + :type status: str + :param status_details: The status details of restore operation. + :type status_details: str + :param error: Error encountered, if any, during the restore operation. + :type error: ~azure.keyvault.v7_2.models.Error + :param job_id: Identifier for the restore operation. + :type job_id: str + :param start_time: The start time of the restore operation. + :type start_time: ~datetime.datetime + :param end_time: The end time of the restore operation. + :type end_time: ~datetime.datetime + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'status_details': {'key': 'statusDetails', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'job_id': {'key': 'jobId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'unix-time'}, + 'end_time': {'key': 'endTime', 'type': 'unix-time'}, + } + + def __init__( + self, + *, + status: Optional[str] = None, + status_details: Optional[str] = None, + error: Optional["Error"] = None, + job_id: Optional[str] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(RestoreOperation, self).__init__(**kwargs) + self.status = status + self.status_details = status_details + self.error = error + self.job_id = job_id + self.start_time = start_time + self.end_time = end_time + + +class RestoreOperationParameters(msrest.serialization.Model): + """RestoreOperationParameters. + + All required parameters must be populated in order to send to Azure. + + :param sas_token_parameters: Required. + :type sas_token_parameters: ~azure.keyvault.v7_2.models.SASTokenParameter + :param folder_to_restore: Required. The Folder name of the blob where the previous successful + full backup was stored. + :type folder_to_restore: str + """ + + _validation = { + 'sas_token_parameters': {'required': True}, + 'folder_to_restore': {'required': True}, + } + + _attribute_map = { + 'sas_token_parameters': {'key': 'sasTokenParameters', 'type': 'SASTokenParameter'}, + 'folder_to_restore': {'key': 'folderToRestore', 'type': 'str'}, + } + + def __init__( + self, + *, + sas_token_parameters: "SASTokenParameter", + folder_to_restore: str, + **kwargs + ): + super(RestoreOperationParameters, self).__init__(**kwargs) + self.sas_token_parameters = sas_token_parameters + self.folder_to_restore = folder_to_restore + + +class RoleAssignment(msrest.serialization.Model): + """Role Assignments. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The role assignment ID. + :vartype id: str + :ivar name: The role assignment name. + :vartype name: str + :ivar type: The role assignment type. + :vartype type: str + :param properties: Role assignment properties. + :type properties: ~azure.keyvault.v7_2.models.RoleAssignmentPropertiesWithScope + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'RoleAssignmentPropertiesWithScope'}, + } + + def __init__( + self, + *, + properties: Optional["RoleAssignmentPropertiesWithScope"] = None, + **kwargs + ): + super(RoleAssignment, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = properties + + +class RoleAssignmentCreateParameters(msrest.serialization.Model): + """Role assignment create parameters. + + All required parameters must be populated in order to send to Azure. + + :param properties: Required. Role assignment properties. + :type properties: ~azure.keyvault.v7_2.models.RoleAssignmentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'RoleAssignmentProperties'}, + } + + def __init__( + self, + *, + properties: "RoleAssignmentProperties", + **kwargs + ): + super(RoleAssignmentCreateParameters, self).__init__(**kwargs) + self.properties = properties + + +class RoleAssignmentFilter(msrest.serialization.Model): + """Role Assignments filter. + + :param principal_id: Returns role assignment of the specific principal. + :type principal_id: str + """ + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__( + self, + *, + principal_id: Optional[str] = None, + **kwargs + ): + super(RoleAssignmentFilter, self).__init__(**kwargs) + self.principal_id = principal_id + + +class RoleAssignmentListResult(msrest.serialization.Model): + """Role assignment list operation result. + + :param value: Role assignment list. + :type value: list[~azure.keyvault.v7_2.models.RoleAssignment] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RoleAssignment]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["RoleAssignment"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(RoleAssignmentListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class RoleAssignmentProperties(msrest.serialization.Model): + """Role assignment properties. + + All required parameters must be populated in order to send to Azure. + + :param role_definition_id: Required. The role definition ID used in the role assignment. + :type role_definition_id: str + :param principal_id: Required. The principal ID assigned to the role. This maps to the ID + inside the Active Directory. It can point to a user, service principal, or security group. + :type principal_id: str + """ + + _validation = { + 'role_definition_id': {'required': True}, + 'principal_id': {'required': True}, + } + + _attribute_map = { + 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__( + self, + *, + role_definition_id: str, + principal_id: str, + **kwargs + ): + super(RoleAssignmentProperties, self).__init__(**kwargs) + self.role_definition_id = role_definition_id + self.principal_id = principal_id + + +class RoleAssignmentPropertiesWithScope(msrest.serialization.Model): + """Role assignment properties with scope. + + :param scope: The role assignment scope. + :type scope: str + :param role_definition_id: The role definition ID. + :type role_definition_id: str + :param principal_id: The principal ID. + :type principal_id: str + """ + + _attribute_map = { + 'scope': {'key': 'scope', 'type': 'str'}, + 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[str] = None, + role_definition_id: Optional[str] = None, + principal_id: Optional[str] = None, + **kwargs + ): + super(RoleAssignmentPropertiesWithScope, self).__init__(**kwargs) + self.scope = scope + self.role_definition_id = role_definition_id + self.principal_id = principal_id + + +class RoleDefinition(msrest.serialization.Model): + """Role definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The role definition ID. + :vartype id: str + :ivar name: The role definition name. + :vartype name: str + :ivar type: The role definition type. + :vartype type: str + :param role_name: The role name. + :type role_name: str + :param description: The role definition description. + :type description: str + :param role_type: The role type. + :type role_type: str + :param permissions: Role definition permissions. + :type permissions: list[~azure.keyvault.v7_2.models.Permission] + :param assignable_scopes: Role definition assignable scopes. + :type assignable_scopes: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'role_name': {'key': 'properties.roleName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'role_type': {'key': 'properties.type', 'type': 'str'}, + 'permissions': {'key': 'properties.permissions', 'type': '[Permission]'}, + 'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'}, + } + + def __init__( + self, + *, + role_name: Optional[str] = None, + description: Optional[str] = None, + role_type: Optional[str] = None, + permissions: Optional[List["Permission"]] = None, + assignable_scopes: Optional[List[str]] = None, + **kwargs + ): + super(RoleDefinition, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.role_name = role_name + self.description = description + self.role_type = role_type + self.permissions = permissions + self.assignable_scopes = assignable_scopes + + +class RoleDefinitionFilter(msrest.serialization.Model): + """Role Definitions filter. + + :param role_name: Returns role definition with the specific name. + :type role_name: str + """ + + _attribute_map = { + 'role_name': {'key': 'roleName', 'type': 'str'}, + } + + def __init__( + self, + *, + role_name: Optional[str] = None, + **kwargs + ): + super(RoleDefinitionFilter, self).__init__(**kwargs) + self.role_name = role_name + + +class RoleDefinitionListResult(msrest.serialization.Model): + """Role definition list operation result. + + :param value: Role definition list. + :type value: list[~azure.keyvault.v7_2.models.RoleDefinition] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RoleDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["RoleDefinition"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(RoleDefinitionListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class SASTokenParameter(msrest.serialization.Model): + """SASTokenParameter. + + All required parameters must be populated in order to send to Azure. + + :param storage_resource_uri: Required. Azure Blob storage container Uri. + :type storage_resource_uri: str + :param token: Required. The SAS token pointing to an Azure Blob storage container. + :type token: str + """ + + _validation = { + 'storage_resource_uri': {'required': True}, + 'token': {'required': True}, + } + + _attribute_map = { + 'storage_resource_uri': {'key': 'storageResourceUri', 'type': 'str'}, + 'token': {'key': 'token', 'type': 'str'}, + } + + def __init__( + self, + *, + storage_resource_uri: str, + token: str, + **kwargs + ): + super(SASTokenParameter, self).__init__(**kwargs) + self.storage_resource_uri = storage_resource_uri + self.token = token + + +class SelectiveKeyRestoreOperation(msrest.serialization.Model): + """Selective Key Restore operation. + + :param status: Status of the restore operation. + :type status: str + :param status_details: The status details of restore operation. + :type status_details: str + :param error: Error encountered, if any, during the selective key restore operation. + :type error: ~azure.keyvault.v7_2.models.Error + :param job_id: Identifier for the selective key restore operation. + :type job_id: str + :param start_time: The start time of the restore operation. + :type start_time: ~datetime.datetime + :param end_time: The end time of the restore operation. + :type end_time: ~datetime.datetime + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'status_details': {'key': 'statusDetails', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'job_id': {'key': 'jobId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'unix-time'}, + 'end_time': {'key': 'endTime', 'type': 'unix-time'}, + } + + def __init__( + self, + *, + status: Optional[str] = None, + status_details: Optional[str] = None, + error: Optional["Error"] = None, + job_id: Optional[str] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(SelectiveKeyRestoreOperation, self).__init__(**kwargs) + self.status = status + self.status_details = status_details + self.error = error + self.job_id = job_id + self.start_time = start_time + self.end_time = end_time + + +class SelectiveKeyRestoreOperationParameters(msrest.serialization.Model): + """SelectiveKeyRestoreOperationParameters. + + All required parameters must be populated in order to send to Azure. + + :param sas_token_parameters: Required. + :type sas_token_parameters: ~azure.keyvault.v7_2.models.SASTokenParameter + :param folder: Required. The Folder name of the blob where the previous successful full backup + was stored. + :type folder: str + """ + + _validation = { + 'sas_token_parameters': {'required': True}, + 'folder': {'required': True}, + } + + _attribute_map = { + 'sas_token_parameters': {'key': 'sasTokenParameters', 'type': 'SASTokenParameter'}, + 'folder': {'key': 'folder', 'type': 'str'}, + } + + def __init__( + self, + *, + sas_token_parameters: "SASTokenParameter", + folder: str, + **kwargs + ): + super(SelectiveKeyRestoreOperationParameters, self).__init__(**kwargs) + self.sas_token_parameters = sas_token_parameters + self.folder = folder diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/__init__.py new file mode 100644 index 000000000000..fbdd39654293 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._key_vault_client_operations import KeyVaultClientOperationsMixin +from ._role_definitions_operations import RoleDefinitionsOperations +from ._role_assignments_operations import RoleAssignmentsOperations + +__all__ = [ + 'KeyVaultClientOperationsMixin', + 'RoleDefinitionsOperations', + 'RoleAssignmentsOperations', +] diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_key_vault_client_operations.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_key_vault_client_operations.py new file mode 100644 index 000000000000..3c12ff62a347 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_key_vault_client_operations.py @@ -0,0 +1,516 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.polling.base_polling import LROBasePolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class KeyVaultClientOperationsMixin(object): + + def _full_backup_initial( + self, + vault_base_url, # type: str + azure_storage_blob_container_uri=None, # type: Optional["models.SASTokenParameter"] + **kwargs # type: Any + ): + # type: (...) -> "models.FullBackupOperation" + cls = kwargs.pop('cls', None) # type: ClsType["models.FullBackupOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._full_backup_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if azure_storage_blob_container_uri is not None: + body_content = self._serialize.body(azure_storage_blob_container_uri, 'SASTokenParameter') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('FullBackupOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _full_backup_initial.metadata = {'url': '/backup'} # type: ignore + + def begin_full_backup( + self, + vault_base_url, # type: str + azure_storage_blob_container_uri=None, # type: Optional["models.SASTokenParameter"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.FullBackupOperation"] + """Creates a full backup using a user-provided SAS token to an Azure blob storage container. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param azure_storage_blob_container_uri: Azure blob shared access signature token pointing to a + valid Azure blob container where full backup needs to be stored. This token needs to be valid + for at least next 24 hours from the time of making this call. + :type azure_storage_blob_container_uri: ~azure.keyvault.v7_2.models.SASTokenParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either FullBackupOperation or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.FullBackupOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.FullBackupOperation"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._full_backup_initial( + vault_base_url=vault_base_url, + azure_storage_blob_container_uri=azure_storage_blob_container_uri, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('FullBackupOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + return deserialized + + if polling is True: polling_method = LROBasePolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_full_backup.metadata = {'url': '/backup'} # type: ignore + + def full_backup_status( + self, + vault_base_url, # type: str + job_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.FullBackupOperation" + """Returns the status of full backup operation. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param job_id: The id returned as part of the backup request. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FullBackupOperation, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.FullBackupOperation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FullBackupOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + # Construct URL + url = self.full_backup_status.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('FullBackupOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + full_backup_status.metadata = {'url': '/backup/{jobId}/pending'} # type: ignore + + def _full_restore_operation_initial( + self, + vault_base_url, # type: str + restore_blob_details=None, # type: Optional["models.RestoreOperationParameters"] + **kwargs # type: Any + ): + # type: (...) -> "models.RestoreOperation" + cls = kwargs.pop('cls', None) # type: ClsType["models.RestoreOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._full_restore_operation_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if restore_blob_details is not None: + body_content = self._serialize.body(restore_blob_details, 'RestoreOperationParameters') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('RestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _full_restore_operation_initial.metadata = {'url': '/restore'} # type: ignore + + def begin_full_restore_operation( + self, + vault_base_url, # type: str + restore_blob_details=None, # type: Optional["models.RestoreOperationParameters"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.RestoreOperation"] + """Restores all key materials using the SAS token pointing to a previously stored Azure Blob + storage backup folder. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous + successful full backup was stored. + :type restore_blob_details: ~azure.keyvault.v7_2.models.RestoreOperationParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either RestoreOperation or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.RestoreOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.RestoreOperation"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._full_restore_operation_initial( + vault_base_url=vault_base_url, + restore_blob_details=restore_blob_details, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('RestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + return deserialized + + if polling is True: polling_method = LROBasePolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_full_restore_operation.metadata = {'url': '/restore'} # type: ignore + + def restore_status( + self, + vault_base_url, # type: str + job_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.RestoreOperation" + """Returns the status of restore operation. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param job_id: The Job Id returned part of the restore operation. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RestoreOperation, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RestoreOperation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RestoreOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + # Construct URL + url = self.restore_status.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + restore_status.metadata = {'url': '/restore/{jobId}/pending'} # type: ignore + + def _selective_key_restore_operation_initial( + self, + vault_base_url, # type: str + key_name, # type: str + restore_blob_details=None, # type: Optional["models.SelectiveKeyRestoreOperationParameters"] + **kwargs # type: Any + ): + # type: (...) -> "models.SelectiveKeyRestoreOperation" + cls = kwargs.pop('cls', None) # type: ClsType["models.SelectiveKeyRestoreOperation"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._selective_key_restore_operation_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'keyName': self._serialize.url("key_name", key_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if restore_blob_details is not None: + body_content = self._serialize.body(restore_blob_details, 'SelectiveKeyRestoreOperationParameters') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('SelectiveKeyRestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _selective_key_restore_operation_initial.metadata = {'url': '/keys/{keyName}/restore'} # type: ignore + + def begin_selective_key_restore_operation( + self, + vault_base_url, # type: str + key_name, # type: str + restore_blob_details=None, # type: Optional["models.SelectiveKeyRestoreOperationParameters"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.SelectiveKeyRestoreOperation"] + """Restores all key versions of a given key using user supplied SAS token pointing to a previously + stored Azure Blob storage backup folder. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param key_name: The name of the key to be restored from the user supplied backup. + :type key_name: str + :param restore_blob_details: The Azure blob SAS token pointing to a folder where the previous + successful full backup was stored. + :type restore_blob_details: ~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperationParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SelectiveKeyRestoreOperation or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.keyvault.v7_2.models.SelectiveKeyRestoreOperation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SelectiveKeyRestoreOperation"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._selective_key_restore_operation_initial( + vault_base_url=vault_base_url, + key_name=key_name, + restore_blob_details=restore_blob_details, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('SelectiveKeyRestoreOperation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + return deserialized + + if polling is True: polling_method = LROBasePolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_selective_key_restore_operation.metadata = {'url': '/keys/{keyName}/restore'} # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_role_assignments_operations.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_role_assignments_operations.py new file mode 100644 index 000000000000..eb04fd51c698 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_role_assignments_operations.py @@ -0,0 +1,319 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class RoleAssignmentsOperations(object): + """RoleAssignmentsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.keyvault.v7_2.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def delete( + self, + vault_base_url, # type: str + scope, # type: str + role_assignment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.RoleAssignment" + """Deletes a role assignment. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role assignment to delete. + :type scope: str + :param role_assignment_name: The name of the role assignment to delete. + :type role_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RoleAssignment, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RoleAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleAssignment"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'roleAssignmentName': self._serialize.url("role_assignment_name", role_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RoleAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + delete.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}'} # type: ignore + + def create( + self, + vault_base_url, # type: str + scope, # type: str + role_assignment_name, # type: str + parameters, # type: "models.RoleAssignmentCreateParameters" + **kwargs # type: Any + ): + # type: (...) -> "models.RoleAssignment" + """Creates a role assignment. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role assignment to create. + :type scope: str + :param role_assignment_name: The name of the role assignment to create. It can be any valid + GUID. + :type role_assignment_name: str + :param parameters: Parameters for the role assignment. + :type parameters: ~azure.keyvault.v7_2.models.RoleAssignmentCreateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RoleAssignment, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RoleAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleAssignment"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'roleAssignmentName': self._serialize.url("role_assignment_name", role_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'RoleAssignmentCreateParameters') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RoleAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}'} # type: ignore + + def get( + self, + vault_base_url, # type: str + scope, # type: str + role_assignment_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.RoleAssignment" + """Get the specified role assignment. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role assignment. + :type scope: str + :param role_assignment_name: The name of the role assignment to get. + :type role_assignment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RoleAssignment, or the result of cls(response) + :rtype: ~azure.keyvault.v7_2.models.RoleAssignment + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleAssignment"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'roleAssignmentName': self._serialize.url("role_assignment_name", role_assignment_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.KeyVaultError, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('RoleAssignment', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}'} # type: ignore + + def list_for_scope( + self, + vault_base_url, # type: str + scope, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.RoleAssignmentListResult"] + """Gets role assignments for a scope. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role assignments. + :type scope: str + :param filter: The filter to apply on the operation. Use $filter=atScope() to return all role + assignments at or above the scope. Use $filter=principalId eq {id} to return all role + assignments at, above or below the scope for the specified principal. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RoleAssignmentListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.keyvault.v7_2.models.RoleAssignmentListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleAssignmentListResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list_for_scope.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('RoleAssignmentListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.KeyVaultError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_for_scope.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleAssignments'} # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_role_definitions_operations.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_role_definitions_operations.py new file mode 100644 index 000000000000..ba3d7a757dc5 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/operations/_role_definitions_operations.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class RoleDefinitionsOperations(object): + """RoleDefinitionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.keyvault.v7_2.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + vault_base_url, # type: str + scope, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.RoleDefinitionListResult"] + """Get all role definitions that are applicable at scope and above. + + :param vault_base_url: The vault name, for example https://myvault.vault.azure.net. + :type vault_base_url: str + :param scope: The scope of the role definition. + :type scope: str + :param filter: The filter to apply on the operation. Use atScopeAndBelow filter to search below + the given scope as well. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RoleDefinitionListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.keyvault.v7_2.models.RoleDefinitionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RoleDefinitionListResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "7.2-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + path_format_arguments = { + 'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('RoleDefinitionListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.KeyVaultError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/roleDefinitions'} # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/py.typed b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/py.typed new file mode 100644 index 000000000000..e5aff4f83af8 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/v7_2_preview/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/__init__.py new file mode 100644 index 000000000000..e13f15a61c71 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/__init__.py @@ -0,0 +1,58 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +from collections import namedtuple + +try: + import urllib.parse as parse +except ImportError: + # pylint:disable=import-error + import urlparse as parse # type: ignore + +from .challenge_auth_policy import ChallengeAuthPolicy, ChallengeAuthPolicyBase +from .client_base import KeyVaultClientBase +from .http_challenge import HttpChallenge +from . import http_challenge_cache as HttpChallengeCache + + +__all__ = [ + "ChallengeAuthPolicy", + "ChallengeAuthPolicyBase", + "HttpChallenge", + "HttpChallengeCache", + "KeyVaultClientBase", +] + +_VaultId = namedtuple("VaultId", ["vault_url", "collection", "name", "version"]) + + +def parse_vault_id(url): + try: + parsed_uri = parse.urlparse(url) + except Exception: # pylint: disable=broad-except + raise ValueError("'{}' is not not a valid url".format(url)) + if not (parsed_uri.scheme and parsed_uri.hostname): + raise ValueError("'{}' is not not a valid url".format(url)) + + path = list(filter(None, parsed_uri.path.split("/"))) + + if len(path) < 2 or len(path) > 3: + raise ValueError("'{}' is not not a valid vault url".format(url)) + + return _VaultId( + vault_url="{}://{}".format(parsed_uri.scheme, parsed_uri.hostname), + collection=path[0], + name=path[1], + version=path[2] if len(path) == 3 else None, + ) + + +try: + # pylint:disable=unused-import + from .async_challenge_auth_policy import AsyncChallengeAuthPolicy + from .async_client_base import AsyncKeyVaultClientBase + + __all__.extend(["AsyncChallengeAuthPolicy", "AsyncKeyVaultClientBase"]) +except (SyntaxError, ImportError): + pass diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/api_version.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/api_version.py new file mode 100644 index 000000000000..ce44867820f8 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/api_version.py @@ -0,0 +1,15 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +from enum import Enum + + +class ApiVersion(str, Enum): + """Key Vault API versions supported by this package""" + + #: this is the default version + V7_2_preview = "7.2-preview" + + +DEFAULT_VERSION = ApiVersion.V7_2_preview diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/async_challenge_auth_policy.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/async_challenge_auth_policy.py new file mode 100644 index 000000000000..97f1d093e20f --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/async_challenge_auth_policy.py @@ -0,0 +1,79 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +"""Policy implementing Key Vault's challenge authentication protocol. + +Normally the protocol is only used for the client's first service request, upon which: +1. The challenge authentication policy sends a copy of the request, without authorization or content. +2. Key Vault responds 401 with a header (the 'challenge') detailing how the client should authenticate such a request. +3. The policy authenticates according to the challenge and sends the original request with authorization. + +The policy caches the challenge and thus knows how to authenticate future requests. However, authentication +requirements can change. For example, a vault may move to a new tenant. In such a case the policy will attempt the +protocol again. +""" +from typing import TYPE_CHECKING + +from azure.core.pipeline.policies import AsyncHTTPPolicy + +from . import HttpChallengeCache +from .challenge_auth_policy import _enforce_tls, _get_challenge_request, _update_challenge, ChallengeAuthPolicyBase + +if TYPE_CHECKING: + from typing import Any + from azure.core.credentials_async import AsyncTokenCredential + from azure.core.pipeline import PipelineRequest + from azure.core.pipeline.transport import AsyncHttpResponse + from . import HttpChallenge + + +class AsyncChallengeAuthPolicy(ChallengeAuthPolicyBase, AsyncHTTPPolicy): + """policy for handling HTTP authentication challenges""" + + def __init__(self, credential: "AsyncTokenCredential", **kwargs: "Any") -> None: + self._credential = credential + super(AsyncChallengeAuthPolicy, self).__init__(**kwargs) + + async def send(self, request: "PipelineRequest") -> "AsyncHttpResponse": + _enforce_tls(request) + + challenge = HttpChallengeCache.get_challenge_for_url(request.http_request.url) + if not challenge: + challenge_request = _get_challenge_request(request) + challenger = await self.next.send(challenge_request) + try: + challenge = _update_challenge(request, challenger) + except ValueError: + # didn't receive the expected challenge -> nothing more this policy can do + return challenger + + await self._handle_challenge(request, challenge) + response = await self.next.send(request) + + if response.http_response.status_code == 401: + # any cached token must be invalid + self._token = None + + # cached challenge could be outdated; maybe this response has a new one? + try: + challenge = _update_challenge(request, response) + except ValueError: + # 401 with no legible challenge -> nothing more this policy can do + return response + + await self._handle_challenge(request, challenge) + response = await self.next.send(request) + + return response + + async def _handle_challenge(self, request: "PipelineRequest", challenge: "HttpChallenge") -> None: + """authenticate according to challenge, add Authorization header to request""" + + if self._need_new_token: + # azure-identity credentials require an AADv2 scope but the challenge may specify an AADv1 resource + scope = challenge.get_scope() or challenge.get_resource() + "/.default" + self._token = await self._credential.get_token(scope) + + # ignore mypy's warning because although self._token is Optional, get_token raises when it fails to get a token + request.http_request.headers["Authorization"] = "Bearer {}".format(self._token.token) # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/async_client_base.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/async_client_base.py new file mode 100644 index 000000000000..815ce86516d4 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/async_client_base.py @@ -0,0 +1,91 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +from typing import TYPE_CHECKING +from azure.core.pipeline.policies import HttpLoggingPolicy +from . import AsyncChallengeAuthPolicy +from .client_base import ApiVersion, DEFAULT_VERSION +from .._sdk_moniker import SDK_MONIKER +from .._generated.aio import KeyVaultClient as _KeyVaultClient + +if TYPE_CHECKING: + try: + # pylint:disable=unused-import + from typing import Any + from azure.core.configuration import Configuration + from azure.core.pipeline.transport import AsyncHttpTransport + from azure.core.credentials_async import AsyncTokenCredential + except ImportError: + # AsyncTokenCredential is a typing_extensions.Protocol; we don't depend on that package + pass + + +class AsyncKeyVaultClientBase(object): + def __init__(self, vault_url: str, credential: "AsyncTokenCredential", **kwargs: "Any") -> None: + if not credential: + raise ValueError( + "credential should be an object supporting the AsyncTokenCredential protocol, " + "such as a credential from azure-identity" + ) + if not vault_url: + raise ValueError("vault_url must be the URL of an Azure Key Vault") + + self._vault_url = vault_url.strip(" /") + client = kwargs.get("generated_client") + if client: + # caller provided a configured client -> nothing left to initialize + self._client = client + return + + api_version = kwargs.pop("api_version", DEFAULT_VERSION) + + pipeline = kwargs.pop("pipeline", None) + transport = kwargs.pop("transport", None) + http_logging_policy = HttpLoggingPolicy(**kwargs) + http_logging_policy.allowed_header_names.update( + { + "x-ms-keyvault-network-info", + "x-ms-keyvault-region", + "x-ms-keyvault-service-version" + } + ) + + if not transport and not pipeline: + from azure.core.pipeline.transport import AioHttpTransport + transport = AioHttpTransport(**kwargs) + + try: + self._client = _KeyVaultClient( + api_version=api_version, + pipeline=pipeline, + transport=transport, + authentication_policy=AsyncChallengeAuthPolicy(credential), + sdk_moniker=SDK_MONIKER, + http_logging_policy=http_logging_policy, + **kwargs + ) + self._models = _KeyVaultClient.models(api_version=api_version) + except NotImplementedError: + raise NotImplementedError( + "This package doesn't support API version '{}'. ".format(api_version) + + "Supported versions: {}".format(", ".join(v.value for v in ApiVersion)) + ) + + @property + def vault_url(self) -> str: + return self._vault_url + + async def __aenter__(self) -> "AsyncKeyVaultClientBase": + await self._client.__aenter__() + return self + + async def __aexit__(self, *args: "Any") -> None: + await self._client.__aexit__(*args) + + async def close(self) -> None: + """Close sockets opened by the client. + + Calling this method is unnecessary when using the client as a context manager. + """ + await self._client.close() diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/challenge_auth_policy.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/challenge_auth_policy.py new file mode 100644 index 000000000000..fca7dc6f01d2 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/challenge_auth_policy.py @@ -0,0 +1,140 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +"""Policy implementing Key Vault's challenge authentication protocol. + +Normally the protocol is only used for the client's first service request, upon which: +1. The challenge authentication policy sends a copy of the request, without authorization or content. +2. Key Vault responds 401 with a header (the 'challenge') detailing how the client should authenticate such a request. +3. The policy authenticates according to the challenge and sends the original request with authorization. + +The policy caches the challenge and thus knows how to authenticate future requests. However, authentication +requirements can change. For example, a vault may move to a new tenant. In such a case the policy will attempt the +protocol again. +""" + +import copy +import time + +from azure.core.exceptions import ServiceRequestError +from azure.core.pipeline import PipelineContext, PipelineRequest +from azure.core.pipeline.policies import HTTPPolicy +from azure.core.pipeline.transport import HttpRequest + +from .http_challenge import HttpChallenge +from . import http_challenge_cache as ChallengeCache + +try: + from typing import TYPE_CHECKING +except ImportError: + TYPE_CHECKING = False + +if TYPE_CHECKING: + from typing import Any, Dict, Optional + from azure.core.credentials import AccessToken, TokenCredential + from azure.core.pipeline.transport import HttpResponse + + +def _enforce_tls(request): + # type: (PipelineRequest) -> None + if not request.http_request.url.lower().startswith("https"): + raise ServiceRequestError( + "Bearer token authentication is not permitted for non-TLS protected (non-https) URLs." + ) + + +def _get_challenge_request(request): + # type: (PipelineRequest) -> PipelineRequest + + # The challenge request is intended to provoke an authentication challenge from Key Vault, to learn how the + # service request should be authenticated. It should be identical to the service request but with no body. + challenge_request = HttpRequest( + request.http_request.method, request.http_request.url, headers=request.http_request.headers + ) + challenge_request.headers["Content-Length"] = "0" + + options = copy.deepcopy(request.context.options) + context = PipelineContext(request.context.transport, **options) + + return PipelineRequest(http_request=challenge_request, context=context) + + +def _update_challenge(request, challenger): + # type: (HttpRequest, HttpResponse) -> HttpChallenge + """parse challenge from challenger, cache it, return it""" + + challenge = HttpChallenge( + request.http_request.url, + challenger.http_response.headers.get("WWW-Authenticate"), + response_headers=challenger.http_response.headers, + ) + ChallengeCache.set_challenge_for_url(request.http_request.url, challenge) + return challenge + + +class ChallengeAuthPolicyBase(object): + """Sans I/O base for challenge authentication policies""" + + def __init__(self, **kwargs): + self._token = None # type: Optional[AccessToken] + super(ChallengeAuthPolicyBase, self).__init__(**kwargs) + + @property + def _need_new_token(self): + # type: () -> bool + return not self._token or self._token.expires_on - time.time() < 300 + + +class ChallengeAuthPolicy(ChallengeAuthPolicyBase, HTTPPolicy): + """policy for handling HTTP authentication challenges""" + + def __init__(self, credential, **kwargs): + # type: (TokenCredential, **Any) -> None + self._credential = credential + super(ChallengeAuthPolicy, self).__init__(**kwargs) + + def send(self, request): + # type: (PipelineRequest) -> HttpResponse + _enforce_tls(request) + + challenge = ChallengeCache.get_challenge_for_url(request.http_request.url) + if not challenge: + challenge_request = _get_challenge_request(request) + challenger = self.next.send(challenge_request) + try: + challenge = _update_challenge(request, challenger) + except ValueError: + # didn't receive the expected challenge -> nothing more this policy can do + return challenger + + self._handle_challenge(request, challenge) + response = self.next.send(request) + + if response.http_response.status_code == 401: + # any cached token must be invalid + self._token = None + + # cached challenge could be outdated; maybe this response has a new one? + try: + challenge = _update_challenge(request, response) + except ValueError: + # 401 with no legible challenge -> nothing more this policy can do + return response + + self._handle_challenge(request, challenge) + response = self.next.send(request) + + return response + + def _handle_challenge(self, request, challenge): + # type: (PipelineRequest, HttpChallenge) -> None + """authenticate according to challenge, add Authorization header to request""" + + if self._need_new_token: + # azure-identity credentials require an AADv2 scope but the challenge may specify an AADv1 resource + scope = challenge.get_scope() or challenge.get_resource() + "/.default" + self._token = self._credential.get_token(scope) + + # ignore mypy's warning because although self._token is Optional, get_token raises when it fails to get a token + request.http_request.headers["Authorization"] = "Bearer {}".format(self._token.token) # type: ignore diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/client_base.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/client_base.py new file mode 100644 index 000000000000..132492f976ae --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/client_base.py @@ -0,0 +1,94 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +from typing import TYPE_CHECKING +from enum import Enum + +from azure.core.pipeline.transport import RequestsTransport +from azure.core.pipeline.policies import HttpLoggingPolicy + +from . import ChallengeAuthPolicy +from .._generated import KeyVaultClient as _KeyVaultClient +from .._sdk_moniker import SDK_MONIKER + +if TYPE_CHECKING: + # pylint:disable=unused-import,ungrouped-imports + from typing import Any + from azure.core.credentials import TokenCredential + + +class ApiVersion(str, Enum): + """Key Vault API versions supported by this package""" + + #: this is the default version + V7_2_preview = "7.2-preview" + + +DEFAULT_VERSION = ApiVersion.V7_2_preview + + +class KeyVaultClientBase(object): + def __init__(self, vault_url, credential, **kwargs): + # type: (str, TokenCredential, **Any) -> None + if not credential: + raise ValueError( + "credential should be an object supporting the TokenCredential protocol, " + "such as a credential from azure-identity" + ) + if not vault_url: + raise ValueError("vault_url must be the URL of an Azure Key Vault") + + self._vault_url = vault_url.strip(" /") + client = kwargs.get("generated_client") + if client: + # caller provided a configured client -> nothing left to initialize + self._client = client + return + + api_version = kwargs.pop("api_version", DEFAULT_VERSION) + + pipeline = kwargs.pop("pipeline", None) + transport = kwargs.pop("transport", RequestsTransport(**kwargs)) + http_logging_policy = HttpLoggingPolicy(**kwargs) + http_logging_policy.allowed_header_names.update( + {"x-ms-keyvault-network-info", "x-ms-keyvault-region", "x-ms-keyvault-service-version"} + ) + try: + self._client = _KeyVaultClient( + api_version=api_version, + pipeline=pipeline, + transport=transport, + authentication_policy=ChallengeAuthPolicy(credential), + sdk_moniker=SDK_MONIKER, + http_logging_policy=http_logging_policy, + **kwargs + ) + self._models = _KeyVaultClient.models(api_version=api_version) + except NotImplementedError: + raise NotImplementedError( + "This package doesn't support API version '{}'. ".format(api_version) + + "Supported versions: {}".format(", ".join(v.value for v in ApiVersion)) + ) + + @property + def vault_url(self): + # type: () -> str + return self._vault_url + + def __enter__(self): + # type: () -> KeyVaultClientBase + self._client.__enter__() + return self + + def __exit__(self, *args): + # type: (*Any) -> None + self._client.__exit__(*args) + + def close(self): + # type: () -> None + """Close sockets opened by the client. + + Calling this method is unnecessary when using the client as a context manager. + """ + self._client.close() diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/exceptions.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/exceptions.py new file mode 100644 index 000000000000..407c7d872c79 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/exceptions.py @@ -0,0 +1,57 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +from collections import defaultdict +import functools +from typing import TYPE_CHECKING + +from azure.core.exceptions import DecodeError, HttpResponseError, ResourceExistsError, ResourceNotFoundError +from azure.core.pipeline.policies import ContentDecodePolicy + +if TYPE_CHECKING: + # pylint:disable=unused-import,ungrouped-imports + from typing import Optional, Type + from azure.core.pipeline.transport import HttpResponse + + +def _get_exception_for_key_vault_error(cls, response): + # type: (Type[HttpResponseError], HttpResponse) -> HttpResponseError + """Construct cls (HttpResponseError or subclass thereof) with Key Vault's error message.""" + + try: + body = ContentDecodePolicy.deserialize_from_http_generics(response) + message = "({}) {}".format(body["error"]["code"], body["error"]["message"]) # type: Optional[str] + except (DecodeError, KeyError): + # Key Vault error response bodies should have the expected shape and be deserializable. + # If we somehow land here, we'll take HttpResponse's default message. + message = None + + return cls(message=message, response=response) + + +# errors map to HttpResponseError... +_default = functools.partial(_get_exception_for_key_vault_error, HttpResponseError) + +# ...unless this mapping specifies another type +_code_to_core_error = {404: ResourceNotFoundError, 409: ResourceExistsError} + + +class _ErrorMap(defaultdict): + """A dict whose 'get' method returns a default value. + + defaultdict would be preferable but defaultdict.get returns None for keys having no value + (azure.core.exceptions.map_error calls error_map.get) + """ + + def get(self, key, value=None): # pylint:disable=unused-argument + return self[key] + + +# map status codes to callables returning appropriate azure-core errors +error_map = _ErrorMap(lambda: _default, + { + status_code: functools.partial(_get_exception_for_key_vault_error, cls) + for status_code, cls in _code_to_core_error.items() + } +) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/http_challenge.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/http_challenge.py new file mode 100644 index 000000000000..c762e1ae50ef --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/http_challenge.py @@ -0,0 +1,114 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +try: + import urllib.parse as parse +except ImportError: + import urlparse as parse # type: ignore + + +class HttpChallenge(object): + def __init__(self, request_uri, challenge, response_headers=None): + """ Parses an HTTP WWW-Authentication Bearer challenge from a server. """ + self.source_authority = self._validate_request_uri(request_uri) + self.source_uri = request_uri + self._parameters = {} + + # get the scheme of the challenge and remove from the challenge string + trimmed_challenge = self._validate_challenge(challenge) + split_challenge = trimmed_challenge.split(" ", 1) + self.scheme = split_challenge[0] + trimmed_challenge = split_challenge[1] + + # split trimmed challenge into comma-separated name=value pairs. Values are expected + # to be surrounded by quotes which are stripped here. + for item in trimmed_challenge.split(","): + # process name=value pairs + comps = item.split("=") + if len(comps) == 2: + key = comps[0].strip(' "') + value = comps[1].strip(' "') + if key: + self._parameters[key] = value + + # minimum set of parameters + if not self._parameters: + raise ValueError("Invalid challenge parameters") + + # must specify authorization or authorization_uri + if "authorization" not in self._parameters and "authorization_uri" not in self._parameters: + raise ValueError("Invalid challenge parameters") + + # if the response headers were supplied + if response_headers: + # get the message signing key and message key encryption key from the headers + self.server_signature_key = response_headers.get("x-ms-message-signing-key", None) + self.server_encryption_key = response_headers.get("x-ms-message-encryption-key", None) + + def is_bearer_challenge(self): + """ Tests whether the HttpChallenge a Bearer challenge. + rtype: bool """ + if not self.scheme: + return False + + return self.scheme.lower() == "bearer" + + def is_pop_challenge(self): + """ Tests whether the HttpChallenge is a proof of possession challenge. + rtype: bool """ + if not self.scheme: + return False + + return self.scheme.lower() == "pop" + + def get_value(self, key): + return self._parameters.get(key) + + def get_authorization_server(self): + """ Returns the URI for the authorization server if present, otherwise empty string. """ + value = "" + for key in ["authorization_uri", "authorization"]: + value = self.get_value(key) or "" + if value: + break + return value + + def get_resource(self): + """ Returns the resource if present, otherwise empty string. """ + return self.get_value("resource") or "" + + def get_scope(self): + """ Returns the scope if present, otherwise empty string. """ + return self.get_value("scope") or "" + + def supports_pop(self): + """ Returns True if challenge supports pop token auth else False """ + return self._parameters.get("supportspop", "").lower() == "true" + + def supports_message_protection(self): + """ Returns True if challenge vault supports message protection """ + return self.supports_pop() and self.server_encryption_key and self.server_signature_key + + # pylint:disable=no-self-use + def _validate_challenge(self, challenge): + """ Verifies that the challenge is a valid auth challenge and returns the key=value pairs. """ + if not challenge: + raise ValueError("Challenge cannot be empty") + + return challenge.strip() + + # pylint:disable=no-self-use + def _validate_request_uri(self, uri): + """ Extracts the host authority from the given URI. """ + if not uri: + raise ValueError("request_uri cannot be empty") + + uri = parse.urlparse(uri) + if not uri.netloc: + raise ValueError("request_uri must be an absolute URI") + + if uri.scheme.lower() not in ["http", "https"]: + raise ValueError("request_uri must be HTTP or HTTPS") + + return uri.netloc diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/http_challenge_cache.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/http_challenge_cache.py new file mode 100644 index 000000000000..07cda1366aa8 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_internal/http_challenge_cache.py @@ -0,0 +1,89 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import threading + +try: + import urllib.parse as parse +except ImportError: + import urlparse as parse # type: ignore + +try: + from typing import TYPE_CHECKING +except ImportError: + TYPE_CHECKING = False + +if TYPE_CHECKING: + # pylint: disable=unused-import + from typing import Dict + from .http_challenge import HttpChallenge + + +_cache = {} # type: Dict[str, HttpChallenge] +_lock = threading.Lock() + + +def get_challenge_for_url(url): + """ Gets the challenge for the cached URL. + :param url: the URL the challenge is cached for. + :rtype: HttpBearerChallenge """ + + if not url: + raise ValueError("URL cannot be None") + + key = _get_cache_key(url) + + with _lock: + return _cache.get(key) + + +def _get_cache_key(url): + """Use the URL's netloc as cache key except when the URL specifies the default port for its scheme. In that case + use the netloc without the port. That is to say, https://foo.bar and https://foo.bar:443 are considered equivalent. + + This equivalency prevents an unnecessary challenge when using Key Vault's paging API. The Key Vault client doesn't + specify ports, but Key Vault's next page links do, so a redundant challenge would otherwise be executed when the + client requests the next page.""" + + parsed = parse.urlparse(url) + if parsed.scheme == "https" and parsed.port == 443: + return parsed.netloc[:-4] + return parsed.netloc + + +def remove_challenge_for_url(url): + """ Removes the cached challenge for the specified URL. + :param url: the URL for which to remove the cached challenge """ + if not url: + raise ValueError("URL cannot be empty") + + url = parse.urlparse(url) + + with _lock: + del _cache[url.netloc] + + +def set_challenge_for_url(url, challenge): + """ Caches the challenge for the specified URL. + :param url: the URL for which to cache the challenge + :param challenge: the challenge to cache """ + if not url: + raise ValueError("URL cannot be empty") + + if not challenge: + raise ValueError("Challenge cannot be empty") + + src_url = parse.urlparse(url) + if src_url.netloc != challenge.source_authority: + raise ValueError("Source URL and Challenge URL do not match") + + with _lock: + _cache[src_url.netloc] = challenge + + +def clear(): + """ Clears the cache. """ + + with _lock: + _cache.clear() diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_sdk_moniker.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_sdk_moniker.py new file mode 100644 index 000000000000..0327b8f929e9 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_sdk_moniker.py @@ -0,0 +1,7 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +from ._version import VERSION + +SDK_MONIKER = "keyvault-administration/{}".format(VERSION) diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_version.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_version.py new file mode 100644 index 000000000000..ac9f392f513e --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_version.py @@ -0,0 +1,6 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +VERSION = "1.0.0b1" diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/aio/__init__.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/aio/__init__.py new file mode 100644 index 000000000000..b74cfa3b899c --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/aio/__init__.py @@ -0,0 +1,4 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ diff --git a/sdk/keyvault/azure-keyvault-administration/conftest.py b/sdk/keyvault/azure-keyvault-administration/conftest.py new file mode 100644 index 000000000000..445dcb60c7d2 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/conftest.py @@ -0,0 +1,8 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import sys + +if sys.version_info < (3, 5, 3): + collect_ignore_glob = ["*_async.py"] diff --git a/sdk/keyvault/azure-keyvault-administration/dev_requirements.txt b/sdk/keyvault/azure-keyvault-administration/dev_requirements.txt new file mode 100644 index 000000000000..6641317a8516 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/dev_requirements.txt @@ -0,0 +1,7 @@ +-e ../../../tools/azure-devtools +-e ../../../tools/azure-sdk-tools +-e ../../core/azure-core +-e ../../identity/azure-identity +-e ../azure-mgmt-keyvault +../azure-keyvault-nspkg +aiohttp>=3.0; python_version >= '3.5' diff --git a/sdk/keyvault/azure-keyvault-administration/sdk_packaging.toml b/sdk/keyvault/azure-keyvault-administration/sdk_packaging.toml new file mode 100644 index 000000000000..e7687fdae93b --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/sdk_packaging.toml @@ -0,0 +1,2 @@ +[packaging] +auto_update = false \ No newline at end of file diff --git a/sdk/keyvault/azure-keyvault-administration/setup.cfg b/sdk/keyvault/azure-keyvault-administration/setup.cfg new file mode 100644 index 000000000000..3c6e79cf31da --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/sdk/keyvault/azure-keyvault-administration/setup.py b/sdk/keyvault/azure-keyvault-administration/setup.py new file mode 100644 index 000000000000..f65c42761597 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/setup.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python + +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +# pylint:disable=missing-docstring + +import re +import os.path +from io import open +from setuptools import find_packages, setup + +# Change the PACKAGE_NAME only to change folder and different name +PACKAGE_NAME = "azure-keyvault-administration" +PACKAGE_PPRINT_NAME = "Key Vault Administration" + +# a-b-c => a/b/c +PACKAGE_FOLDER_PATH = PACKAGE_NAME.replace("-", "/") +# a-b-c => a.b.c +NAMESPACE_NAME = PACKAGE_NAME.replace("-", ".") + +# azure v0.x is not compatible with this package +# azure v0.x used to have a __version__ attribute (newer versions don't) +try: + import azure + + try: + VER = azure.__version__ # type: ignore + raise Exception( + "This package is incompatible with azure=={}. ".format(VER) + 'Uninstall it with "pip uninstall azure".' + ) + except AttributeError: + pass +except ImportError: + pass + +# Version extraction inspired from 'requests' +with open(os.path.join(PACKAGE_FOLDER_PATH, "_version.py"), "r") as fd: + VERSION = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE).group(1) + +if not VERSION: + raise RuntimeError("Cannot find version information") + +with open("README.md", encoding="utf-8") as f: + README = f.read() +with open("CHANGELOG.md", encoding="utf-8") as f: + CHANGELOG = f.read() + +setup( + name=PACKAGE_NAME, + version=VERSION, + description="Microsoft Azure {} Client Library for Python".format(PACKAGE_PPRINT_NAME), + long_description=README + "\n\n" + CHANGELOG, + long_description_content_type="text/markdown", + license="MIT License", + author="Microsoft Corporation", + author_email="azurekeyvault@microsoft.com", + url="https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-administration", + classifiers=[ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License", + ], + zip_safe=False, + packages=find_packages( + exclude=[ + "samples", + "tests", + # Exclude packages that will be covered by PEP420 or nspkg + "azure", + "azure.keyvault", + ] + ), + install_requires=["azure-common~=1.1", "azure-core<2.0.0,>=1.7.0", "msrest>=0.6.0"], + extras_require={ + ":python_version<'3.0'": ["azure-keyvault-nspkg"], + ":python_version<'3.4'": ["enum34>=1.0.4"], + ":python_version<'3.5'": ["typing"], + }, +) diff --git a/sdk/keyvault/azure-keyvault-administration/tests/_shared/__init__.py b/sdk/keyvault/azure-keyvault-administration/tests/_shared/__init__.py new file mode 100644 index 000000000000..b74cfa3b899c --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/tests/_shared/__init__.py @@ -0,0 +1,4 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ diff --git a/sdk/keyvault/azure-keyvault-administration/tests/_shared/helpers.py b/sdk/keyvault/azure-keyvault-administration/tests/_shared/helpers.py new file mode 100644 index 000000000000..8df36215388e --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/tests/_shared/helpers.py @@ -0,0 +1,102 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import json +import six + +try: + from unittest import mock +except ImportError: # python < 3.3 + import mock # type: ignore + + +class Request: + def __init__( + self, + base_url=None, + url=None, + authority=None, + url_substring=None, + method=None, + required_headers=None, + required_data=None, + required_params=None, + ): + self.authority = authority + self.base_url = base_url + self.method = method + self.url = url + self.url_substring = url_substring + self.required_headers = required_headers or {} + self.required_data = required_data or {} + self.required_params = required_params or {} + + def assert_matches(self, request): + discrepancies = [] + + def add_discrepancy(name, expected, actual): + discrepancies.append("{}:\n\t expected: {}\n\t actual: {}".format(name, expected, actual)) + + if self.base_url and self.base_url != request.url.split("?")[0]: + add_discrepancy("base url", self.base_url, request.url) + + if self.url and self.url != request.url: + add_discrepancy("url", self.url, request.url) + + if self.url_substring and self.url_substring not in request.url: + add_discrepancy("url substring", self.url_substring, request.url) + + parsed = six.moves.urllib_parse.urlparse(request.url) + if self.authority and parsed.netloc != self.authority: + add_discrepancy("authority", self.authority, parsed.netloc) + + if self.method and request.method != self.method: + add_discrepancy("method", self.method, request.method) + + for param, expected_value in self.required_params.items(): + actual_value = request.query.get(param) + if actual_value != expected_value: + add_discrepancy(param, expected_value, actual_value) + + for header, expected_value in self.required_headers.items(): + actual_value = request.headers.get(header) + + # UserAgentPolicy appends the value of $AZURE_HTTP_USER_AGENT, which is set in + # pipelines, so we accept a user agent which merely contains the expected value + if header.lower() == "user-agent": + if expected_value not in actual_value: + add_discrepancy("user-agent", "contains " + expected_value, actual_value) + elif actual_value != expected_value: + add_discrepancy(header, expected_value, actual_value) + + for field, expected_value in self.required_data.items(): + actual_value = request.body.get(field) + if actual_value != expected_value: + add_discrepancy("form field", expected_value, actual_value) + + assert not discrepancies, "Unexpected request\n\t" + "\n\t".join(discrepancies) + + +def mock_response(status_code=200, headers=None, json_payload=None): + response = mock.Mock(status_code=status_code, headers=headers or {}) + if json_payload is not None: + response.text = lambda encoding=None: json.dumps(json_payload) + response.headers["content-type"] = "application/json" + response.content_type = "application/json" + return response + + +def validating_transport(requests, responses): + if len(requests) != len(responses): + raise ValueError("each request must have one response") + + sessions = zip(requests, responses) + sessions = (s for s in sessions) # 2.7's zip returns a list, and nesting a generator doesn't break it for 3.x + + def validate_request(request, **kwargs): # pylint:disable=unused-argument + expected_request, response = next(sessions) + expected_request.assert_matches(request) + return response + + return mock.Mock(send=validate_request) diff --git a/sdk/keyvault/azure-keyvault-administration/tests/_shared/helpers_async.py b/sdk/keyvault/azure-keyvault-administration/tests/_shared/helpers_async.py new file mode 100644 index 000000000000..d887c739758c --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/tests/_shared/helpers_async.py @@ -0,0 +1,49 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import asyncio +import functools +import sys +from unittest import mock + +from .helpers import validating_transport + + +def get_completed_future(result=None): + future = asyncio.Future() + future.set_result(result) + return future + + +def wrap_in_future(fn): + """Return a completed Future whose result is the return of fn. + + Added to simplify using unittest.Mock in async code. Python 3.8's AsyncMock would be preferable. + """ + + @functools.wraps(fn) + def wrapper(*args, **kwargs): + result = fn(*args, **kwargs) + return get_completed_future(result) + + return wrapper + + +class AsyncMockTransport(mock.MagicMock): + """Mock with do-nothing aenter/exit for mocking async transport. + + This is unnecessary on 3.8+, where MagicMocks implement aenter/exit. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + if sys.version_info < (3, 8): + self.__aenter__ = mock.Mock(return_value=get_completed_future()) + self.__aexit__ = mock.Mock(return_value=get_completed_future()) + + +def async_validating_transport(requests, responses): + sync_transport = validating_transport(requests, responses) + return AsyncMockTransport(send=wrap_in_future(sync_transport.send)) diff --git a/sdk/keyvault/azure-keyvault-administration/tests/_shared/json_attribute_matcher.py b/sdk/keyvault/azure-keyvault-administration/tests/_shared/json_attribute_matcher.py new file mode 100644 index 000000000000..bf79ad588082 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/tests/_shared/json_attribute_matcher.py @@ -0,0 +1,18 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import json + +import six + +_has_json_body = lambda req: req.body and "json" in req.headers.get("Content-Type", "") + + +def json_attribute_matcher(r1, r2): + """Tests whether two vcr.py requests have JSON content with identical attributes (ignoring values).""" + + if _has_json_body(r1) and _has_json_body(r2): + c1 = json.loads(six.ensure_str(r1.body)) + c2 = json.loads(six.ensure_str(r2.body)) + assert sorted(c1.keys()) == sorted(c2.keys()) diff --git a/sdk/keyvault/azure-keyvault-administration/tests/_shared/preparer.py b/sdk/keyvault/azure-keyvault-administration/tests/_shared/preparer.py new file mode 100644 index 000000000000..ea9a7a63d986 --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/tests/_shared/preparer.py @@ -0,0 +1,29 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +try: + from unittest.mock import Mock +except ImportError: # python < 3.3 + from mock import Mock + +from azure.core.credentials import AccessToken +from azure.identity import EnvironmentCredential +from devtools_testutils import AzureMgmtPreparer + + +class KeyVaultClientPreparer(AzureMgmtPreparer): + def __init__(self, client_cls, name_prefix="vault", random_name_enabled=True, **kwargs): + super(KeyVaultClientPreparer, self).__init__(name_prefix, 24, random_name_enabled=random_name_enabled, **kwargs) + self._client_cls = client_cls + + def create_credential(self): + if self.is_live: + return EnvironmentCredential() + + return Mock(get_token=lambda *_: AccessToken("fake-token", 0)) + + def create_resource(self, _, **kwargs): + credential = self.create_credential() + client = self._client_cls(kwargs.get("vault_uri"), credential, **self.client_kwargs) + return {"client": client} diff --git a/sdk/keyvault/azure-keyvault-administration/tests/_shared/preparer_async.py b/sdk/keyvault/azure-keyvault-administration/tests/_shared/preparer_async.py new file mode 100644 index 000000000000..bf49a31304cc --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/tests/_shared/preparer_async.py @@ -0,0 +1,19 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +from unittest.mock import Mock + +from azure.core.credentials import AccessToken +from azure.identity.aio import EnvironmentCredential + +from .preparer import KeyVaultClientPreparer as _KeyVaultClientPreparer +from .helpers_async import get_completed_future + + +class KeyVaultClientPreparer(_KeyVaultClientPreparer): + def create_credential(self): + if self.is_live: + return EnvironmentCredential() + + return Mock(get_token=lambda *_: get_completed_future(AccessToken("fake-token", 0))) diff --git a/sdk/keyvault/azure-keyvault-administration/tests/_shared/test_case.py b/sdk/keyvault/azure-keyvault-administration/tests/_shared/test_case.py new file mode 100644 index 000000000000..c6716ea2574e --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/tests/_shared/test_case.py @@ -0,0 +1,46 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import time + +from azure_devtools.scenario_tests.patches import patch_time_sleep_api +from devtools_testutils import AzureMgmtTestCase + + +class KeyVaultTestCase(AzureMgmtTestCase): + def __init__(self, *args, **kwargs): + if "match_body" not in kwargs: + kwargs["match_body"] = True + + super(KeyVaultTestCase, self).__init__(*args, **kwargs) + self.replay_patches.append(patch_time_sleep_api) + + def setUp(self): + self.list_test_size = 7 + super(KeyVaultTestCase, self).setUp() + + def _poll_until_no_exception(self, fn, expected_exception, max_retries=20, retry_delay=3): + """polling helper for live tests because some operations take an unpredictable amount of time to complete""" + + for i in range(max_retries): + try: + return fn() + except expected_exception: + if i == max_retries - 1: + raise + if self.is_live: + time.sleep(retry_delay) + + def _poll_until_exception(self, fn, expected_exception, max_retries=20, retry_delay=3): + """polling helper for live tests because some operations take an unpredictable amount of time to complete""" + + for _ in range(max_retries): + try: + fn() + if self.is_live: + time.sleep(retry_delay) + except expected_exception: + return + + self.fail("expected exception {expected_exception} was not raised") diff --git a/sdk/keyvault/azure-keyvault-administration/tests/_shared/test_case_async.py b/sdk/keyvault/azure-keyvault-administration/tests/_shared/test_case_async.py new file mode 100644 index 000000000000..07991be314ff --- /dev/null +++ b/sdk/keyvault/azure-keyvault-administration/tests/_shared/test_case_async.py @@ -0,0 +1,54 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import asyncio + +from azure_devtools.scenario_tests.patches import mock_in_unit_test +from devtools_testutils import AzureMgmtTestCase + + +def skip_sleep(unit_test): + async def immediate_return(_): + return + + return mock_in_unit_test(unit_test, "asyncio.sleep", immediate_return) + + +class KeyVaultTestCase(AzureMgmtTestCase): + def __init__(self, *args, match_body=True, **kwargs): + super().__init__(*args, match_body=match_body, **kwargs) + self.replay_patches.append(skip_sleep) + + def setUp(self): + self.list_test_size = 7 + super(KeyVaultTestCase, self).setUp() + + async def _poll_until_no_exception(self, fn, *resource_names, expected_exception, max_retries=20, retry_delay=3): + """polling helper for live tests because some operations take an unpredictable amount of time to complete""" + + for name in resource_names: + for i in range(max_retries): + try: + # TODO: better for caller to apply args to fn; could also gather + await fn(name) + break + except expected_exception: + if i == max_retries - 1: + raise + if self.is_live: + await asyncio.sleep(retry_delay) + + async def _poll_until_exception(self, fn, *resource_names, expected_exception, max_retries=20, retry_delay=3): + """polling helper for live tests because some operations take an unpredictable amount of time to complete""" + + for name in resource_names: + for _ in range(max_retries): + try: + # TODO: better for caller to apply args to fn; could also gather + await fn(name) + if self.is_live: + await asyncio.sleep(retry_delay) + except expected_exception: + return + self.fail("expected exception {expected_exception} was not raised") diff --git a/sdk/keyvault/azure-keyvault-certificates/README.md b/sdk/keyvault/azure-keyvault-certificates/README.md index a20d09f33089..a0789714242b 100644 --- a/sdk/keyvault/azure-keyvault-certificates/README.md +++ b/sdk/keyvault/azure-keyvault-certificates/README.md @@ -413,7 +413,7 @@ additional questions or comments. [backup_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py [hello_world_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py [hello_world_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py -[keyvault_docs]: https://docs.microsoft.com/en-us/azure/key-vault/ +[keyvault_docs]: https://docs.microsoft.com/azure/key-vault/ [list_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py [list_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py [recover_purge_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py @@ -428,6 +428,6 @@ additional questions or comments. [reference_docs]: https://aka.ms/azsdk/python/keyvault-certificates/docs [certificates_client_src]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates [certificates_samples]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-certificates/samples -[soft_delete]: https://docs.microsoft.com/en-us/azure/key-vault/key-vault-ovw-soft-delete +[soft_delete]: https://docs.microsoft.com/azure/key-vault/key-vault-ovw-soft-delete ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Fkeyvault%2Fazure-keyvault-certificates%2FFREADME.png) diff --git a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_models.py b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_models.py index 5cbf94f9a79f..a73c8e359ef4 100644 --- a/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_models.py +++ b/sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_models.py @@ -450,21 +450,18 @@ def __repr__(self): def _from_certificate_operation_bundle(cls, certificate_operation_bundle): # type: (models.CertificateOperation) -> CertificateOperation """Construct a CertificateOperation from an autorest-generated CertificateOperation""" + + issuer_parameters = certificate_operation_bundle.issuer_parameters return cls( cert_operation_id=certificate_operation_bundle.id, - issuer_name=(certificate_operation_bundle.issuer_parameters.name - if certificate_operation_bundle.issuer_parameters - else None), + issuer_name=issuer_parameters.name, certificate_type=( certificate_operation_bundle.issuer_parameters.certificate_type if certificate_operation_bundle.issuer_parameters else None ), - certificate_transparency=( - certificate_operation_bundle.issuer_parameters.certificate_transparency - if certificate_operation_bundle.issuer_parameters - else None - ), + # 2016-10-01 IssuerParameters doesn't have certificate_transparency + certificate_transparency=getattr(issuer_parameters, "certificate_transparency", None), csr=certificate_operation_bundle.csr, cancellation_requested=certificate_operation_bundle.cancellation_requested, status=certificate_operation_bundle.status, @@ -667,7 +664,7 @@ def _to_certificate_policy_bundle(self): issuer_parameters = models.IssuerParameters( name=self.issuer_name, certificate_type=self.certificate_type, - certificate_transparency=self.certificate_transparency, + certificate_transparency=self.certificate_transparency, # 2016-10-01 model will ignore this ) else: issuer_parameters = None @@ -775,27 +772,23 @@ def _from_certificate_policy_bundle(cls, certificate_policy_bundle): else: key_usage = None key_properties = certificate_policy_bundle.key_properties + curve_name = getattr(key_properties, "curve", None) # missing from 2016-10-01 KeyProperties + if curve_name: + curve_name = KeyCurveName(curve_name) + + issuer_parameters = certificate_policy_bundle.issuer_parameters return cls( - issuer_name=(certificate_policy_bundle.issuer_parameters.name - if certificate_policy_bundle.issuer_parameters else None - ), + issuer_name=issuer_parameters.name, subject=(x509_certificate_properties.subject if x509_certificate_properties else None), - certificate_type=( - certificate_policy_bundle.issuer_parameters.certificate_type - if certificate_policy_bundle.issuer_parameters - else None - ), - certificate_transparency=( - certificate_policy_bundle.issuer_parameters.certificate_transparency - if certificate_policy_bundle.issuer_parameters - else None - ), + certificate_type=issuer_parameters.certificate_type, + # 2016-10-01 IssuerParameters doesn't have certificate_transparency + certificate_transparency=getattr(issuer_parameters, "certificate_transparency", None), lifetime_actions=lifetime_actions, exportable=key_properties.exportable if key_properties else None, key_type=KeyType(key_properties.key_type) if key_properties and key_properties.key_type else None, key_size=key_properties.key_size if key_properties else None, reuse_key=key_properties.reuse_key if key_properties else None, - key_curve_name=KeyCurveName(key_properties.curve) if key_properties and key_properties.curve else None, + key_curve_name=curve_name, enhanced_key_usage=x509_certificate_properties.ekus if x509_certificate_properties else None, key_usage=key_usage, content_type=( diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/README.md b/sdk/keyvault/azure-keyvault-certificates/samples/README.md index b9176098e14b..3b984246177d 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/README.md +++ b/sdk/keyvault/azure-keyvault-certificates/samples/README.md @@ -24,7 +24,7 @@ recover certificates [backup_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py [hello_world_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py [hello_world_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py -[keyvault_docs]: https://docs.microsoft.com/en-us/azure/key-vault/ +[keyvault_docs]: https://docs.microsoft.com/azure/key-vault/ [list_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py [list_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py [recover_purge_operations_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py diff --git a/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py b/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py index 75932b9c9605..645af92821ee 100644 --- a/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py @@ -68,10 +68,9 @@ async def run_sample(): tags = {"a": "b"} - updated_bank_certificate_poller = await client.create_certificate( + bank_certificate = await client.create_certificate( certificate_name=bank_cert_name, policy=CertificatePolicy.get_default(), tags=tags ) - bank_certificate = await updated_bank_certificate_poller print( "Certificate with name '{0}' was created again with tags '{1}'".format( bank_certificate.name, bank_certificate.properties.tags diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/recordings/test_certificates_client.test_2016_10_01_models.yaml b/sdk/keyvault/azure-keyvault-certificates/tests/recordings/test_certificates_client.test_2016_10_01_models.yaml new file mode 100644 index 000000000000..5ea7cfe0fc5c --- /dev/null +++ b/sdk/keyvault/azure-keyvault-certificates/tests/recordings/test_certificates_client.test_2016_10_01_models.yaml @@ -0,0 +1,395 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - azsdk-python-keyvault-certificates/4.2.1 Python/3.5.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://vaultname.vault.azure.net/certificates/certb81a116d/create?api-version=2016-10-01 + response: + body: + string: '{"error":{"code":"Unauthorized","message":"Request is missing a Bearer + or PoP token."}}' + headers: + cache-control: + - no-cache + content-length: + - '87' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 Aug 2020 21:57:37 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + www-authenticate: + - Bearer authorization="https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + resource="https://vault.azure.net" + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=24.17.201.78;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westus + x-ms-keyvault-service-version: + - 1.1.31.4 + x-powered-by: + - ASP.NET + status: + code: 401 + message: Unauthorized +- request: + body: '{"policy": {"x509_props": {"subject": "CN=DefaultPolicy", "sans": {}}, + "issuer": {"name": "Self"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '99' + Content-Type: + - application/json + User-Agent: + - azsdk-python-keyvault-certificates/4.2.1 Python/3.5.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://vaultname.vault.azure.net/certificates/certb81a116d/create?api-version=2016-10-01 + response: + body: + string: '{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/pending","issuer":{"name":"Self"},"csr":"MIICqDCCAZACAQAwGDEWMBQGA1UEAxMNRGVmYXVsdFBvbGljeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALc5ApOeeyu064QOivTm9mgpsMkTqEjegjgKj6Bav+6rmgr0GS976w+Or+4EpHhTxNSax9C3Pyw8PKrJU45OBdTQn+5h5Y7N2MumREvBsMFnycKOU0vMe2uxPOcXlXTJj+t6j3it54hk/ExdlQG7oYPlxw2RmSW+ZVO5ZCphgThVBozNINcE8bQV8KciuUQKUyCQx/wdkikPaq1qnEuQ883HdofoBQJ9rvPoNcKEE/x+WTB1NA52d5WOwAOgpf92ro82XZWajGzjY9pkiPrb+u89fX1g6fczvjqXRp3FPSsrzTR1oZ8zc1NR2ZQbKkCISF2uWrpx3jjoc2KjxhhAcGECAwEAAaBLMEkGCSqGSIb3DQEJDjE8MDowDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAXY6j0agUrOsfsfWcsEsp6Quu27klwfgEhELa2HUvSMPtay5QARrSSsTwmx09Hw9ayyERi4E6eVhEufxdLLamvjbOqRJUlY7m0pbusKr1xgCmoggXPJDl/5L7rU49dCjP+YXXxzEaTkkD27sePXqptNWB4rODrHZ/5Akup6YadX0ntOd2nIxO0qhM8tt0TXHArCMjBsjzOXwOq5PR6cU2lYEylHzQkSaL9qLi6s4u1pDTug3xaaJLPdZBKBZ0z2X+wzgAHBXigx+k2In7lsZKAXbbiH1TRusxUf5qrYsq0P7HI1RyIzuLKkG07AQ4ORlhPyEsStVh/LBBlC3McuBae","cancellation_requested":false,"status":"inProgress","status_details":"Pending + certificate created. Certificate request is in progress. This may take some + time based on the issuer provider. Please check again later.","request_id":"36abd634c44a425db54e971c3cc52011"}' + headers: + cache-control: + - no-cache + content-length: + - '1302' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 Aug 2020 21:57:38 GMT + expires: + - '-1' + location: + - https://vaultname.vault.azure.net/certificates/certb81a116d/pending?api-version=2016-10-01&request_id=36abd634c44a425db54e971c3cc52011 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=24.17.201.78;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westus + x-ms-keyvault-service-version: + - 1.1.31.4 + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-keyvault-certificates/4.2.1 Python/3.5.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://vaultname.vault.azure.net/certificates/certb81a116d/pending?api-version=2016-10-01 + response: + body: + string: '{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/pending","issuer":{"name":"Self"},"csr":"MIICqDCCAZACAQAwGDEWMBQGA1UEAxMNRGVmYXVsdFBvbGljeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALc5ApOeeyu064QOivTm9mgpsMkTqEjegjgKj6Bav+6rmgr0GS976w+Or+4EpHhTxNSax9C3Pyw8PKrJU45OBdTQn+5h5Y7N2MumREvBsMFnycKOU0vMe2uxPOcXlXTJj+t6j3it54hk/ExdlQG7oYPlxw2RmSW+ZVO5ZCphgThVBozNINcE8bQV8KciuUQKUyCQx/wdkikPaq1qnEuQ883HdofoBQJ9rvPoNcKEE/x+WTB1NA52d5WOwAOgpf92ro82XZWajGzjY9pkiPrb+u89fX1g6fczvjqXRp3FPSsrzTR1oZ8zc1NR2ZQbKkCISF2uWrpx3jjoc2KjxhhAcGECAwEAAaBLMEkGCSqGSIb3DQEJDjE8MDowDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAXY6j0agUrOsfsfWcsEsp6Quu27klwfgEhELa2HUvSMPtay5QARrSSsTwmx09Hw9ayyERi4E6eVhEufxdLLamvjbOqRJUlY7m0pbusKr1xgCmoggXPJDl/5L7rU49dCjP+YXXxzEaTkkD27sePXqptNWB4rODrHZ/5Akup6YadX0ntOd2nIxO0qhM8tt0TXHArCMjBsjzOXwOq5PR6cU2lYEylHzQkSaL9qLi6s4u1pDTug3xaaJLPdZBKBZ0z2X+wzgAHBXigx+k2In7lsZKAXbbiH1TRusxUf5qrYsq0P7HI1RyIzuLKkG07AQ4ORlhPyEsStVh/LBBlC3McuBae","cancellation_requested":false,"status":"inProgress","status_details":"Pending + certificate created. Certificate request is in progress. This may take some + time based on the issuer provider. Please check again later.","request_id":"36abd634c44a425db54e971c3cc52011"}' + headers: + cache-control: + - no-cache + content-length: + - '1302' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 Aug 2020 21:57:38 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=24.17.201.78;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westus + x-ms-keyvault-service-version: + - 1.1.31.4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-keyvault-certificates/4.2.1 Python/3.5.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://vaultname.vault.azure.net/certificates/certb81a116d/pending?api-version=2016-10-01 + response: + body: + string: '{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/pending","issuer":{"name":"Self"},"csr":"MIICqDCCAZACAQAwGDEWMBQGA1UEAxMNRGVmYXVsdFBvbGljeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALc5ApOeeyu064QOivTm9mgpsMkTqEjegjgKj6Bav+6rmgr0GS976w+Or+4EpHhTxNSax9C3Pyw8PKrJU45OBdTQn+5h5Y7N2MumREvBsMFnycKOU0vMe2uxPOcXlXTJj+t6j3it54hk/ExdlQG7oYPlxw2RmSW+ZVO5ZCphgThVBozNINcE8bQV8KciuUQKUyCQx/wdkikPaq1qnEuQ883HdofoBQJ9rvPoNcKEE/x+WTB1NA52d5WOwAOgpf92ro82XZWajGzjY9pkiPrb+u89fX1g6fczvjqXRp3FPSsrzTR1oZ8zc1NR2ZQbKkCISF2uWrpx3jjoc2KjxhhAcGECAwEAAaBLMEkGCSqGSIb3DQEJDjE8MDowDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAXY6j0agUrOsfsfWcsEsp6Quu27klwfgEhELa2HUvSMPtay5QARrSSsTwmx09Hw9ayyERi4E6eVhEufxdLLamvjbOqRJUlY7m0pbusKr1xgCmoggXPJDl/5L7rU49dCjP+YXXxzEaTkkD27sePXqptNWB4rODrHZ/5Akup6YadX0ntOd2nIxO0qhM8tt0TXHArCMjBsjzOXwOq5PR6cU2lYEylHzQkSaL9qLi6s4u1pDTug3xaaJLPdZBKBZ0z2X+wzgAHBXigx+k2In7lsZKAXbbiH1TRusxUf5qrYsq0P7HI1RyIzuLKkG07AQ4ORlhPyEsStVh/LBBlC3McuBae","cancellation_requested":false,"status":"inProgress","status_details":"Pending + certificate created. Certificate request is in progress. This may take some + time based on the issuer provider. Please check again later.","request_id":"36abd634c44a425db54e971c3cc52011"}' + headers: + cache-control: + - no-cache + content-length: + - '1302' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 Aug 2020 21:57:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=24.17.201.78;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westus + x-ms-keyvault-service-version: + - 1.1.31.4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-keyvault-certificates/4.2.1 Python/3.5.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://vaultname.vault.azure.net/certificates/certb81a116d/pending?api-version=2016-10-01 + response: + body: + string: '{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/pending","issuer":{"name":"Self"},"csr":"MIICqDCCAZACAQAwGDEWMBQGA1UEAxMNRGVmYXVsdFBvbGljeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALc5ApOeeyu064QOivTm9mgpsMkTqEjegjgKj6Bav+6rmgr0GS976w+Or+4EpHhTxNSax9C3Pyw8PKrJU45OBdTQn+5h5Y7N2MumREvBsMFnycKOU0vMe2uxPOcXlXTJj+t6j3it54hk/ExdlQG7oYPlxw2RmSW+ZVO5ZCphgThVBozNINcE8bQV8KciuUQKUyCQx/wdkikPaq1qnEuQ883HdofoBQJ9rvPoNcKEE/x+WTB1NA52d5WOwAOgpf92ro82XZWajGzjY9pkiPrb+u89fX1g6fczvjqXRp3FPSsrzTR1oZ8zc1NR2ZQbKkCISF2uWrpx3jjoc2KjxhhAcGECAwEAAaBLMEkGCSqGSIb3DQEJDjE8MDowDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAXY6j0agUrOsfsfWcsEsp6Quu27klwfgEhELa2HUvSMPtay5QARrSSsTwmx09Hw9ayyERi4E6eVhEufxdLLamvjbOqRJUlY7m0pbusKr1xgCmoggXPJDl/5L7rU49dCjP+YXXxzEaTkkD27sePXqptNWB4rODrHZ/5Akup6YadX0ntOd2nIxO0qhM8tt0TXHArCMjBsjzOXwOq5PR6cU2lYEylHzQkSaL9qLi6s4u1pDTug3xaaJLPdZBKBZ0z2X+wzgAHBXigx+k2In7lsZKAXbbiH1TRusxUf5qrYsq0P7HI1RyIzuLKkG07AQ4ORlhPyEsStVh/LBBlC3McuBae","cancellation_requested":false,"status":"inProgress","status_details":"Pending + certificate created. Certificate request is in progress. This may take some + time based on the issuer provider. Please check again later.","request_id":"36abd634c44a425db54e971c3cc52011"}' + headers: + cache-control: + - no-cache + content-length: + - '1302' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 Aug 2020 21:57:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=24.17.201.78;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westus + x-ms-keyvault-service-version: + - 1.1.31.4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-keyvault-certificates/4.2.1 Python/3.5.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://vaultname.vault.azure.net/certificates/certb81a116d/pending?api-version=2016-10-01 + response: + body: + string: '{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/pending","issuer":{"name":"Self"},"csr":"MIICqDCCAZACAQAwGDEWMBQGA1UEAxMNRGVmYXVsdFBvbGljeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALc5ApOeeyu064QOivTm9mgpsMkTqEjegjgKj6Bav+6rmgr0GS976w+Or+4EpHhTxNSax9C3Pyw8PKrJU45OBdTQn+5h5Y7N2MumREvBsMFnycKOU0vMe2uxPOcXlXTJj+t6j3it54hk/ExdlQG7oYPlxw2RmSW+ZVO5ZCphgThVBozNINcE8bQV8KciuUQKUyCQx/wdkikPaq1qnEuQ883HdofoBQJ9rvPoNcKEE/x+WTB1NA52d5WOwAOgpf92ro82XZWajGzjY9pkiPrb+u89fX1g6fczvjqXRp3FPSsrzTR1oZ8zc1NR2ZQbKkCISF2uWrpx3jjoc2KjxhhAcGECAwEAAaBLMEkGCSqGSIb3DQEJDjE8MDowDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAXY6j0agUrOsfsfWcsEsp6Quu27klwfgEhELa2HUvSMPtay5QARrSSsTwmx09Hw9ayyERi4E6eVhEufxdLLamvjbOqRJUlY7m0pbusKr1xgCmoggXPJDl/5L7rU49dCjP+YXXxzEaTkkD27sePXqptNWB4rODrHZ/5Akup6YadX0ntOd2nIxO0qhM8tt0TXHArCMjBsjzOXwOq5PR6cU2lYEylHzQkSaL9qLi6s4u1pDTug3xaaJLPdZBKBZ0z2X+wzgAHBXigx+k2In7lsZKAXbbiH1TRusxUf5qrYsq0P7HI1RyIzuLKkG07AQ4ORlhPyEsStVh/LBBlC3McuBae","cancellation_requested":false,"status":"inProgress","status_details":"Pending + certificate created. Certificate request is in progress. This may take some + time based on the issuer provider. Please check again later.","request_id":"36abd634c44a425db54e971c3cc52011"}' + headers: + cache-control: + - no-cache + content-length: + - '1302' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 Aug 2020 21:57:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=24.17.201.78;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westus + x-ms-keyvault-service-version: + - 1.1.31.4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-keyvault-certificates/4.2.1 Python/3.5.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://vaultname.vault.azure.net/certificates/certb81a116d/pending?api-version=2016-10-01 + response: + body: + string: '{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/pending","issuer":{"name":"Self"},"csr":"MIICqDCCAZACAQAwGDEWMBQGA1UEAxMNRGVmYXVsdFBvbGljeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALc5ApOeeyu064QOivTm9mgpsMkTqEjegjgKj6Bav+6rmgr0GS976w+Or+4EpHhTxNSax9C3Pyw8PKrJU45OBdTQn+5h5Y7N2MumREvBsMFnycKOU0vMe2uxPOcXlXTJj+t6j3it54hk/ExdlQG7oYPlxw2RmSW+ZVO5ZCphgThVBozNINcE8bQV8KciuUQKUyCQx/wdkikPaq1qnEuQ883HdofoBQJ9rvPoNcKEE/x+WTB1NA52d5WOwAOgpf92ro82XZWajGzjY9pkiPrb+u89fX1g6fczvjqXRp3FPSsrzTR1oZ8zc1NR2ZQbKkCISF2uWrpx3jjoc2KjxhhAcGECAwEAAaBLMEkGCSqGSIb3DQEJDjE8MDowDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAXY6j0agUrOsfsfWcsEsp6Quu27klwfgEhELa2HUvSMPtay5QARrSSsTwmx09Hw9ayyERi4E6eVhEufxdLLamvjbOqRJUlY7m0pbusKr1xgCmoggXPJDl/5L7rU49dCjP+YXXxzEaTkkD27sePXqptNWB4rODrHZ/5Akup6YadX0ntOd2nIxO0qhM8tt0TXHArCMjBsjzOXwOq5PR6cU2lYEylHzQkSaL9qLi6s4u1pDTug3xaaJLPdZBKBZ0z2X+wzgAHBXigx+k2In7lsZKAXbbiH1TRusxUf5qrYsq0P7HI1RyIzuLKkG07AQ4ORlhPyEsStVh/LBBlC3McuBae","cancellation_requested":false,"status":"completed","target":"https://vaultname.vault.azure.net/certificates/certb81a116d","request_id":"36abd634c44a425db54e971c3cc52011"}' + headers: + cache-control: + - no-cache + content-length: + - '1223' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 Aug 2020 21:57:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=24.17.201.78;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westus + x-ms-keyvault-service-version: + - 1.1.31.4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-keyvault-certificates/4.2.1 Python/3.5.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://vaultname.vault.azure.net/certificates/certb81a116d/?api-version=2016-10-01 + response: + body: + string: '{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/c90ec48f3d15432682bcdda7b91e24d2","kid":"https://vaultname.vault.azure.net/keys/certb81a116d/c90ec48f3d15432682bcdda7b91e24d2","sid":"https://vaultname.vault.azure.net/secrets/certb81a116d/c90ec48f3d15432682bcdda7b91e24d2","x5t":"YB8hpzNuUUnBts670ui4x8obRTw","cer":"MIIDNjCCAh6gAwIBAgIQHHHqA9RgRC6fan+r1SdguDANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDEw1EZWZhdWx0UG9saWN5MB4XDTIwMDgxNDIxNDc1NloXDTIxMDgxNDIxNTc1NlowGDEWMBQGA1UEAxMNRGVmYXVsdFBvbGljeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALc5ApOeeyu064QOivTm9mgpsMkTqEjegjgKj6Bav+6rmgr0GS976w+Or+4EpHhTxNSax9C3Pyw8PKrJU45OBdTQn+5h5Y7N2MumREvBsMFnycKOU0vMe2uxPOcXlXTJj+t6j3it54hk/ExdlQG7oYPlxw2RmSW+ZVO5ZCphgThVBozNINcE8bQV8KciuUQKUyCQx/wdkikPaq1qnEuQ883HdofoBQJ9rvPoNcKEE/x+WTB1NA52d5WOwAOgpf92ro82XZWajGzjY9pkiPrb+u89fX1g6fczvjqXRp3FPSsrzTR1oZ8zc1NR2ZQbKkCISF2uWrpx3jjoc2KjxhhAcGECAwEAAaN8MHowDgYDVR0PAQH/BAQDAgWgMAkGA1UdEwQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFEZdbqwP8jT7Ty3ub84SE7TljkYyMB0GA1UdDgQWBBRGXW6sD/I0+08t7m/OEhO05Y5GMjANBgkqhkiG9w0BAQsFAAOCAQEAmKxQTPGTVuoizDx/tPKShFGZPOiZ8ieDfm2UNEkpBs79Hw/Svf+/CXLLJVbm1y0OJ/LBPgXWgdKYyaZhva++zS8ebHCnb2+apM5sDe1D6woUkOfo0i7LZ2u24zFeGNSSjSi5yJRoK52aZqxZYHWNnkrZVAlLVIuPMvQpcHUn/AWpjtkmzwhDS6D5EmyQiRn9q1OsbiKT0Pr7bRYDuR6wcZF5KXQI04B6qqgc4GtgfNAA/We91y+C+1hQYK7PhPKXUKDOKkj0tBG/EgSWQbzfg99owkHq0YnsOJ73/wGKoI6CsxkVLjFmlM0E42xrRvZN9gBr/UQiCLVZaHUhqv2UOw==","attributes":{"enabled":true,"nbf":1597441676,"exp":1628978276,"created":1597442276,"updated":1597442276,"recoveryLevel":"Recoverable+Purgeable"},"policy":{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=DefaultPolicy","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1597442258,"updated":1597442258}},"pending":{"id":"https://vaultname.vault.azure.net/certificates/certb81a116d/pending"}}' + headers: + cache-control: + - no-cache + content-length: + - '2366' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 Aug 2020 21:57:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - conn_type=Ipv4;addr=24.17.201.78;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westus + x-ms-keyvault-service-version: + - 1.1.31.4 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py b/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py index 92cfe6c8763d..c69e57756f69 100644 --- a/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py +++ b/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py @@ -11,6 +11,7 @@ from azure.keyvault.certificates import ( AdministratorContact, + ApiVersion, CertificateClient, CertificateContact, CertificatePolicyAction, @@ -622,6 +623,19 @@ def test_logging_disabled(self, client, **kwargs): # this means the message is not JSON or has no kty property pass + @ResourceGroupPreparer(random_name_enabled=True) + @KeyVaultPreparer() + @KeyVaultClientPreparer(client_kwargs={"api_version": ApiVersion.V2016_10_01}) + def test_2016_10_01_models(self, client, **kwargs): + """The client should correctly deserialize version 2016-10-01 models""" + + cert_name = self.get_resource_name("cert") + cert = client.begin_create_certificate(cert_name, CertificatePolicy.get_default()).result() + + # these properties don't exist in version 2016-10-01 + assert cert.policy.key_curve_name is None + assert cert.policy.certificate_transparency is None + @ResourceGroupPreparer(random_name_enabled=True) @KeyVaultPreparer() @KeyVaultClientPreparer() diff --git a/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py b/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py index cddc9eaf3ea3..7aa5d82d8efe 100644 --- a/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py +++ b/sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py @@ -655,7 +655,8 @@ async def test_allowed_headers_passed_to_http_logging_policy(self, client, **kwa async def test_get_certificate_version(self, client, **kwargs): cert_name = self.get_resource_name("cert") policy = CertificatePolicy.get_default() - await asyncio.gather(*[client.create_certificate(cert_name, policy) for _ in range(self.list_test_size)]) + for _ in range(self.list_test_size): + await client.create_certificate(cert_name, policy) async for version_properties in client.list_properties_of_certificate_versions(cert_name): cert = await client.get_certificate_version(version_properties.name, version_properties.version) diff --git a/sdk/keyvault/azure-keyvault-keys/README.md b/sdk/keyvault/azure-keyvault-keys/README.md index 5fa94dc08f9a..15f0a218147d 100644 --- a/sdk/keyvault/azure-keyvault-keys/README.md +++ b/sdk/keyvault/azure-keyvault-keys/README.md @@ -138,7 +138,7 @@ Azure Key Vault can create and store RSA and elliptic curve keys. Both can optionally be protected by hardware security modules (HSMs). Azure Key Vault can also perform cryptographic operations with them. For more information about keys and supported operations and algorithms, see the -[Key Vault documentation](https://docs.microsoft.com/en-us/azure/key-vault/about-keys-secrets-and-certificates#key-vault-keys). +[Key Vault documentation](https://docs.microsoft.com/azure/key-vault/about-keys-secrets-and-certificates#key-vault-keys). [KeyClient][key_client_docs] can create keys in the vault, get existing keys from the vault, update key metadata, and delete keys, as shown in the @@ -439,7 +439,7 @@ additional questions or comments. [list_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-keys/samples/list_operations_async.py [recover_purge_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations.py [recover_purge_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-keys/samples/recover_purge_operations_async.py -[keyvault_docs]: https://docs.microsoft.com/en-us/azure/key-vault/ +[keyvault_docs]: https://docs.microsoft.com/azure/key-vault/ [pip]: https://pypi.org/project/pip/ [pypi_package_keys]: https://pypi.org/project/azure-keyvault-keys/ [reference_docs]: https://aka.ms/azsdk/python/keyvault-keys/docs @@ -447,6 +447,6 @@ additional questions or comments. [crypto_client_docs]: https://aka.ms/azsdk/python/keyvault-keys/crypto/docs [key_client_src]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys/azure/keyvault/keys [key_samples]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys/samples -[soft_delete]: https://docs.microsoft.com/en-us/azure/key-vault/key-vault-ovw-soft-delete +[soft_delete]: https://docs.microsoft.com/azure/key-vault/key-vault-ovw-soft-delete ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Fkeyvault%2Fazure-keyvault-keys%2FFREADME.png) diff --git a/sdk/keyvault/azure-keyvault-secrets/README.md b/sdk/keyvault/azure-keyvault-secrets/README.md index 906cdea98179..7aebb1ad9b23 100644 --- a/sdk/keyvault/azure-keyvault-secrets/README.md +++ b/sdk/keyvault/azure-keyvault-secrets/README.md @@ -139,7 +139,7 @@ A secret consists of a secret value and its associated metadata and management information. This library handles secret values as strings, but Azure Key Vault doesn't store them as such. For more information about secrets and how Key Vault stores and manages them, see the -[Key Vault documentation](https://docs.microsoft.com/en-us/azure/key-vault/about-keys-secrets-and-certificates#key-vault-secrets). +[Key Vault documentation](https://docs.microsoft.com/azure/key-vault/about-keys-secrets-and-certificates#key-vault-secrets). [SecretClient][secret_client_docs] can set secret values in the vault, update secret metadata, and delete secrets, as shown in the @@ -417,13 +417,13 @@ additional questions or comments. [list_operations_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-secrets/samples/list_operations_async.py [recover_purge_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations.py [recover_purge_async_sample]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-secrets/samples/recover_purge_operations_async.py -[keyvault_docs]: https://docs.microsoft.com/en-us/azure/key-vault/ +[keyvault_docs]: https://docs.microsoft.com/azure/key-vault/ [pip]: https://pypi.org/project/pip/ [pypi_package_secrets]: https://pypi.org/project/azure-keyvault-secrets/ [reference_docs]: https://aka.ms/azsdk/python/keyvault-secrets/docs [secret_client_src]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets [secret_client_docs]: https://aka.ms/azsdk/python/keyvault-secrets/docs#azure.keyvault.secrets.SecretClient [secret_samples]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-secrets/samples -[soft_delete]: https://docs.microsoft.com/en-us/azure/key-vault/key-vault-ovw-soft-delete +[soft_delete]: https://docs.microsoft.com/azure/key-vault/key-vault-ovw-soft-delete ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Fkeyvault%2Fazure-keyvault-secrets%2FFREADME.png) diff --git a/sdk/keyvault/ci.yml b/sdk/keyvault/ci.yml index 395b8c414d2e..d7221d1f1503 100644 --- a/sdk/keyvault/ci.yml +++ b/sdk/keyvault/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -44,4 +43,4 @@ extends: - name: azure_mgmt_keyvault safeName: azuremgmtkeyvault - name: azure_keyvault - safeName: azurekeyvault \ No newline at end of file + safeName: azurekeyvault diff --git a/sdk/kubernetesconfiguration/ci.yml b/sdk/kubernetesconfiguration/ci.yml index 790a2cac9ca3..7a8aa6f9f48a 100644 --- a/sdk/kubernetesconfiguration/ci.yml +++ b/sdk/kubernetesconfiguration/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: kubernetesconfiguration Artifacts: - name: azure_mgmt_kubernetesconfiguration - safeName: azuremgmtkubernetesconfiguration \ No newline at end of file + safeName: azuremgmtkubernetesconfiguration diff --git a/sdk/kusto/ci.yml b/sdk/kusto/ci.yml index ed6c04fb92a2..90d1a2983c61 100644 --- a/sdk/kusto/ci.yml +++ b/sdk/kusto/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: kusto Artifacts: - name: azure_mgmt_kusto - safeName: azuremgmtkusto \ No newline at end of file + safeName: azuremgmtkusto diff --git a/sdk/labservices/ci.yml b/sdk/labservices/ci.yml index 566a1443acf1..142daa2e659d 100644 --- a/sdk/labservices/ci.yml +++ b/sdk/labservices/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: labservices Artifacts: - name: azure_mgmt_labservices - safeName: azuremgmtlabservices \ No newline at end of file + safeName: azuremgmtlabservices diff --git a/sdk/loganalytics/ci.yml b/sdk/loganalytics/ci.yml index cea2a17237f2..7555967f7d52 100644 --- a/sdk/loganalytics/ci.yml +++ b/sdk/loganalytics/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -32,4 +31,4 @@ extends: - name: azure_loganalytics safeName: azureloganalytics - name: azure_mgmt_loganalytics - safeName: azuremgmtloganalytics \ No newline at end of file + safeName: azuremgmtloganalytics diff --git a/sdk/logic/ci.yml b/sdk/logic/ci.yml index 675caf9b6a9c..d516fbc1f2b9 100644 --- a/sdk/logic/ci.yml +++ b/sdk/logic/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: logic Artifacts: - name: azure_mgmt_logic - safeName: azuremgmtlogic \ No newline at end of file + safeName: azuremgmtlogic diff --git a/sdk/machinelearning/ci.yml b/sdk/machinelearning/ci.yml index 261da6258d67..72dc185fd1e1 100644 --- a/sdk/machinelearning/ci.yml +++ b/sdk/machinelearning/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -32,4 +31,4 @@ extends: - name: azure_mgmt_machinelearningcompute safeName: azuremgmtmachinelearningcompute - name: azure_mgmt_machinelearningservices - safeName: azuremgmtmachinelearningservices \ No newline at end of file + safeName: azuremgmtmachinelearningservices diff --git a/sdk/maintenance/ci.yml b/sdk/maintenance/ci.yml index 2964325cd1fb..276441a757d0 100644 --- a/sdk/maintenance/ci.yml +++ b/sdk/maintenance/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: maintenance Artifacts: - name: azure_mgmt_maintenance - safeName: azuremgmtmaintenance \ No newline at end of file + safeName: azuremgmtmaintenance diff --git a/sdk/managedservices/ci.yml b/sdk/managedservices/ci.yml index 61cf334ddb70..ecf42501c5dc 100644 --- a/sdk/managedservices/ci.yml +++ b/sdk/managedservices/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: managedservices Artifacts: - name: azure_mgmt_managedservices - safeName: azuremgmtmanagedservices \ No newline at end of file + safeName: azuremgmtmanagedservices diff --git a/sdk/managementgroups/ci.yml b/sdk/managementgroups/ci.yml index 80db2bfdd34d..1bd118d62f42 100644 --- a/sdk/managementgroups/ci.yml +++ b/sdk/managementgroups/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: managementgroups Artifacts: - name: azure_mgmt_managementgroups - safeName: azuremgmtmanagementgroups \ No newline at end of file + safeName: azuremgmtmanagementgroups diff --git a/sdk/managementpartner/ci.yml b/sdk/managementpartner/ci.yml index 7db968619ef1..99aeee9eb9a4 100644 --- a/sdk/managementpartner/ci.yml +++ b/sdk/managementpartner/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: managementpartner Artifacts: - name: azure_mgmt_managementpartner - safeName: azuremgmtmanagementpartner \ No newline at end of file + safeName: azuremgmtmanagementpartner diff --git a/sdk/maps/ci.yml b/sdk/maps/ci.yml index a21a23435479..4f82483bee0b 100644 --- a/sdk/maps/ci.yml +++ b/sdk/maps/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/marketplaceordering/ci.yml b/sdk/marketplaceordering/ci.yml index 453c01d454c2..25b5699ae272 100644 --- a/sdk/marketplaceordering/ci.yml +++ b/sdk/marketplaceordering/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: marketplaceordering Artifacts: - name: azure_mgmt_marketplaceordering - safeName: azuremgmtmarketplaceordering \ No newline at end of file + safeName: azuremgmtmarketplaceordering diff --git a/sdk/media/ci.yml b/sdk/media/ci.yml index 0c6bd6fb9658..58a0d6292800 100644 --- a/sdk/media/ci.yml +++ b/sdk/media/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: media Artifacts: - name: azure_mgmt_media - safeName: azuremgmtmedia \ No newline at end of file + safeName: azuremgmtmedia diff --git a/sdk/mixedreality/ci.yml b/sdk/mixedreality/ci.yml index 417465bcec34..991d84a936a7 100644 --- a/sdk/mixedreality/ci.yml +++ b/sdk/mixedreality/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/monitor/ci.yml b/sdk/monitor/ci.yml index 75d96ca76af1..68ab210d971a 100644 --- a/sdk/monitor/ci.yml +++ b/sdk/monitor/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/netapp/ci.yml b/sdk/netapp/ci.yml index 1c9b7da7cfa7..059569196cc2 100644 --- a/sdk/netapp/ci.yml +++ b/sdk/netapp/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: netapp Artifacts: - name: azure_mgmt_netapp - safeName: azuremgmtnetapp \ No newline at end of file + safeName: azuremgmtnetapp diff --git a/sdk/network/ci.yml b/sdk/network/ci.yml index d649a4cb2d38..310670fc8151 100644 --- a/sdk/network/ci.yml +++ b/sdk/network/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/notificationhubs/ci.yml b/sdk/notificationhubs/ci.yml index e4a8fb90db52..4dc9202e89e2 100644 --- a/sdk/notificationhubs/ci.yml +++ b/sdk/notificationhubs/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/operationsmanagement/ci.yml b/sdk/operationsmanagement/ci.yml index 31fde542ea6d..78574d66b112 100644 --- a/sdk/operationsmanagement/ci.yml +++ b/sdk/operationsmanagement/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: operationsmanagement Artifacts: - name: azure_mgmt_operationsmanagement - safeName: azuremgmtoperationsmanagement \ No newline at end of file + safeName: azuremgmtoperationsmanagement diff --git a/sdk/peering/ci.yml b/sdk/peering/ci.yml index 1df047a85539..3405caa53f55 100644 --- a/sdk/peering/ci.yml +++ b/sdk/peering/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: peering Artifacts: - name: azure_mgmt_peering - safeName: azuremgmtpeering \ No newline at end of file + safeName: azuremgmtpeering diff --git a/sdk/policyinsights/ci.yml b/sdk/policyinsights/ci.yml index ba02dd04f8fd..dcc111469723 100644 --- a/sdk/policyinsights/ci.yml +++ b/sdk/policyinsights/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: policyinsights Artifacts: - name: azure_mgmt_policyinsights - safeName: azuremgmtpolicyinsights \ No newline at end of file + safeName: azuremgmtpolicyinsights diff --git a/sdk/powerbidedicated/ci.yml b/sdk/powerbidedicated/ci.yml index 04370ff5c9bb..9ac744822c5a 100644 --- a/sdk/powerbidedicated/ci.yml +++ b/sdk/powerbidedicated/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: powerbidedicated Artifacts: - name: azure_mgmt_powerbidedicated - safeName: azuremgmtpowerbidedicated \ No newline at end of file + safeName: azuremgmtpowerbidedicated diff --git a/sdk/powerbiembedded/ci.yml b/sdk/powerbiembedded/ci.yml index e75b2366164b..e2067042cb8f 100644 --- a/sdk/powerbiembedded/ci.yml +++ b/sdk/powerbiembedded/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: powerbiembedded Artifacts: - name: azure_mgmt_powerbiembedded - safeName: azuremgmtpowerbiembedded \ No newline at end of file + safeName: azuremgmtpowerbiembedded diff --git a/sdk/rdbms/ci.yml b/sdk/rdbms/ci.yml index 9f1006c1f262..837352c9c9f8 100644 --- a/sdk/rdbms/ci.yml +++ b/sdk/rdbms/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: rdbms Artifacts: - name: azure_mgmt_rdbms - safeName: azuremgmtrdbms \ No newline at end of file + safeName: azuremgmtrdbms diff --git a/sdk/recoveryservices/ci.yml b/sdk/recoveryservices/ci.yml index c18ed6e5139f..7adcceccaea7 100644 --- a/sdk/recoveryservices/ci.yml +++ b/sdk/recoveryservices/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/redhatopenshift/ci.yml b/sdk/redhatopenshift/ci.yml index e06fee95e0d5..4815effaf1e7 100644 --- a/sdk/redhatopenshift/ci.yml +++ b/sdk/redhatopenshift/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/redis/ci.yml b/sdk/redis/ci.yml index ade6de8da74f..c60b71c27694 100644 --- a/sdk/redis/ci.yml +++ b/sdk/redis/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: redis Artifacts: - name: azure_mgmt_redis - safeName: azuremgmtredis \ No newline at end of file + safeName: azuremgmtredis diff --git a/sdk/regionmove/azure-mgmt-regionmove/CHANGELOG.md b/sdk/regionmove/azure-mgmt-regionmove/CHANGELOG.md new file mode 100644 index 000000000000..e8415b077b20 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/CHANGELOG.md @@ -0,0 +1,5 @@ +# Release History + +## 1.0.0b1 (2020-08-27) + +* Initial Release diff --git a/sdk/regionmove/azure-mgmt-regionmove/MANIFEST.in b/sdk/regionmove/azure-mgmt-regionmove/MANIFEST.in new file mode 100644 index 000000000000..a3cb07df8765 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/MANIFEST.in @@ -0,0 +1,5 @@ +recursive-include tests *.py *.yaml +include *.md +include azure/__init__.py +include azure/mgmt/__init__.py + diff --git a/sdk/regionmove/azure-mgmt-regionmove/README.md b/sdk/regionmove/azure-mgmt-regionmove/README.md new file mode 100644 index 000000000000..c2f00b775c86 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/README.md @@ -0,0 +1,21 @@ +# Microsoft Azure SDK for Python + +This is the Microsoft Azure MyService Management Client Library. +This package has been tested with Python 2.7, 3.5, 3.6, 3.7 and 3.8. +For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all). + + +# Usage + +For code examples, see [MyService Management](https://docs.microsoft.com/python/api/overview/azure/) +on docs.microsoft.com. + + +# Provide Feedback + +If you encounter any bugs or have suggestions, please file an issue in the +[Issues](https://github.com/Azure/azure-sdk-for-python/issues) +section of the project. + + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-regionmove%2FREADME.png) diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/__init__.py b/sdk/regionmove/azure-mgmt-regionmove/azure/__init__.py new file mode 100644 index 000000000000..0260537a02bb --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/__init__.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/__init__.py new file mode 100644 index 000000000000..0260537a02bb --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/__init__.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/__init__.py new file mode 100644 index 000000000000..933564bc49b8 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._region_move_service_api import RegionMoveServiceAPI +from ._version import VERSION + +__version__ = VERSION +__all__ = ['RegionMoveServiceAPI'] + +try: + from ._patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_configuration.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_configuration.py new file mode 100644 index 000000000000..b338a1eca7ac --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_configuration.py @@ -0,0 +1,70 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class RegionMoveServiceAPIConfiguration(Configuration): + """Configuration for RegionMoveServiceAPI. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Subscription ID. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(RegionMoveServiceAPIConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-10-01-preview" + self.credential_scopes = ['https://management.azure.com/.default'] + self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + kwargs.setdefault('sdk_moniker', 'mgmt-regionmove/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_metadata.json b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_metadata.json new file mode 100644 index 000000000000..06be7399849c --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_metadata.json @@ -0,0 +1,56 @@ +{ + "chosen_version": "2019-10-01-preview", + "total_api_version_list": ["2019-10-01-preview"], + "client": { + "name": "RegionMoveServiceAPI", + "filename": "_region_move_service_api", + "description": "A first party Azure service orchestrating the move of Azure resources from one Azure region to another or between zones within a region." + }, + "global_parameters": { + "sync_method": { + "credential": { + "method_signature": "credential, # type: \"TokenCredential\"", + "description": "Credential needed for the client to connect to Azure.", + "docstring_type": "~azure.core.credentials.TokenCredential", + "required": true + }, + "subscription_id": { + "method_signature": "subscription_id, # type: str", + "description": "The Subscription ID.", + "docstring_type": "str", + "required": true + } + }, + "async_method": { + "credential": { + "method_signature": "credential, # type: \"AsyncTokenCredential\"", + "description": "Credential needed for the client to connect to Azure.", + "docstring_type": "~azure.core.credentials_async.AsyncTokenCredential", + "required": true + }, + "subscription_id": { + "method_signature": "subscription_id, # type: str", + "description": "The Subscription ID.", + "docstring_type": "str", + "required": true + } + }, + "constant": { + }, + "call": "credential, subscription_id" + }, + "config": { + "credential": true, + "credential_scopes": ["https://management.azure.com/.default"] + }, + "operation_groups": { + "move_collections": "MoveCollectionsOperations", + "move_resources": "MoveResourcesOperations", + "unresolved_dependencies": "UnresolvedDependenciesOperations", + "operations_discovery": "OperationsDiscoveryOperations" + }, + "operation_mixins": { + }, + "sync_imports": "None", + "async_imports": "None" +} \ No newline at end of file diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_region_move_service_api.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_region_move_service_api.py new file mode 100644 index 000000000000..587c15f79521 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_region_move_service_api.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + + from azure.core.credentials import TokenCredential + +from ._configuration import RegionMoveServiceAPIConfiguration +from .operations import MoveCollectionsOperations +from .operations import MoveResourcesOperations +from .operations import UnresolvedDependenciesOperations +from .operations import OperationsDiscoveryOperations +from . import models + + +class RegionMoveServiceAPI(object): + """A first party Azure service orchestrating the move of Azure resources from one Azure region to another or between zones within a region. + + :ivar move_collections: MoveCollectionsOperations operations + :vartype move_collections: region_move_service_api.operations.MoveCollectionsOperations + :ivar move_resources: MoveResourcesOperations operations + :vartype move_resources: region_move_service_api.operations.MoveResourcesOperations + :ivar unresolved_dependencies: UnresolvedDependenciesOperations operations + :vartype unresolved_dependencies: region_move_service_api.operations.UnresolvedDependenciesOperations + :ivar operations_discovery: OperationsDiscoveryOperations operations + :vartype operations_discovery: region_move_service_api.operations.OperationsDiscoveryOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Subscription ID. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = RegionMoveServiceAPIConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.move_collections = MoveCollectionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.move_resources = MoveResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.unresolved_dependencies = UnresolvedDependenciesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations_discovery = OperationsDiscoveryOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> RegionMoveServiceAPI + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_version.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_version.py new file mode 100644 index 000000000000..e5754a47ce68 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.0.0b1" diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/__init__.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/__init__.py new file mode 100644 index 000000000000..e95552dbb37b --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._region_move_service_api_async import RegionMoveServiceAPI +__all__ = ['RegionMoveServiceAPI'] diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/_configuration_async.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/_configuration_async.py new file mode 100644 index 000000000000..a9f594e3796c --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/_configuration_async.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class RegionMoveServiceAPIConfiguration(Configuration): + """Configuration for RegionMoveServiceAPI. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Subscription ID. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(RegionMoveServiceAPIConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-10-01-preview" + self.credential_scopes = ['https://management.azure.com/.default'] + self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + kwargs.setdefault('sdk_moniker', 'mgmt-regionmove/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/_region_move_service_api_async.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/_region_move_service_api_async.py new file mode 100644 index 000000000000..486a100e0a66 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/_region_move_service_api_async.py @@ -0,0 +1,78 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration_async import RegionMoveServiceAPIConfiguration +from .operations_async import MoveCollectionsOperations +from .operations_async import MoveResourcesOperations +from .operations_async import UnresolvedDependenciesOperations +from .operations_async import OperationsDiscoveryOperations +from .. import models + + +class RegionMoveServiceAPI(object): + """A first party Azure service orchestrating the move of Azure resources from one Azure region to another or between zones within a region. + + :ivar move_collections: MoveCollectionsOperations operations + :vartype move_collections: region_move_service_api.aio.operations_async.MoveCollectionsOperations + :ivar move_resources: MoveResourcesOperations operations + :vartype move_resources: region_move_service_api.aio.operations_async.MoveResourcesOperations + :ivar unresolved_dependencies: UnresolvedDependenciesOperations operations + :vartype unresolved_dependencies: region_move_service_api.aio.operations_async.UnresolvedDependenciesOperations + :ivar operations_discovery: OperationsDiscoveryOperations operations + :vartype operations_discovery: region_move_service_api.aio.operations_async.OperationsDiscoveryOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Subscription ID. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = RegionMoveServiceAPIConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.move_collections = MoveCollectionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.move_resources = MoveResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.unresolved_dependencies = UnresolvedDependenciesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations_discovery = OperationsDiscoveryOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "RegionMoveServiceAPI": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/__init__.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/__init__.py new file mode 100644 index 000000000000..2d5f1a423391 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._move_collections_operations_async import MoveCollectionsOperations +from ._move_resources_operations_async import MoveResourcesOperations +from ._unresolved_dependencies_operations_async import UnresolvedDependenciesOperations +from ._operations_discovery_operations_async import OperationsDiscoveryOperations + +__all__ = [ + 'MoveCollectionsOperations', + 'MoveResourcesOperations', + 'UnresolvedDependenciesOperations', + 'OperationsDiscoveryOperations', +] diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_move_collections_operations_async.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_move_collections_operations_async.py new file mode 100644 index 000000000000..34a2957d6c4a --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_move_collections_operations_async.py @@ -0,0 +1,1085 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MoveCollectionsOperations: + """MoveCollectionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~region_move_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.MoveCollection"] = None, + **kwargs + ) -> "models.MoveCollection": + """Creates or updates a move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.MoveCollection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MoveCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.MoveCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollection"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'MoveCollection') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('MoveCollection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('MoveCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.UpdateMoveCollectionRequest"] = None, + **kwargs + ) -> "models.MoveCollection": + """Updates a move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.UpdateMoveCollectionRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MoveCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.MoveCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollection"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'UpdateMoveCollectionRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MoveCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + move_collection_name: str, + **kwargs + ) -> Optional["models.OperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + move_collection_name: str, + **kwargs + ) -> AsyncLROPoller["models.OperationStatus"]: + """Deletes a move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + move_collection_name: str, + **kwargs + ) -> "models.MoveCollection": + """Gets the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MoveCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.MoveCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollection"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MoveCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + async def _prepare_initial( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.PrepareRequest"] = None, + **kwargs + ) -> Optional["models.OperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._prepare_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'PrepareRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _prepare_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/prepare'} # type: ignore + + async def begin_prepare( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.PrepareRequest"] = None, + **kwargs + ) -> AsyncLROPoller["models.OperationStatus"]: + """Initiates prepare for the set of resources included in the request body. The prepare operation + is on the moveResources that are in the moveState 'PreparePending' or 'PrepareFailed', on a + successful completion the moveResource moveState do a transition to MovePending. To aid the + user to prerequisite the operation the client can call operation with validateOnly property set + to true. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.PrepareRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._prepare_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_prepare.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/prepare'} # type: ignore + + async def _initiate_move_initial( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.ResourceMoveRequest"] = None, + **kwargs + ) -> Optional["models.OperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._initiate_move_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourceMoveRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _initiate_move_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/initiateMove'} # type: ignore + + async def begin_initiate_move( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.ResourceMoveRequest"] = None, + **kwargs + ) -> AsyncLROPoller["models.OperationStatus"]: + """Moves the set of resources included in the request body. The move operation is triggered after + the moveResources are in the moveState 'MovePending' or 'MoveFailed', on a successful + completion the moveResource moveState do a transition to CommitPending. To aid the user to + prerequisite the operation the client can call operation with validateOnly property set to + true. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.ResourceMoveRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._initiate_move_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_initiate_move.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/initiateMove'} # type: ignore + + async def _commit_initial( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.CommitRequest"] = None, + **kwargs + ) -> Optional["models.OperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._commit_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'CommitRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _commit_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/commit'} # type: ignore + + async def begin_commit( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.CommitRequest"] = None, + **kwargs + ) -> AsyncLROPoller["models.OperationStatus"]: + """Commits the set of resources included in the request body. The commit operation is triggered on + the moveResources in the moveState 'CommitPending' or 'CommitFailed', on a successful + completion the moveResource moveState do a transition to Committed. To aid the user to + prerequisite the operation the client can call operation with validateOnly property set to + true. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.CommitRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._commit_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_commit.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/commit'} # type: ignore + + async def _discard_initial( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.DiscardRequest"] = None, + **kwargs + ) -> Optional["models.OperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._discard_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'DiscardRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _discard_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/discard'} # type: ignore + + async def begin_discard( + self, + resource_group_name: str, + move_collection_name: str, + body: Optional["models.DiscardRequest"] = None, + **kwargs + ) -> AsyncLROPoller["models.OperationStatus"]: + """Discards the set of resources included in the request body. The discard operation is triggered + on the moveResources in the moveState 'CommitPending' or 'DiscardFailed', on a successful + completion the moveResource moveState do a transition to MovePending. To aid the user to + prerequisite the operation the client can call operation with validateOnly property set to + true. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.DiscardRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._discard_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_discard.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/discard'} # type: ignore + + async def _resolve_dependencies_initial( + self, + resource_group_name: str, + move_collection_name: str, + **kwargs + ) -> Optional["models.OperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self._resolve_dependencies_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _resolve_dependencies_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/resolveDependencies'} # type: ignore + + async def begin_resolve_dependencies( + self, + resource_group_name: str, + move_collection_name: str, + **kwargs + ) -> AsyncLROPoller["models.OperationStatus"]: + """Computes, resolves and validate the dependencies of the moveResources in the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._resolve_dependencies_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_resolve_dependencies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/resolveDependencies'} # type: ignore + + def list_move_collections_by_subscription( + self, + **kwargs + ) -> AsyncIterable["models.MoveCollectionResultList"]: + """Get all Move Collections. + + Get all the Move Collections in the subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MoveCollectionResultList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~region_move_service_api.models.MoveCollectionResultList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollectionResultList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list_move_collections_by_subscription.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MoveCollectionResultList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_move_collections_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Migrate/moveCollections'} # type: ignore + + def list_move_collections_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.MoveCollectionResultList"]: + """Get all Move Collections. + + Get all the Move Collections in the resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MoveCollectionResultList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~region_move_service_api.models.MoveCollectionResultList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollectionResultList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list_move_collections_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MoveCollectionResultList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_move_collections_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections'} # type: ignore diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_move_resources_operations_async.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_move_resources_operations_async.py new file mode 100644 index 000000000000..669925e71686 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_move_resources_operations_async.py @@ -0,0 +1,420 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MoveResourcesOperations: + """MoveResourcesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~region_move_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + move_collection_name: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.MoveResourceCollection"]: + """Lists the Move Resources in the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param filter: The filter to apply on the operation. For example, you can use + $filter=Properties/ProvisioningState eq 'Succeeded'. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MoveResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~region_move_service_api.models.MoveResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveResourceCollection"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MoveResourceCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources'} # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + move_collection_name: str, + move_resource_name: str, + body: Optional["models.MoveResource"] = None, + **kwargs + ) -> Optional["models.MoveResource"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.MoveResource"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + 'moveResourceName': self._serialize.url("move_resource_name", move_resource_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'MoveResource') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('MoveResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + move_collection_name: str, + move_resource_name: str, + body: Optional["models.MoveResource"] = None, + **kwargs + ) -> AsyncLROPoller["models.MoveResource"]: + """Creates or updates a Move Resource in the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param move_resource_name: The Move Resource Name. + :type move_resource_name: str + :param body: + :type body: ~region_move_service_api.models.MoveResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either MoveResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~region_move_service_api.models.MoveResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + move_resource_name=move_resource_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MoveResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + move_collection_name: str, + move_resource_name: str, + **kwargs + ) -> Optional["models.OperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + 'moveResourceName': self._serialize.url("move_resource_name", move_resource_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + move_collection_name: str, + move_resource_name: str, + **kwargs + ) -> AsyncLROPoller["models.OperationStatus"]: + """Deletes a Move Resource from the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param move_resource_name: The Move Resource Name. + :type move_resource_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + move_resource_name=move_resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + move_collection_name: str, + move_resource_name: str, + **kwargs + ) -> "models.MoveResource": + """Gets the Move Resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param move_resource_name: The Move Resource Name. + :type move_resource_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MoveResource, or the result of cls(response) + :rtype: ~region_move_service_api.models.MoveResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveResource"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + 'moveResourceName': self._serialize.url("move_resource_name", move_resource_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MoveResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/_search_service_client_operations_async.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_operations_discovery_operations_async.py similarity index 51% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/_search_service_client_operations_async.py rename to sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_operations_discovery_operations_async.py index 7f3d4e66ee02..8932127905f9 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/_search_service_client_operations_async.py +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_operations_discovery_operations_async.py @@ -5,49 +5,59 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Callable, Dict, Optional, TypeVar +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class SearchServiceClientOperationsMixin: +class OperationsDiscoveryOperations: + """OperationsDiscoveryOperations async operations. - async def get_service_statistics( + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~region_move_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( self, - request_options: Optional["models.RequestOptions"] = None, **kwargs - ) -> "models.ServiceStatistics": - # pylint: disable=protected-access - """Gets service level statistics for a search service. + ) -> "models.OperationsDiscoveryCollection": + """get. - :param request_options: Parameter group. - :type request_options: ~azure.search.documents.indexes.models.RequestOptions :keyword callable cls: A custom type or function that will be passed the direct response - :return: ServiceStatistics, or the result of cls(response) - :rtype: ~azure.search.documents.indexes.models.ServiceStatistics + :return: OperationsDiscoveryCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.OperationsDiscoveryCollection :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ServiceStatistics"] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationsDiscoveryCollection"] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) - - _x_ms_client_request_id = None - if request_options is not None: - _x_ms_client_request_id = request_options.x_ms_client_request_id - api_version = "2020-06-30" + api_version = "2019-10-01-preview" # Construct URL - url = self.get_service_statistics.metadata['url'] # type: ignore - path_format_arguments = { - 'endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), - } - url = self._client.format_url(url, **path_format_arguments) + url = self.get.metadata['url'] # type: ignore # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -55,25 +65,20 @@ async def get_service_statistics( # Construct headers header_parameters = {} # type: Dict[str, Any] - if _x_ms_client_request_id is not None: - header_parameters['x-ms-client-request-id'] = \ - self._serialize.header("x_ms_client_request_id", _x_ms_client_request_id, 'str') header_parameters['Accept'] = 'application/json' request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = \ - await self._client._pipeline.run(request, stream=False, **kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.SearchError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('ServiceStatistics', pipeline_response) + deserialized = self._deserialize('OperationsDiscoveryCollection', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get_service_statistics.metadata = {'url': '/servicestats'} # type: ignore + get.metadata = {'url': '/providers/Microsoft.Migrate/operations'} # type: ignore diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/_indexes_operations_async.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_unresolved_dependencies_operations_async.py similarity index 60% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/_indexes_operations_async.py rename to sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_unresolved_dependencies_operations_async.py index 899ac0d8363f..d0c00227bed6 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/operations_async/_indexes_operations_async.py +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/aio/operations_async/_unresolved_dependencies_operations_async.py @@ -5,25 +5,27 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Callable, Dict, Optional, TypeVar +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class IndexesOperations: - """IndexesOperations async operations. +class UnresolvedDependenciesOperations: + """UnresolvedDependenciesOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.search.documents.indexes.models + :type models: ~region_move_service_api.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,36 +42,32 @@ def __init__(self, client, config, serializer, deserializer) -> None: async def get( self, - index_name: str, - request_options: Optional["models.RequestOptions"] = None, + resource_group_name: str, + move_collection_name: str, **kwargs - ) -> "models.SearchIndex": - # pylint: disable=protected-access - """Retrieves an index definition. - - :param index_name: The name of the index to retrieve. - :type index_name: str - :param request_options: Parameter group. - :type request_options: ~azure.search.documents.indexes.models.RequestOptions + ) -> "models.UnresolvedDependencyCollection": + """Gets a list of unresolved dependencies. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SearchIndex, or the result of cls(response) - :rtype: ~azure.search.documents.indexes.models.SearchIndex + :return: UnresolvedDependencyCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.UnresolvedDependencyCollection :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SearchIndex"] + cls = kwargs.pop('cls', None) # type: ClsType["models.UnresolvedDependencyCollection"] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) - - _x_ms_client_request_id = None - if request_options is not None: - _x_ms_client_request_id = request_options.x_ms_client_request_id - api_version = "2020-06-30" + api_version = "2019-10-01-preview" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { - 'endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), - 'indexName': self._serialize.url("index_name", index_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -79,25 +77,20 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - if _x_ms_client_request_id is not None: - header_parameters['x-ms-client-request-id'] = \ - self._serialize.header("x_ms_client_request_id", _x_ms_client_request_id, 'str') header_parameters['Accept'] = 'application/json' request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = \ - await self._client._pipeline.run(request, stream=False, **kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.SearchError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('SearchIndex', pipeline_response) + deserialized = self._deserialize('UnresolvedDependencyCollection', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/indexes(\'{indexName}\')'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/unresolvedDependencies'} # type: ignore diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/__init__.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/__init__.py new file mode 100644 index 000000000000..399942e79806 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/__init__.py @@ -0,0 +1,206 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AffectedMoveResource + from ._models_py3 import AutomaticResolutionProperties + from ._models_py3 import AvailabilitySetResourceSettings + from ._models_py3 import AzureResourceReference + from ._models_py3 import CloudErrorBody + from ._models_py3 import CommitRequest + from ._models_py3 import DiscardRequest + from ._models_py3 import Display + from ._models_py3 import Identity + from ._models_py3 import JobStatus + from ._models_py3 import LBBackendAddressPoolResourceSettings + from ._models_py3 import LBFrontendIPConfigurationResourceSettings + from ._models_py3 import LoadBalancerBackendAddressPoolReference + from ._models_py3 import LoadBalancerNatRuleReference + from ._models_py3 import LoadBalancerResourceSettings + from ._models_py3 import ManualResolutionProperties + from ._models_py3 import MoveCollection + from ._models_py3 import MoveCollectionProperties + from ._models_py3 import MoveCollectionResultList + from ._models_py3 import MoveErrorInfo + from ._models_py3 import MoveResource + from ._models_py3 import MoveResourceCollection + from ._models_py3 import MoveResourceDependency + from ._models_py3 import MoveResourceDependencyOverride + from ._models_py3 import MoveResourceError + from ._models_py3 import MoveResourceErrorBody + from ._models_py3 import MoveResourceFilter + from ._models_py3 import MoveResourceFilterProperties + from ._models_py3 import MoveResourceProperties + from ._models_py3 import MoveResourcePropertiesErrors + from ._models_py3 import MoveResourcePropertiesMoveStatus + from ._models_py3 import MoveResourcePropertiesSourceResourceSettings + from ._models_py3 import MoveResourceStatus + from ._models_py3 import NetworkInterfaceResourceSettings + from ._models_py3 import NetworkSecurityGroupResourceSettings + from ._models_py3 import NicIpConfigurationResourceSettings + from ._models_py3 import NsgSecurityRule + from ._models_py3 import OperationErrorAdditionalInfo + from ._models_py3 import OperationStatus + from ._models_py3 import OperationStatusError + from ._models_py3 import OperationsDiscovery + from ._models_py3 import OperationsDiscoveryCollection + from ._models_py3 import PrepareRequest + from ._models_py3 import ProxyResourceReference + from ._models_py3 import PublicIPAddressResourceSettings + from ._models_py3 import ResourceGroupResourceSettings + from ._models_py3 import ResourceMoveRequest + from ._models_py3 import ResourceSettings + from ._models_py3 import SqlDatabaseResourceSettings + from ._models_py3 import SqlElasticPoolResourceSettings + from ._models_py3 import SqlServerResourceSettings + from ._models_py3 import SubnetReference + from ._models_py3 import SubnetResourceSettings + from ._models_py3 import UnresolvedDependency + from ._models_py3 import UnresolvedDependencyCollection + from ._models_py3 import UpdateMoveCollectionRequest + from ._models_py3 import VirtualMachineResourceSettings + from ._models_py3 import VirtualNetworkResourceSettings +except (SyntaxError, ImportError): + from ._models import AffectedMoveResource # type: ignore + from ._models import AutomaticResolutionProperties # type: ignore + from ._models import AvailabilitySetResourceSettings # type: ignore + from ._models import AzureResourceReference # type: ignore + from ._models import CloudErrorBody # type: ignore + from ._models import CommitRequest # type: ignore + from ._models import DiscardRequest # type: ignore + from ._models import Display # type: ignore + from ._models import Identity # type: ignore + from ._models import JobStatus # type: ignore + from ._models import LBBackendAddressPoolResourceSettings # type: ignore + from ._models import LBFrontendIPConfigurationResourceSettings # type: ignore + from ._models import LoadBalancerBackendAddressPoolReference # type: ignore + from ._models import LoadBalancerNatRuleReference # type: ignore + from ._models import LoadBalancerResourceSettings # type: ignore + from ._models import ManualResolutionProperties # type: ignore + from ._models import MoveCollection # type: ignore + from ._models import MoveCollectionProperties # type: ignore + from ._models import MoveCollectionResultList # type: ignore + from ._models import MoveErrorInfo # type: ignore + from ._models import MoveResource # type: ignore + from ._models import MoveResourceCollection # type: ignore + from ._models import MoveResourceDependency # type: ignore + from ._models import MoveResourceDependencyOverride # type: ignore + from ._models import MoveResourceError # type: ignore + from ._models import MoveResourceErrorBody # type: ignore + from ._models import MoveResourceFilter # type: ignore + from ._models import MoveResourceFilterProperties # type: ignore + from ._models import MoveResourceProperties # type: ignore + from ._models import MoveResourcePropertiesErrors # type: ignore + from ._models import MoveResourcePropertiesMoveStatus # type: ignore + from ._models import MoveResourcePropertiesSourceResourceSettings # type: ignore + from ._models import MoveResourceStatus # type: ignore + from ._models import NetworkInterfaceResourceSettings # type: ignore + from ._models import NetworkSecurityGroupResourceSettings # type: ignore + from ._models import NicIpConfigurationResourceSettings # type: ignore + from ._models import NsgSecurityRule # type: ignore + from ._models import OperationErrorAdditionalInfo # type: ignore + from ._models import OperationStatus # type: ignore + from ._models import OperationStatusError # type: ignore + from ._models import OperationsDiscovery # type: ignore + from ._models import OperationsDiscoveryCollection # type: ignore + from ._models import PrepareRequest # type: ignore + from ._models import ProxyResourceReference # type: ignore + from ._models import PublicIPAddressResourceSettings # type: ignore + from ._models import ResourceGroupResourceSettings # type: ignore + from ._models import ResourceMoveRequest # type: ignore + from ._models import ResourceSettings # type: ignore + from ._models import SqlDatabaseResourceSettings # type: ignore + from ._models import SqlElasticPoolResourceSettings # type: ignore + from ._models import SqlServerResourceSettings # type: ignore + from ._models import SubnetReference # type: ignore + from ._models import SubnetResourceSettings # type: ignore + from ._models import UnresolvedDependency # type: ignore + from ._models import UnresolvedDependencyCollection # type: ignore + from ._models import UpdateMoveCollectionRequest # type: ignore + from ._models import VirtualMachineResourceSettings # type: ignore + from ._models import VirtualNetworkResourceSettings # type: ignore + +from ._region_move_service_api_enums import ( + DependencyType, + MoveResourceInputType, + MoveState, + ProvisioningState, + ResolutionType, + ResourceIdentityType, + TargetAvailabilityZone, + ZoneRedundant, +) + +__all__ = [ + 'AffectedMoveResource', + 'AutomaticResolutionProperties', + 'AvailabilitySetResourceSettings', + 'AzureResourceReference', + 'CloudErrorBody', + 'CommitRequest', + 'DiscardRequest', + 'Display', + 'Identity', + 'JobStatus', + 'LBBackendAddressPoolResourceSettings', + 'LBFrontendIPConfigurationResourceSettings', + 'LoadBalancerBackendAddressPoolReference', + 'LoadBalancerNatRuleReference', + 'LoadBalancerResourceSettings', + 'ManualResolutionProperties', + 'MoveCollection', + 'MoveCollectionProperties', + 'MoveCollectionResultList', + 'MoveErrorInfo', + 'MoveResource', + 'MoveResourceCollection', + 'MoveResourceDependency', + 'MoveResourceDependencyOverride', + 'MoveResourceError', + 'MoveResourceErrorBody', + 'MoveResourceFilter', + 'MoveResourceFilterProperties', + 'MoveResourceProperties', + 'MoveResourcePropertiesErrors', + 'MoveResourcePropertiesMoveStatus', + 'MoveResourcePropertiesSourceResourceSettings', + 'MoveResourceStatus', + 'NetworkInterfaceResourceSettings', + 'NetworkSecurityGroupResourceSettings', + 'NicIpConfigurationResourceSettings', + 'NsgSecurityRule', + 'OperationErrorAdditionalInfo', + 'OperationStatus', + 'OperationStatusError', + 'OperationsDiscovery', + 'OperationsDiscoveryCollection', + 'PrepareRequest', + 'ProxyResourceReference', + 'PublicIPAddressResourceSettings', + 'ResourceGroupResourceSettings', + 'ResourceMoveRequest', + 'ResourceSettings', + 'SqlDatabaseResourceSettings', + 'SqlElasticPoolResourceSettings', + 'SqlServerResourceSettings', + 'SubnetReference', + 'SubnetResourceSettings', + 'UnresolvedDependency', + 'UnresolvedDependencyCollection', + 'UpdateMoveCollectionRequest', + 'VirtualMachineResourceSettings', + 'VirtualNetworkResourceSettings', + 'DependencyType', + 'MoveResourceInputType', + 'MoveState', + 'ProvisioningState', + 'ResolutionType', + 'ResourceIdentityType', + 'TargetAvailabilityZone', + 'ZoneRedundant', +] diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_models.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_models.py new file mode 100644 index 000000000000..6166b5c01052 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_models.py @@ -0,0 +1,2009 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import msrest.serialization + + +class AffectedMoveResource(msrest.serialization.Model): + """The RP custom operation error info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The affected move resource id. + :vartype id: str + :ivar source_id: The affected move resource source id. + :vartype source_id: str + :ivar move_resources: The affected move resources. + :vartype move_resources: list[~region_move_service_api.models.AffectedMoveResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'source_id': {'readonly': True}, + 'move_resources': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'source_id': {'key': 'sourceId', 'type': 'str'}, + 'move_resources': {'key': 'moveResources', 'type': '[AffectedMoveResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(AffectedMoveResource, self).__init__(**kwargs) + self.id = None + self.source_id = None + self.move_resources = None + + +class AutomaticResolutionProperties(msrest.serialization.Model): + """Defines the properties for automatic resolution. + + :param move_resource_id: Gets the MoveResource ARM ID of + the dependent resource if the resolution type is Automatic. + :type move_resource_id: str + """ + + _attribute_map = { + 'move_resource_id': {'key': 'moveResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AutomaticResolutionProperties, self).__init__(**kwargs) + self.move_resource_id = kwargs.get('move_resource_id', None) + + +class ResourceSettings(msrest.serialization.Model): + """Gets or sets the resource settings. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AvailabilitySetResourceSettings, VirtualMachineResourceSettings, LoadBalancerResourceSettings, NetworkInterfaceResourceSettings, NetworkSecurityGroupResourceSettings, PublicIPAddressResourceSettings, VirtualNetworkResourceSettings, SqlServerResourceSettings, SqlDatabaseResourceSettings, SqlElasticPoolResourceSettings, MoveResourcePropertiesSourceResourceSettings, ResourceGroupResourceSettings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + } + + _subtype_map = { + 'resource_type': {'Microsoft.Compute/availabilitySets': 'AvailabilitySetResourceSettings', 'Microsoft.Compute/virtualMachines': 'VirtualMachineResourceSettings', 'Microsoft.Network/loadBalancers': 'LoadBalancerResourceSettings', 'Microsoft.Network/networkInterfaces': 'NetworkInterfaceResourceSettings', 'Microsoft.Network/networkSecurityGroups': 'NetworkSecurityGroupResourceSettings', 'Microsoft.Network/publicIPAddresses': 'PublicIPAddressResourceSettings', 'Microsoft.Network/virtualNetworks': 'VirtualNetworkResourceSettings', 'Microsoft.Sql/servers': 'SqlServerResourceSettings', 'Microsoft.Sql/servers/databases': 'SqlDatabaseResourceSettings', 'Microsoft.Sql/servers/elasticPools': 'SqlElasticPoolResourceSettings', 'MoveResourceProperties-sourceResourceSettings': 'MoveResourcePropertiesSourceResourceSettings', 'resourceGroups': 'ResourceGroupResourceSettings'} + } + + def __init__( + self, + **kwargs + ): + super(ResourceSettings, self).__init__(**kwargs) + self.resource_type = None + self.target_resource_name = kwargs['target_resource_name'] + + +class AvailabilitySetResourceSettings(ResourceSettings): + """Gets or sets the availability set resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param fault_domain: Gets or sets the target fault domain. + :type fault_domain: int + :param update_domain: Gets or sets the target update domain. + :type update_domain: int + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + 'fault_domain': {'minimum': 1}, + 'update_domain': {'maximum': 20, 'minimum': 1}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'fault_domain': {'key': 'faultDomain', 'type': 'int'}, + 'update_domain': {'key': 'updateDomain', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailabilitySetResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Compute/availabilitySets' + self.fault_domain = kwargs.get('fault_domain', None) + self.update_domain = kwargs.get('update_domain', None) + + +class AzureResourceReference(msrest.serialization.Model): + """Defines reference to an Azure resource. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureResourceReference, self).__init__(**kwargs) + self.source_arm_resource_id = kwargs['source_arm_resource_id'] + + +class CloudErrorBody(msrest.serialization.Model): + """An error response from the service. + + :param code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable for display in a user + interface. + :type message: str + :param target: The target of the particular error. For example, the name of the property in + error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~region_move_service_api.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__( + self, + **kwargs + ): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class CommitRequest(msrest.serialization.Model): + """Defines the request body for commit operation. + + All required parameters must be populated in order to send to Azure. + + :param validate_only: Gets or sets a value indicating whether the operation needs to only run + pre-requisite. + :type validate_only: bool + :param move_resources: Required. Gets or sets the list of resource Id's, by default it accepts + move resource id's unless the input type is switched via moveResourceInputType property. + :type move_resources: list[str] + :param move_resource_input_type: Defines the move resource input type. Possible values include: + "MoveResourceId", "MoveResourceSourceId". + :type move_resource_input_type: str or ~region_move_service_api.models.MoveResourceInputType + """ + + _validation = { + 'move_resources': {'required': True}, + } + + _attribute_map = { + 'validate_only': {'key': 'validateOnly', 'type': 'bool'}, + 'move_resources': {'key': 'moveResources', 'type': '[str]'}, + 'move_resource_input_type': {'key': 'moveResourceInputType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CommitRequest, self).__init__(**kwargs) + self.validate_only = kwargs.get('validate_only', None) + self.move_resources = kwargs['move_resources'] + self.move_resource_input_type = kwargs.get('move_resource_input_type', None) + + +class DiscardRequest(msrest.serialization.Model): + """Defines the request body for discard operation. + + All required parameters must be populated in order to send to Azure. + + :param validate_only: Gets or sets a value indicating whether the operation needs to only run + pre-requisite. + :type validate_only: bool + :param move_resources: Required. Gets or sets the list of resource Id's, by default it accepts + move resource id's unless the input type is switched via moveResourceInputType property. + :type move_resources: list[str] + :param move_resource_input_type: Defines the move resource input type. Possible values include: + "MoveResourceId", "MoveResourceSourceId". + :type move_resource_input_type: str or ~region_move_service_api.models.MoveResourceInputType + """ + + _validation = { + 'move_resources': {'required': True}, + } + + _attribute_map = { + 'validate_only': {'key': 'validateOnly', 'type': 'bool'}, + 'move_resources': {'key': 'moveResources', 'type': '[str]'}, + 'move_resource_input_type': {'key': 'moveResourceInputType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DiscardRequest, self).__init__(**kwargs) + self.validate_only = kwargs.get('validate_only', None) + self.move_resources = kwargs['move_resources'] + self.move_resource_input_type = kwargs.get('move_resource_input_type', None) + + +class Display(msrest.serialization.Model): + """Contains the localized display information for this particular operation / action. These +value will be used by several clients for +(1) custom role definitions for RBAC; +(2) complex query filters for the event service; and +(3) audit history / records for management operations. + + :param provider: Gets or sets the provider. + The localized friendly form of the resource provider name – it is expected to also + include the publisher/company responsible. + It should use Title Casing and begin with "Microsoft" for 1st party services. + e.g. "Microsoft Monitoring Insights" or "Microsoft Compute.". + :type provider: str + :param resource: Gets or sets the resource. + The localized friendly form of the resource related to this action/operation – it + should match the public documentation for the resource provider. + It should use Title Casing. + This value should be unique for a particular URL type (e.g. nested types should *not* + reuse their parent’s display.resource field) + e.g. "Virtual Machines" or "Scheduler Job Collections", or "Virtual Machine VM Sizes" + or "Scheduler Jobs". + :type resource: str + :param operation: Gets or sets the operation. + The localized friendly name for the operation, as it should be shown to the user. + It should be concise (to fit in drop downs) but clear (i.e. self-documenting). + It should use Title Casing. + Prescriptive guidance: Read Create or Update Delete 'ActionName'. + :type operation: str + :param description: Gets or sets the description. + The localized friendly description for the operation, as it should be shown to the + user. + It should be thorough, yet concise – it will be used in tool tips and detailed views. + Prescriptive guidance for namespace: + Read any 'display.provider' resource + Create or Update any 'display.provider' resource + Delete any 'display.provider' resource + Perform any other action on any 'display.provider' resource + Prescriptive guidance for namespace: + Read any 'display.resource' Create or Update any 'display.resource' Delete any + 'display.resource' 'ActionName' any 'display.resources'. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Display, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class Identity(msrest.serialization.Model): + """Defines the MSI properties of the Move Collection. + + :param type: The type of identity used for the region move service. Possible values include: + "None", "SystemAssigned", "UserAssigned". + :type type: str or ~region_move_service_api.models.ResourceIdentityType + :param principal_id: Gets or sets the principal id. + :type principal_id: str + :param tenant_id: Gets or sets the tenant id. + :type tenant_id: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.principal_id = kwargs.get('principal_id', None) + self.tenant_id = kwargs.get('tenant_id', None) + + +class JobStatus(msrest.serialization.Model): + """Defines the job status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar job_name: Defines the job name. Default value: "InitialSync". + :vartype job_name: str + :param job_progress: Gets or sets the monitoring job percentage. + :type job_progress: str + """ + + _validation = { + 'job_name': {'constant': True}, + } + + _attribute_map = { + 'job_name': {'key': 'jobName', 'type': 'str'}, + 'job_progress': {'key': 'jobProgress', 'type': 'str'}, + } + + job_name = "InitialSync" + + def __init__( + self, + **kwargs + ): + super(JobStatus, self).__init__(**kwargs) + self.job_progress = kwargs.get('job_progress', None) + + +class LBBackendAddressPoolResourceSettings(msrest.serialization.Model): + """Defines load balancer backend address pool properties. + + :param name: Gets or sets the backend address pool name. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LBBackendAddressPoolResourceSettings, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class LBFrontendIPConfigurationResourceSettings(msrest.serialization.Model): + """Defines load balancer frontend IP configuration properties. + + :param name: Gets or sets the frontend IP configuration name. + :type name: str + :param private_ip_address: Gets or sets the IP address of the Load Balancer.This is only + specified if a specific + private IP address shall be allocated from the subnet specified in subnetRef. + :type private_ip_address: str + :param private_ip_allocation_method: Gets or sets PrivateIP allocation method (Static/Dynamic). + :type private_ip_allocation_method: str + :param subnet: Defines reference to a proxy resource. + :type subnet: ~region_move_service_api.models.ProxyResourceReference + :param zones: Gets or sets the csv list of zones. + :type zones: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'privateIpAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'ProxyResourceReference'}, + 'zones': {'key': 'zones', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LBFrontendIPConfigurationResourceSettings, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.zones = kwargs.get('zones', None) + + +class ProxyResourceReference(AzureResourceReference): + """Defines reference to a proxy resource. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + :param name: Gets the name of the proxy resource on the target side. + :type name: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProxyResourceReference, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class LoadBalancerBackendAddressPoolReference(ProxyResourceReference): + """Defines reference to load balancer backend address pools. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + :param name: Gets the name of the proxy resource on the target side. + :type name: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LoadBalancerBackendAddressPoolReference, self).__init__(**kwargs) + + +class LoadBalancerNatRuleReference(ProxyResourceReference): + """Defines reference to load balancer NAT rules. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + :param name: Gets the name of the proxy resource on the target side. + :type name: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LoadBalancerNatRuleReference, self).__init__(**kwargs) + + +class LoadBalancerResourceSettings(ResourceSettings): + """Defines the load balancer resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param sku: Gets or sets load balancer sku (Basic/Standard). + :type sku: str + :param frontend_ip_configurations: Gets or sets the frontend IP configurations of the load + balancer. + :type frontend_ip_configurations: + list[~region_move_service_api.models.LBFrontendIPConfigurationResourceSettings] + :param backend_address_pools: Gets or sets the backend address pools of the load balancer. + :type backend_address_pools: + list[~region_move_service_api.models.LBBackendAddressPoolResourceSettings] + :param zones: Gets or sets the csv list of zones common for all frontend IP configurations. + Note this is given + precedence only if frontend IP configurations settings are not present. + :type zones: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'str'}, + 'frontend_ip_configurations': {'key': 'frontendIPConfigurations', 'type': '[LBFrontendIPConfigurationResourceSettings]'}, + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[LBBackendAddressPoolResourceSettings]'}, + 'zones': {'key': 'zones', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LoadBalancerResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Network/loadBalancers' + self.sku = kwargs.get('sku', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.zones = kwargs.get('zones', None) + + +class ManualResolutionProperties(msrest.serialization.Model): + """Defines the properties for manual resolution. + + :param target_id: Gets or sets the target resource ARM ID of the dependent resource if the + resource type is Manual. + :type target_id: str + """ + + _attribute_map = { + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManualResolutionProperties, self).__init__(**kwargs) + self.target_id = kwargs.get('target_id', None) + + +class MoveCollection(msrest.serialization.Model): + """Define the move collection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: The geo-location where the resource lives. + :type location: str + :param identity: Defines the MSI properties of the Move Collection. + :type identity: ~region_move_service_api.models.Identity + :param properties: Defines the move collection properties. + :type properties: ~region_move_service_api.models.MoveCollectionProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'properties': {'key': 'properties', 'type': 'MoveCollectionProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveCollection, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + self.identity = kwargs.get('identity', None) + self.properties = kwargs.get('properties', None) + + +class MoveCollectionProperties(msrest.serialization.Model): + """Defines the move collection properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param source_region: Required. Gets or sets the source region. + :type source_region: str + :param target_region: Required. Gets or sets the target region. + :type target_region: str + :ivar provisioning_state: Defines the provisioning states. Possible values include: + "Succeeded", "Updating", "Creating", "Failed". + :vartype provisioning_state: str or ~region_move_service_api.models.ProvisioningState + """ + + _validation = { + 'source_region': {'required': True}, + 'target_region': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'source_region': {'key': 'sourceRegion', 'type': 'str'}, + 'target_region': {'key': 'targetRegion', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveCollectionProperties, self).__init__(**kwargs) + self.source_region = kwargs['source_region'] + self.target_region = kwargs['target_region'] + self.provisioning_state = None + + +class MoveCollectionResultList(msrest.serialization.Model): + """Defines the collection of move collections. + + :param value: Gets the list of move collections. + :type value: list[~region_move_service_api.models.MoveCollection] + :param next_link: Gets the value of next link. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MoveCollection]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveCollectionResultList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class MoveErrorInfo(msrest.serialization.Model): + """The move custom error info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar move_resources: The affected move resources. + :vartype move_resources: list[~region_move_service_api.models.AffectedMoveResource] + """ + + _validation = { + 'move_resources': {'readonly': True}, + } + + _attribute_map = { + 'move_resources': {'key': 'moveResources', 'type': '[AffectedMoveResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveErrorInfo, self).__init__(**kwargs) + self.move_resources = None + + +class MoveResource(msrest.serialization.Model): + """Defines the move resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param properties: Defines the move resource properties. + :type properties: ~region_move_service_api.models.MoveResourceProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'MoveResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = kwargs.get('properties', None) + + +class MoveResourceCollection(msrest.serialization.Model): + """Defines the collection of move resources. + + :param value: Gets the list of move resources. + :type value: list[~region_move_service_api.models.MoveResource] + :param next_link: Gets the value of next link. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MoveResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class MoveResourceDependency(msrest.serialization.Model): + """Defines the dependency of the move resource. + + :param id: Gets the source ARM ID of the dependent resource. + :type id: str + :param resolution_status: Gets the dependency resolution status. + :type resolution_status: str + :param resolution_type: Defines the resolution type. Possible values include: "Manual", + "Automatic". + :type resolution_type: str or ~region_move_service_api.models.ResolutionType + :param dependency_type: Defines the dependency type. Possible values include: + "RequiredForPrepare", "RequiredForMove". + :type dependency_type: str or ~region_move_service_api.models.DependencyType + :param manual_resolution: Defines the properties for manual resolution. + :type manual_resolution: ~region_move_service_api.models.ManualResolutionProperties + :param automatic_resolution: Defines the properties for automatic resolution. + :type automatic_resolution: ~region_move_service_api.models.AutomaticResolutionProperties + :param is_optional: Gets or sets a value indicating whether the dependency is optional. + :type is_optional: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resolution_status': {'key': 'resolutionStatus', 'type': 'str'}, + 'resolution_type': {'key': 'resolutionType', 'type': 'str'}, + 'dependency_type': {'key': 'dependencyType', 'type': 'str'}, + 'manual_resolution': {'key': 'manualResolution', 'type': 'ManualResolutionProperties'}, + 'automatic_resolution': {'key': 'automaticResolution', 'type': 'AutomaticResolutionProperties'}, + 'is_optional': {'key': 'isOptional', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceDependency, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resolution_status = kwargs.get('resolution_status', None) + self.resolution_type = kwargs.get('resolution_type', None) + self.dependency_type = kwargs.get('dependency_type', None) + self.manual_resolution = kwargs.get('manual_resolution', None) + self.automatic_resolution = kwargs.get('automatic_resolution', None) + self.is_optional = kwargs.get('is_optional', None) + + +class MoveResourceDependencyOverride(msrest.serialization.Model): + """Defines the dependency override of the move resource. + + :param id: Gets or sets the ARM ID of the dependent resource. + :type id: str + :param target_id: Gets or sets the resource ARM id of either the MoveResource or the resource + ARM ID of + the dependent resource. + :type target_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceDependencyOverride, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.target_id = kwargs.get('target_id', None) + + +class MoveResourceError(msrest.serialization.Model): + """An error response from the azure region move service. + + :param properties: The move resource error body. + :type properties: ~region_move_service_api.models.MoveResourceErrorBody + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'MoveResourceErrorBody'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceError, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class MoveResourceErrorBody(msrest.serialization.Model): + """An error response from the Azure Migrate service. + + :param code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable for display in a user + interface. + :type message: str + :param target: The target of the particular error. For example, the name of the property in + error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~region_move_service_api.models.MoveResourceErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[MoveResourceErrorBody]'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class MoveResourceFilter(msrest.serialization.Model): + """Move resource filter. + + :param properties: + :type properties: ~region_move_service_api.models.MoveResourceFilterProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'MoveResourceFilterProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceFilter, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class MoveResourceFilterProperties(msrest.serialization.Model): + """MoveResourceFilterProperties. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceFilterProperties, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + + +class MoveResourceProperties(msrest.serialization.Model): + """Defines the move resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar provisioning_state: Defines the provisioning states. Possible values include: + "Succeeded", "Updating", "Creating", "Failed". + :vartype provisioning_state: str or ~region_move_service_api.models.ProvisioningState + :param source_id: Required. Gets or sets the Source ARM Id of the resource. + :type source_id: str + :ivar target_id: Gets or sets the Target ARM Id of the resource. + :vartype target_id: str + :param existing_target_id: Gets or sets the existing target ARM Id of the resource. + :type existing_target_id: str + :param resource_settings: Gets or sets the resource settings. + :type resource_settings: ~region_move_service_api.models.ResourceSettings + :ivar source_resource_settings: Gets or sets the source resource settings. + :vartype source_resource_settings: ~region_move_service_api.models.ResourceSettings + :ivar move_status: Defines the move resource status. + :vartype move_status: ~region_move_service_api.models.MoveResourceStatus + :ivar depends_on: Gets or sets the move resource dependencies. + :vartype depends_on: list[~region_move_service_api.models.MoveResourceDependency] + :param depends_on_overrides: Gets or sets the move resource dependencies overrides. + :type depends_on_overrides: + list[~region_move_service_api.models.MoveResourceDependencyOverride] + :ivar errors: Defines the move resource errors. + :vartype errors: ~region_move_service_api.models.MoveResourceError + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'source_id': {'required': True}, + 'target_id': {'readonly': True}, + 'source_resource_settings': {'readonly': True}, + 'move_status': {'readonly': True}, + 'depends_on': {'readonly': True}, + 'errors': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'source_id': {'key': 'sourceId', 'type': 'str'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + 'existing_target_id': {'key': 'existingTargetId', 'type': 'str'}, + 'resource_settings': {'key': 'resourceSettings', 'type': 'ResourceSettings'}, + 'source_resource_settings': {'key': 'sourceResourceSettings', 'type': 'ResourceSettings'}, + 'move_status': {'key': 'moveStatus', 'type': 'MoveResourceStatus'}, + 'depends_on': {'key': 'dependsOn', 'type': '[MoveResourceDependency]'}, + 'depends_on_overrides': {'key': 'dependsOnOverrides', 'type': '[MoveResourceDependencyOverride]'}, + 'errors': {'key': 'errors', 'type': 'MoveResourceError'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.source_id = kwargs['source_id'] + self.target_id = None + self.existing_target_id = kwargs.get('existing_target_id', None) + self.resource_settings = kwargs.get('resource_settings', None) + self.source_resource_settings = None + self.move_status = None + self.depends_on = None + self.depends_on_overrides = kwargs.get('depends_on_overrides', None) + self.errors = None + + +class MoveResourcePropertiesErrors(MoveResourceError): + """Defines the move resource errors. + + :param properties: The move resource error body. + :type properties: ~region_move_service_api.models.MoveResourceErrorBody + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'MoveResourceErrorBody'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourcePropertiesErrors, self).__init__(**kwargs) + + +class MoveResourceStatus(msrest.serialization.Model): + """Defines the move resource status. + + :param move_state: Defines the MoveResource states. Possible values include: + "AssignmentPending", "PreparePending", "PrepareInProgress", "PrepareFailed", "MovePending", + "MoveInProgress", "MoveFailed", "DiscardInProgress", "DiscardFailed", "CommitPending", + "CommitInProgress", "CommitFailed", "Committed". + :type move_state: str or ~region_move_service_api.models.MoveState + :param job_status: Defines the job status. + :type job_status: ~region_move_service_api.models.JobStatus + :param errors: An error response from the azure region move service. + :type errors: ~region_move_service_api.models.MoveResourceError + :param target_id: Gets the Target ARM Id of the resource. + :type target_id: str + """ + + _attribute_map = { + 'move_state': {'key': 'moveState', 'type': 'str'}, + 'job_status': {'key': 'jobStatus', 'type': 'JobStatus'}, + 'errors': {'key': 'errors', 'type': 'MoveResourceError'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourceStatus, self).__init__(**kwargs) + self.move_state = kwargs.get('move_state', None) + self.job_status = kwargs.get('job_status', None) + self.errors = kwargs.get('errors', None) + self.target_id = kwargs.get('target_id', None) + + +class MoveResourcePropertiesMoveStatus(MoveResourceStatus): + """Defines the move resource status. + + :param move_state: Defines the MoveResource states. Possible values include: + "AssignmentPending", "PreparePending", "PrepareInProgress", "PrepareFailed", "MovePending", + "MoveInProgress", "MoveFailed", "DiscardInProgress", "DiscardFailed", "CommitPending", + "CommitInProgress", "CommitFailed", "Committed". + :type move_state: str or ~region_move_service_api.models.MoveState + :param job_status: Defines the job status. + :type job_status: ~region_move_service_api.models.JobStatus + :param errors: An error response from the azure region move service. + :type errors: ~region_move_service_api.models.MoveResourceError + :param target_id: Gets the Target ARM Id of the resource. + :type target_id: str + """ + + _attribute_map = { + 'move_state': {'key': 'moveState', 'type': 'str'}, + 'job_status': {'key': 'jobStatus', 'type': 'JobStatus'}, + 'errors': {'key': 'errors', 'type': 'MoveResourceError'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourcePropertiesMoveStatus, self).__init__(**kwargs) + + +class MoveResourcePropertiesSourceResourceSettings(ResourceSettings): + """Gets or sets the source resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveResourcePropertiesSourceResourceSettings, self).__init__(**kwargs) + self.resource_type = 'MoveResourceProperties-sourceResourceSettings' + + +class NetworkInterfaceResourceSettings(ResourceSettings): + """Defines the network interface resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param ip_configurations: Gets or sets the IP configurations of the NIC. + :type ip_configurations: + list[~region_move_service_api.models.NicIpConfigurationResourceSettings] + :param enable_accelerated_networking: Gets or sets a value indicating whether accelerated + networking is enabled. + :type enable_accelerated_networking: bool + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'ip_configurations': {'key': 'ipConfigurations', 'type': '[NicIpConfigurationResourceSettings]'}, + 'enable_accelerated_networking': {'key': 'enableAcceleratedNetworking', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkInterfaceResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Network/networkInterfaces' + self.ip_configurations = kwargs.get('ip_configurations', None) + self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) + + +class NetworkSecurityGroupResourceSettings(ResourceSettings): + """Defines the NSG resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param security_rules: Gets or sets Security rules of network security group. + :type security_rules: list[~region_move_service_api.models.NsgSecurityRule] + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[NsgSecurityRule]'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkSecurityGroupResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Network/networkSecurityGroups' + self.security_rules = kwargs.get('security_rules', None) + + +class NicIpConfigurationResourceSettings(msrest.serialization.Model): + """Defines NIC IP configuration properties. + + :param name: Gets or sets the IP configuration name. + :type name: str + :param private_ip_address: Gets or sets the private IP address of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: Gets or sets the private IP address allocation method. + :type private_ip_allocation_method: str + :param subnet: Defines reference to a proxy resource. + :type subnet: ~region_move_service_api.models.ProxyResourceReference + :param primary: Gets or sets a value indicating whether this IP configuration is the primary. + :type primary: bool + :param load_balancer_backend_address_pools: Gets or sets the references of the load balancer + backend address pools. + :type load_balancer_backend_address_pools: + list[~region_move_service_api.models.ProxyResourceReference] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'privateIpAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'ProxyResourceReference'}, + 'primary': {'key': 'primary', 'type': 'bool'}, + 'load_balancer_backend_address_pools': {'key': 'loadBalancerBackendAddressPools', 'type': '[ProxyResourceReference]'}, + } + + def __init__( + self, + **kwargs + ): + super(NicIpConfigurationResourceSettings, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.primary = kwargs.get('primary', None) + self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) + + +class NsgSecurityRule(msrest.serialization.Model): + """Security Rule data model for Network Security Groups. + + :param name: Gets or sets the Security rule name. + :type name: str + :param access: Gets or sets whether network traffic is allowed or denied. + Possible values are “Allow” and “Deny”. + :type access: str + :param description: Gets or sets a description for this rule. Restricted to 140 chars. + :type description: str + :param destination_address_prefix: Gets or sets destination address prefix. CIDR or source IP + range. + A “*” can also be used to match all source IPs. Default tags such + as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. + :type destination_address_prefix: str + :param destination_port_range: Gets or sets Destination Port or Range. Integer or range between + 0 and 65535. A “*” can also be used to match all ports. + :type destination_port_range: str + :param direction: Gets or sets the direction of the rule.InBound or Outbound. The + direction specifies if rule will be evaluated on incoming or outgoing traffic. + :type direction: str + :param priority: Gets or sets the priority of the rule. The value can be between + 100 and 4096. The priority number must be unique for each rule in the collection. + The lower the priority number, the higher the priority of the rule. + :type priority: int + :param protocol: Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*). + :type protocol: str + :param source_address_prefix: Gets or sets source address prefix. CIDR or source IP range. A + “*” can also be used to match all source IPs. Default tags such as ‘VirtualNetwork’, + ‘AzureLoadBalancer’ and ‘Internet’ can also be used. If this is an ingress + rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_port_range: Gets or sets Source Port or Range. Integer or range between 0 and + + + #. A “*” can also be used to match all ports. + :type source_port_range: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'access': {'key': 'access', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NsgSecurityRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.access = kwargs.get('access', None) + self.description = kwargs.get('description', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.direction = kwargs.get('direction', None) + self.priority = kwargs.get('priority', None) + self.protocol = kwargs.get('protocol', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.source_port_range = kwargs.get('source_port_range', None) + + +class OperationErrorAdditionalInfo(msrest.serialization.Model): + """The operation error info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The error type. + :vartype type: str + :ivar info: The operation error info. + :vartype info: ~region_move_service_api.models.MoveErrorInfo + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'MoveErrorInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class OperationsDiscovery(msrest.serialization.Model): + """Operations discovery class. + + :param name: Gets or sets Name of the API. + The name of the operation being performed on this particular object. It should + match the action name that appears in RBAC / the event service. + Examples of operations include: + + + * Microsoft.Compute/virtualMachine/capture/action + * Microsoft.Compute/virtualMachine/restart/action + * Microsoft.Compute/virtualMachine/write + * Microsoft.Compute/virtualMachine/read + * Microsoft.Compute/virtualMachine/delete + Each action should include, in order: + (1) Resource Provider Namespace + (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL + Azure database) + (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH + on a collection or named value, Write should be used. + If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it + is a POST, Action should be used. + As a note: all resource providers would need to include the "{Resource Provider + Namespace}/register/action" operation in their response. + This API is used to register for their service, and should include details about the + operation (e.g. a localized name for the resource provider + any special + considerations like PII release). + :type name: str + :param display: Contains the localized display information for this particular operation / + action. These + value will be used by several clients for + (1) custom role definitions for RBAC; + (2) complex query filters for the event service; and + (3) audit history / records for management operations. + :type display: ~region_move_service_api.models.Display + :param origin: Gets or sets Origin. + The intended executor of the operation; governs the display of the operation in the + RBAC UX and the audit logs UX. + Default value is "user,system". + :type origin: str + :param properties: Any object. + :type properties: object + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'Display'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationsDiscovery, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.properties = kwargs.get('properties', None) + + +class OperationsDiscoveryCollection(msrest.serialization.Model): + """Collection of ClientDiscovery details. + + :param value: Gets or sets the ClientDiscovery details. + :type value: list[~region_move_service_api.models.OperationsDiscovery] + :param next_link: Gets or sets the value of next link. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationsDiscovery]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationsDiscoveryCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class OperationStatus(msrest.serialization.Model): + """Operation status REST resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Operation name. + :vartype name: str + :ivar status: Status of the operation. ARM expects the terminal status to be one of Succeeded/ + Failed/ Canceled. All other values imply that the operation is still running. + :vartype status: str + :ivar start_time: Start time. + :vartype start_time: str + :ivar end_time: End time. + :vartype end_time: str + :ivar error: Error stating all error details for the operation. + :vartype error: ~region_move_service_api.models.OperationStatusError + :ivar properties: Custom data. + :vartype properties: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'status': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'error': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'OperationStatusError'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationStatus, self).__init__(**kwargs) + self.id = None + self.name = None + self.status = None + self.start_time = None + self.end_time = None + self.error = None + self.properties = None + + +class OperationStatusError(msrest.serialization.Model): + """Class for operation status errors. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar details: The error details. + :vartype details: list[~region_move_service_api.models.OperationStatusError] + :ivar additional_info: The additional info. + :vartype additional_info: list[~region_move_service_api.models.OperationErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[OperationStatusError]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[OperationErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationStatusError, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + self.additional_info = None + + +class PrepareRequest(msrest.serialization.Model): + """Defines the request body for initiate prepare operation. + + All required parameters must be populated in order to send to Azure. + + :param validate_only: Gets or sets a value indicating whether the operation needs to only run + pre-requisite. + :type validate_only: bool + :param move_resources: Required. Gets or sets the list of resource Id's, by default it accepts + move resource id's unless the input type is switched via moveResourceInputType property. + :type move_resources: list[str] + :param move_resource_input_type: Defines the move resource input type. Possible values include: + "MoveResourceId", "MoveResourceSourceId". + :type move_resource_input_type: str or ~region_move_service_api.models.MoveResourceInputType + """ + + _validation = { + 'move_resources': {'required': True}, + } + + _attribute_map = { + 'validate_only': {'key': 'validateOnly', 'type': 'bool'}, + 'move_resources': {'key': 'moveResources', 'type': '[str]'}, + 'move_resource_input_type': {'key': 'moveResourceInputType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrepareRequest, self).__init__(**kwargs) + self.validate_only = kwargs.get('validate_only', None) + self.move_resources = kwargs['move_resources'] + self.move_resource_input_type = kwargs.get('move_resource_input_type', None) + + +class PublicIPAddressResourceSettings(ResourceSettings): + """Defines the public IP address resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param domain_name_label: Gets or sets the domain name label. + :type domain_name_label: str + :param f_qdn: Gets or sets the fully qualified domain name. + :type f_qdn: str + :param public_ip_allocation_method: Gets or sets public IP allocation method. + :type public_ip_allocation_method: str + :param sku: Gets or sets public IP sku. + :type sku: str + :param zones: Gets or sets public IP zones. + :type zones: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'f_qdn': {'key': 'fQDN', 'type': 'str'}, + 'public_ip_allocation_method': {'key': 'publicIpAllocationMethod', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PublicIPAddressResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Network/publicIPAddresses' + self.domain_name_label = kwargs.get('domain_name_label', None) + self.f_qdn = kwargs.get('f_qdn', None) + self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) + self.sku = kwargs.get('sku', None) + self.zones = kwargs.get('zones', None) + + +class ResourceGroupResourceSettings(ResourceSettings): + """Defines the resource group resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceGroupResourceSettings, self).__init__(**kwargs) + self.resource_type = 'resourceGroups' + + +class ResourceMoveRequest(msrest.serialization.Model): + """Defines the request body for resource move operation. + + All required parameters must be populated in order to send to Azure. + + :param validate_only: Gets or sets a value indicating whether the operation needs to only run + pre-requisite. + :type validate_only: bool + :param move_resources: Required. Gets or sets the list of resource Id's, by default it accepts + move resource id's unless the input type is switched via moveResourceInputType property. + :type move_resources: list[str] + :param move_resource_input_type: Defines the move resource input type. Possible values include: + "MoveResourceId", "MoveResourceSourceId". + :type move_resource_input_type: str or ~region_move_service_api.models.MoveResourceInputType + """ + + _validation = { + 'move_resources': {'required': True}, + } + + _attribute_map = { + 'validate_only': {'key': 'validateOnly', 'type': 'bool'}, + 'move_resources': {'key': 'moveResources', 'type': '[str]'}, + 'move_resource_input_type': {'key': 'moveResourceInputType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceMoveRequest, self).__init__(**kwargs) + self.validate_only = kwargs.get('validate_only', None) + self.move_resources = kwargs['move_resources'] + self.move_resource_input_type = kwargs.get('move_resource_input_type', None) + + +class SqlDatabaseResourceSettings(ResourceSettings): + """Defines the Sql Database resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param zone_redundant: Defines the zone redundant resource setting. Possible values include: + "Enable", "Disable". + :type zone_redundant: str or ~region_move_service_api.models.ZoneRedundant + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'zone_redundant': {'key': 'zoneRedundant', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDatabaseResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Sql/servers/databases' + self.zone_redundant = kwargs.get('zone_redundant', None) + + +class SqlElasticPoolResourceSettings(ResourceSettings): + """Defines the Sql ElasticPool resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param zone_redundant: Defines the zone redundant resource setting. Possible values include: + "Enable", "Disable". + :type zone_redundant: str or ~region_move_service_api.models.ZoneRedundant + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'zone_redundant': {'key': 'zoneRedundant', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlElasticPoolResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Sql/servers/elasticPools' + self.zone_redundant = kwargs.get('zone_redundant', None) + + +class SqlServerResourceSettings(ResourceSettings): + """Defines the SQL Server resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlServerResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Sql/servers' + + +class SubnetReference(ProxyResourceReference): + """Defines reference to subnet. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + :param name: Gets the name of the proxy resource on the target side. + :type name: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubnetReference, self).__init__(**kwargs) + + +class SubnetResourceSettings(msrest.serialization.Model): + """Defines the virtual network subnets resource settings. + + :param name: Gets or sets the Subnet name. + :type name: str + :param address_prefix: Gets or sets address prefix for the subnet. + :type address_prefix: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubnetResourceSettings, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.address_prefix = kwargs.get('address_prefix', None) + + +class UnresolvedDependency(msrest.serialization.Model): + """Unresolved dependency. + + :param count: Gets or sets the count. + :type count: int + :param id: Gets or sets the arm id of the dependency. + :type id: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(UnresolvedDependency, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.id = kwargs.get('id', None) + + +class UnresolvedDependencyCollection(msrest.serialization.Model): + """Unresolved dependency collection. + + :param value: Gets or sets the list of unresolved dependencies. + :type value: list[~region_move_service_api.models.UnresolvedDependency] + :param next_link: Gets or sets the value of next link. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[UnresolvedDependency]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(UnresolvedDependencyCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class UpdateMoveCollectionRequest(msrest.serialization.Model): + """Defines the request body for updating move collection. + + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :param identity: Defines the MSI properties of the Move Collection. + :type identity: ~region_move_service_api.models.Identity + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__( + self, + **kwargs + ): + super(UpdateMoveCollectionRequest, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.identity = kwargs.get('identity', None) + + +class VirtualMachineResourceSettings(ResourceSettings): + """Gets or sets the virtual machine resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param target_availability_zone: Gets or sets the target availability zone. Possible values + include: "1", "2", "3", "NA". + :type target_availability_zone: str or ~region_move_service_api.models.TargetAvailabilityZone + :param target_vm_size: Gets or sets the target virtual machine size. + :type target_vm_size: str + :param target_availability_set_id: Gets or sets the target availability set id for virtual + machines not in an availability set at source. + :type target_availability_set_id: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'target_availability_zone': {'key': 'targetAvailabilityZone', 'type': 'str'}, + 'target_vm_size': {'key': 'targetVmSize', 'type': 'str'}, + 'target_availability_set_id': {'key': 'targetAvailabilitySetId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualMachineResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Compute/virtualMachines' + self.target_availability_zone = kwargs.get('target_availability_zone', None) + self.target_vm_size = kwargs.get('target_vm_size', None) + self.target_availability_set_id = kwargs.get('target_availability_set_id', None) + + +class VirtualNetworkResourceSettings(ResourceSettings): + """Defines the virtual network resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param enable_ddos_protection: Gets or sets a value indicating whether gets or sets whether the + DDOS protection should be switched on. + :type enable_ddos_protection: bool + :param address_space: Gets or sets the address prefixes for the virtual network. + :type address_space: list[str] + :param dns_servers: Gets or sets DHCPOptions that contains an array of DNS servers available to + VMs + deployed in the virtual network. + :type dns_servers: list[str] + :param subnets: Gets or sets List of subnets in a VirtualNetwork. + :type subnets: list[~region_move_service_api.models.SubnetResourceSettings] + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'enableDdosProtection', 'type': 'bool'}, + 'address_space': {'key': 'addressSpace', 'type': '[str]'}, + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'subnets': {'key': 'subnets', 'type': '[SubnetResourceSettings]'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualNetworkResourceSettings, self).__init__(**kwargs) + self.resource_type = 'Microsoft.Network/virtualNetworks' + self.enable_ddos_protection = kwargs.get('enable_ddos_protection', None) + self.address_space = kwargs.get('address_space', None) + self.dns_servers = kwargs.get('dns_servers', None) + self.subnets = kwargs.get('subnets', None) diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_models_py3.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_models_py3.py new file mode 100644 index 000000000000..af2ef2af91af --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_models_py3.py @@ -0,0 +1,2213 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Dict, List, Optional, Union + +import msrest.serialization + +from ._region_move_service_api_enums import * + + +class AffectedMoveResource(msrest.serialization.Model): + """The RP custom operation error info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The affected move resource id. + :vartype id: str + :ivar source_id: The affected move resource source id. + :vartype source_id: str + :ivar move_resources: The affected move resources. + :vartype move_resources: list[~region_move_service_api.models.AffectedMoveResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'source_id': {'readonly': True}, + 'move_resources': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'source_id': {'key': 'sourceId', 'type': 'str'}, + 'move_resources': {'key': 'moveResources', 'type': '[AffectedMoveResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(AffectedMoveResource, self).__init__(**kwargs) + self.id = None + self.source_id = None + self.move_resources = None + + +class AutomaticResolutionProperties(msrest.serialization.Model): + """Defines the properties for automatic resolution. + + :param move_resource_id: Gets the MoveResource ARM ID of + the dependent resource if the resolution type is Automatic. + :type move_resource_id: str + """ + + _attribute_map = { + 'move_resource_id': {'key': 'moveResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + move_resource_id: Optional[str] = None, + **kwargs + ): + super(AutomaticResolutionProperties, self).__init__(**kwargs) + self.move_resource_id = move_resource_id + + +class ResourceSettings(msrest.serialization.Model): + """Gets or sets the resource settings. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AvailabilitySetResourceSettings, VirtualMachineResourceSettings, LoadBalancerResourceSettings, NetworkInterfaceResourceSettings, NetworkSecurityGroupResourceSettings, PublicIPAddressResourceSettings, VirtualNetworkResourceSettings, SqlServerResourceSettings, SqlDatabaseResourceSettings, SqlElasticPoolResourceSettings, MoveResourcePropertiesSourceResourceSettings, ResourceGroupResourceSettings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + } + + _subtype_map = { + 'resource_type': {'Microsoft.Compute/availabilitySets': 'AvailabilitySetResourceSettings', 'Microsoft.Compute/virtualMachines': 'VirtualMachineResourceSettings', 'Microsoft.Network/loadBalancers': 'LoadBalancerResourceSettings', 'Microsoft.Network/networkInterfaces': 'NetworkInterfaceResourceSettings', 'Microsoft.Network/networkSecurityGroups': 'NetworkSecurityGroupResourceSettings', 'Microsoft.Network/publicIPAddresses': 'PublicIPAddressResourceSettings', 'Microsoft.Network/virtualNetworks': 'VirtualNetworkResourceSettings', 'Microsoft.Sql/servers': 'SqlServerResourceSettings', 'Microsoft.Sql/servers/databases': 'SqlDatabaseResourceSettings', 'Microsoft.Sql/servers/elasticPools': 'SqlElasticPoolResourceSettings', 'MoveResourceProperties-sourceResourceSettings': 'MoveResourcePropertiesSourceResourceSettings', 'resourceGroups': 'ResourceGroupResourceSettings'} + } + + def __init__( + self, + *, + target_resource_name: str, + **kwargs + ): + super(ResourceSettings, self).__init__(**kwargs) + self.resource_type: Optional[str] = None + self.target_resource_name = target_resource_name + + +class AvailabilitySetResourceSettings(ResourceSettings): + """Gets or sets the availability set resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param fault_domain: Gets or sets the target fault domain. + :type fault_domain: int + :param update_domain: Gets or sets the target update domain. + :type update_domain: int + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + 'fault_domain': {'minimum': 1}, + 'update_domain': {'maximum': 20, 'minimum': 1}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'fault_domain': {'key': 'faultDomain', 'type': 'int'}, + 'update_domain': {'key': 'updateDomain', 'type': 'int'}, + } + + def __init__( + self, + *, + target_resource_name: str, + fault_domain: Optional[int] = None, + update_domain: Optional[int] = None, + **kwargs + ): + super(AvailabilitySetResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Compute/availabilitySets' + self.fault_domain = fault_domain + self.update_domain = update_domain + + +class AzureResourceReference(msrest.serialization.Model): + """Defines reference to an Azure resource. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + source_arm_resource_id: str, + **kwargs + ): + super(AzureResourceReference, self).__init__(**kwargs) + self.source_arm_resource_id = source_arm_resource_id + + +class CloudErrorBody(msrest.serialization.Model): + """An error response from the service. + + :param code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable for display in a user + interface. + :type message: str + :param target: The target of the particular error. For example, the name of the property in + error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~region_move_service_api.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["CloudErrorBody"]] = None, + **kwargs + ): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class CommitRequest(msrest.serialization.Model): + """Defines the request body for commit operation. + + All required parameters must be populated in order to send to Azure. + + :param validate_only: Gets or sets a value indicating whether the operation needs to only run + pre-requisite. + :type validate_only: bool + :param move_resources: Required. Gets or sets the list of resource Id's, by default it accepts + move resource id's unless the input type is switched via moveResourceInputType property. + :type move_resources: list[str] + :param move_resource_input_type: Defines the move resource input type. Possible values include: + "MoveResourceId", "MoveResourceSourceId". + :type move_resource_input_type: str or ~region_move_service_api.models.MoveResourceInputType + """ + + _validation = { + 'move_resources': {'required': True}, + } + + _attribute_map = { + 'validate_only': {'key': 'validateOnly', 'type': 'bool'}, + 'move_resources': {'key': 'moveResources', 'type': '[str]'}, + 'move_resource_input_type': {'key': 'moveResourceInputType', 'type': 'str'}, + } + + def __init__( + self, + *, + move_resources: List[str], + validate_only: Optional[bool] = None, + move_resource_input_type: Optional[Union[str, "MoveResourceInputType"]] = None, + **kwargs + ): + super(CommitRequest, self).__init__(**kwargs) + self.validate_only = validate_only + self.move_resources = move_resources + self.move_resource_input_type = move_resource_input_type + + +class DiscardRequest(msrest.serialization.Model): + """Defines the request body for discard operation. + + All required parameters must be populated in order to send to Azure. + + :param validate_only: Gets or sets a value indicating whether the operation needs to only run + pre-requisite. + :type validate_only: bool + :param move_resources: Required. Gets or sets the list of resource Id's, by default it accepts + move resource id's unless the input type is switched via moveResourceInputType property. + :type move_resources: list[str] + :param move_resource_input_type: Defines the move resource input type. Possible values include: + "MoveResourceId", "MoveResourceSourceId". + :type move_resource_input_type: str or ~region_move_service_api.models.MoveResourceInputType + """ + + _validation = { + 'move_resources': {'required': True}, + } + + _attribute_map = { + 'validate_only': {'key': 'validateOnly', 'type': 'bool'}, + 'move_resources': {'key': 'moveResources', 'type': '[str]'}, + 'move_resource_input_type': {'key': 'moveResourceInputType', 'type': 'str'}, + } + + def __init__( + self, + *, + move_resources: List[str], + validate_only: Optional[bool] = None, + move_resource_input_type: Optional[Union[str, "MoveResourceInputType"]] = None, + **kwargs + ): + super(DiscardRequest, self).__init__(**kwargs) + self.validate_only = validate_only + self.move_resources = move_resources + self.move_resource_input_type = move_resource_input_type + + +class Display(msrest.serialization.Model): + """Contains the localized display information for this particular operation / action. These +value will be used by several clients for +(1) custom role definitions for RBAC; +(2) complex query filters for the event service; and +(3) audit history / records for management operations. + + :param provider: Gets or sets the provider. + The localized friendly form of the resource provider name – it is expected to also + include the publisher/company responsible. + It should use Title Casing and begin with "Microsoft" for 1st party services. + e.g. "Microsoft Monitoring Insights" or "Microsoft Compute.". + :type provider: str + :param resource: Gets or sets the resource. + The localized friendly form of the resource related to this action/operation – it + should match the public documentation for the resource provider. + It should use Title Casing. + This value should be unique for a particular URL type (e.g. nested types should *not* + reuse their parent’s display.resource field) + e.g. "Virtual Machines" or "Scheduler Job Collections", or "Virtual Machine VM Sizes" + or "Scheduler Jobs". + :type resource: str + :param operation: Gets or sets the operation. + The localized friendly name for the operation, as it should be shown to the user. + It should be concise (to fit in drop downs) but clear (i.e. self-documenting). + It should use Title Casing. + Prescriptive guidance: Read Create or Update Delete 'ActionName'. + :type operation: str + :param description: Gets or sets the description. + The localized friendly description for the operation, as it should be shown to the + user. + It should be thorough, yet concise – it will be used in tool tips and detailed views. + Prescriptive guidance for namespace: + Read any 'display.provider' resource + Create or Update any 'display.provider' resource + Delete any 'display.provider' resource + Perform any other action on any 'display.provider' resource + Prescriptive guidance for namespace: + Read any 'display.resource' Create or Update any 'display.resource' Delete any + 'display.resource' 'ActionName' any 'display.resources'. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(Display, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class Identity(msrest.serialization.Model): + """Defines the MSI properties of the Move Collection. + + :param type: The type of identity used for the region move service. Possible values include: + "None", "SystemAssigned", "UserAssigned". + :type type: str or ~region_move_service_api.models.ResourceIdentityType + :param principal_id: Gets or sets the principal id. + :type principal_id: str + :param tenant_id: Gets or sets the tenant id. + :type tenant_id: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + principal_id: Optional[str] = None, + tenant_id: Optional[str] = None, + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.type = type + self.principal_id = principal_id + self.tenant_id = tenant_id + + +class JobStatus(msrest.serialization.Model): + """Defines the job status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar job_name: Defines the job name. Default value: "InitialSync". + :vartype job_name: str + :param job_progress: Gets or sets the monitoring job percentage. + :type job_progress: str + """ + + _validation = { + 'job_name': {'constant': True}, + } + + _attribute_map = { + 'job_name': {'key': 'jobName', 'type': 'str'}, + 'job_progress': {'key': 'jobProgress', 'type': 'str'}, + } + + job_name = "InitialSync" + + def __init__( + self, + *, + job_progress: Optional[str] = None, + **kwargs + ): + super(JobStatus, self).__init__(**kwargs) + self.job_progress = job_progress + + +class LBBackendAddressPoolResourceSettings(msrest.serialization.Model): + """Defines load balancer backend address pool properties. + + :param name: Gets or sets the backend address pool name. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(LBBackendAddressPoolResourceSettings, self).__init__(**kwargs) + self.name = name + + +class LBFrontendIPConfigurationResourceSettings(msrest.serialization.Model): + """Defines load balancer frontend IP configuration properties. + + :param name: Gets or sets the frontend IP configuration name. + :type name: str + :param private_ip_address: Gets or sets the IP address of the Load Balancer.This is only + specified if a specific + private IP address shall be allocated from the subnet specified in subnetRef. + :type private_ip_address: str + :param private_ip_allocation_method: Gets or sets PrivateIP allocation method (Static/Dynamic). + :type private_ip_allocation_method: str + :param subnet: Defines reference to a proxy resource. + :type subnet: ~region_move_service_api.models.ProxyResourceReference + :param zones: Gets or sets the csv list of zones. + :type zones: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'privateIpAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'ProxyResourceReference'}, + 'zones': {'key': 'zones', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + private_ip_address: Optional[str] = None, + private_ip_allocation_method: Optional[str] = None, + subnet: Optional["ProxyResourceReference"] = None, + zones: Optional[str] = None, + **kwargs + ): + super(LBFrontendIPConfigurationResourceSettings, self).__init__(**kwargs) + self.name = name + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.zones = zones + + +class ProxyResourceReference(AzureResourceReference): + """Defines reference to a proxy resource. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + :param name: Gets the name of the proxy resource on the target side. + :type name: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + source_arm_resource_id: str, + name: Optional[str] = None, + **kwargs + ): + super(ProxyResourceReference, self).__init__(source_arm_resource_id=source_arm_resource_id, **kwargs) + self.name = name + + +class LoadBalancerBackendAddressPoolReference(ProxyResourceReference): + """Defines reference to load balancer backend address pools. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + :param name: Gets the name of the proxy resource on the target side. + :type name: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + source_arm_resource_id: str, + name: Optional[str] = None, + **kwargs + ): + super(LoadBalancerBackendAddressPoolReference, self).__init__(source_arm_resource_id=source_arm_resource_id, name=name, **kwargs) + + +class LoadBalancerNatRuleReference(ProxyResourceReference): + """Defines reference to load balancer NAT rules. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + :param name: Gets the name of the proxy resource on the target side. + :type name: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + source_arm_resource_id: str, + name: Optional[str] = None, + **kwargs + ): + super(LoadBalancerNatRuleReference, self).__init__(source_arm_resource_id=source_arm_resource_id, name=name, **kwargs) + + +class LoadBalancerResourceSettings(ResourceSettings): + """Defines the load balancer resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param sku: Gets or sets load balancer sku (Basic/Standard). + :type sku: str + :param frontend_ip_configurations: Gets or sets the frontend IP configurations of the load + balancer. + :type frontend_ip_configurations: + list[~region_move_service_api.models.LBFrontendIPConfigurationResourceSettings] + :param backend_address_pools: Gets or sets the backend address pools of the load balancer. + :type backend_address_pools: + list[~region_move_service_api.models.LBBackendAddressPoolResourceSettings] + :param zones: Gets or sets the csv list of zones common for all frontend IP configurations. + Note this is given + precedence only if frontend IP configurations settings are not present. + :type zones: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'str'}, + 'frontend_ip_configurations': {'key': 'frontendIPConfigurations', 'type': '[LBFrontendIPConfigurationResourceSettings]'}, + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[LBBackendAddressPoolResourceSettings]'}, + 'zones': {'key': 'zones', 'type': 'str'}, + } + + def __init__( + self, + *, + target_resource_name: str, + sku: Optional[str] = None, + frontend_ip_configurations: Optional[List["LBFrontendIPConfigurationResourceSettings"]] = None, + backend_address_pools: Optional[List["LBBackendAddressPoolResourceSettings"]] = None, + zones: Optional[str] = None, + **kwargs + ): + super(LoadBalancerResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Network/loadBalancers' + self.sku = sku + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pools = backend_address_pools + self.zones = zones + + +class ManualResolutionProperties(msrest.serialization.Model): + """Defines the properties for manual resolution. + + :param target_id: Gets or sets the target resource ARM ID of the dependent resource if the + resource type is Manual. + :type target_id: str + """ + + _attribute_map = { + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__( + self, + *, + target_id: Optional[str] = None, + **kwargs + ): + super(ManualResolutionProperties, self).__init__(**kwargs) + self.target_id = target_id + + +class MoveCollection(msrest.serialization.Model): + """Define the move collection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: The geo-location where the resource lives. + :type location: str + :param identity: Defines the MSI properties of the Move Collection. + :type identity: ~region_move_service_api.models.Identity + :param properties: Defines the move collection properties. + :type properties: ~region_move_service_api.models.MoveCollectionProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'properties': {'key': 'properties', 'type': 'MoveCollectionProperties'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + location: Optional[str] = None, + identity: Optional["Identity"] = None, + properties: Optional["MoveCollectionProperties"] = None, + **kwargs + ): + super(MoveCollection, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.tags = tags + self.location = location + self.identity = identity + self.properties = properties + + +class MoveCollectionProperties(msrest.serialization.Model): + """Defines the move collection properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param source_region: Required. Gets or sets the source region. + :type source_region: str + :param target_region: Required. Gets or sets the target region. + :type target_region: str + :ivar provisioning_state: Defines the provisioning states. Possible values include: + "Succeeded", "Updating", "Creating", "Failed". + :vartype provisioning_state: str or ~region_move_service_api.models.ProvisioningState + """ + + _validation = { + 'source_region': {'required': True}, + 'target_region': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'source_region': {'key': 'sourceRegion', 'type': 'str'}, + 'target_region': {'key': 'targetRegion', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + source_region: str, + target_region: str, + **kwargs + ): + super(MoveCollectionProperties, self).__init__(**kwargs) + self.source_region = source_region + self.target_region = target_region + self.provisioning_state = None + + +class MoveCollectionResultList(msrest.serialization.Model): + """Defines the collection of move collections. + + :param value: Gets the list of move collections. + :type value: list[~region_move_service_api.models.MoveCollection] + :param next_link: Gets the value of next link. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MoveCollection]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["MoveCollection"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(MoveCollectionResultList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class MoveErrorInfo(msrest.serialization.Model): + """The move custom error info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar move_resources: The affected move resources. + :vartype move_resources: list[~region_move_service_api.models.AffectedMoveResource] + """ + + _validation = { + 'move_resources': {'readonly': True}, + } + + _attribute_map = { + 'move_resources': {'key': 'moveResources', 'type': '[AffectedMoveResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(MoveErrorInfo, self).__init__(**kwargs) + self.move_resources = None + + +class MoveResource(msrest.serialization.Model): + """Defines the move resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :param properties: Defines the move resource properties. + :type properties: ~region_move_service_api.models.MoveResourceProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'MoveResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["MoveResourceProperties"] = None, + **kwargs + ): + super(MoveResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = properties + + +class MoveResourceCollection(msrest.serialization.Model): + """Defines the collection of move resources. + + :param value: Gets the list of move resources. + :type value: list[~region_move_service_api.models.MoveResource] + :param next_link: Gets the value of next link. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MoveResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["MoveResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(MoveResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class MoveResourceDependency(msrest.serialization.Model): + """Defines the dependency of the move resource. + + :param id: Gets the source ARM ID of the dependent resource. + :type id: str + :param resolution_status: Gets the dependency resolution status. + :type resolution_status: str + :param resolution_type: Defines the resolution type. Possible values include: "Manual", + "Automatic". + :type resolution_type: str or ~region_move_service_api.models.ResolutionType + :param dependency_type: Defines the dependency type. Possible values include: + "RequiredForPrepare", "RequiredForMove". + :type dependency_type: str or ~region_move_service_api.models.DependencyType + :param manual_resolution: Defines the properties for manual resolution. + :type manual_resolution: ~region_move_service_api.models.ManualResolutionProperties + :param automatic_resolution: Defines the properties for automatic resolution. + :type automatic_resolution: ~region_move_service_api.models.AutomaticResolutionProperties + :param is_optional: Gets or sets a value indicating whether the dependency is optional. + :type is_optional: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resolution_status': {'key': 'resolutionStatus', 'type': 'str'}, + 'resolution_type': {'key': 'resolutionType', 'type': 'str'}, + 'dependency_type': {'key': 'dependencyType', 'type': 'str'}, + 'manual_resolution': {'key': 'manualResolution', 'type': 'ManualResolutionProperties'}, + 'automatic_resolution': {'key': 'automaticResolution', 'type': 'AutomaticResolutionProperties'}, + 'is_optional': {'key': 'isOptional', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + resolution_status: Optional[str] = None, + resolution_type: Optional[Union[str, "ResolutionType"]] = None, + dependency_type: Optional[Union[str, "DependencyType"]] = None, + manual_resolution: Optional["ManualResolutionProperties"] = None, + automatic_resolution: Optional["AutomaticResolutionProperties"] = None, + is_optional: Optional[str] = None, + **kwargs + ): + super(MoveResourceDependency, self).__init__(**kwargs) + self.id = id + self.resolution_status = resolution_status + self.resolution_type = resolution_type + self.dependency_type = dependency_type + self.manual_resolution = manual_resolution + self.automatic_resolution = automatic_resolution + self.is_optional = is_optional + + +class MoveResourceDependencyOverride(msrest.serialization.Model): + """Defines the dependency override of the move resource. + + :param id: Gets or sets the ARM ID of the dependent resource. + :type id: str + :param target_id: Gets or sets the resource ARM id of either the MoveResource or the resource + ARM ID of + the dependent resource. + :type target_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + target_id: Optional[str] = None, + **kwargs + ): + super(MoveResourceDependencyOverride, self).__init__(**kwargs) + self.id = id + self.target_id = target_id + + +class MoveResourceError(msrest.serialization.Model): + """An error response from the azure region move service. + + :param properties: The move resource error body. + :type properties: ~region_move_service_api.models.MoveResourceErrorBody + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'MoveResourceErrorBody'}, + } + + def __init__( + self, + *, + properties: Optional["MoveResourceErrorBody"] = None, + **kwargs + ): + super(MoveResourceError, self).__init__(**kwargs) + self.properties = properties + + +class MoveResourceErrorBody(msrest.serialization.Model): + """An error response from the Azure Migrate service. + + :param code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable for display in a user + interface. + :type message: str + :param target: The target of the particular error. For example, the name of the property in + error. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~region_move_service_api.models.MoveResourceErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[MoveResourceErrorBody]'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["MoveResourceErrorBody"]] = None, + **kwargs + ): + super(MoveResourceErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class MoveResourceFilter(msrest.serialization.Model): + """Move resource filter. + + :param properties: + :type properties: ~region_move_service_api.models.MoveResourceFilterProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'MoveResourceFilterProperties'}, + } + + def __init__( + self, + *, + properties: Optional["MoveResourceFilterProperties"] = None, + **kwargs + ): + super(MoveResourceFilter, self).__init__(**kwargs) + self.properties = properties + + +class MoveResourceFilterProperties(msrest.serialization.Model): + """MoveResourceFilterProperties. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + provisioning_state: Optional[str] = None, + **kwargs + ): + super(MoveResourceFilterProperties, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + + +class MoveResourceProperties(msrest.serialization.Model): + """Defines the move resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar provisioning_state: Defines the provisioning states. Possible values include: + "Succeeded", "Updating", "Creating", "Failed". + :vartype provisioning_state: str or ~region_move_service_api.models.ProvisioningState + :param source_id: Required. Gets or sets the Source ARM Id of the resource. + :type source_id: str + :ivar target_id: Gets or sets the Target ARM Id of the resource. + :vartype target_id: str + :param existing_target_id: Gets or sets the existing target ARM Id of the resource. + :type existing_target_id: str + :param resource_settings: Gets or sets the resource settings. + :type resource_settings: ~region_move_service_api.models.ResourceSettings + :ivar source_resource_settings: Gets or sets the source resource settings. + :vartype source_resource_settings: ~region_move_service_api.models.ResourceSettings + :ivar move_status: Defines the move resource status. + :vartype move_status: ~region_move_service_api.models.MoveResourceStatus + :ivar depends_on: Gets or sets the move resource dependencies. + :vartype depends_on: list[~region_move_service_api.models.MoveResourceDependency] + :param depends_on_overrides: Gets or sets the move resource dependencies overrides. + :type depends_on_overrides: + list[~region_move_service_api.models.MoveResourceDependencyOverride] + :ivar errors: Defines the move resource errors. + :vartype errors: ~region_move_service_api.models.MoveResourceError + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'source_id': {'required': True}, + 'target_id': {'readonly': True}, + 'source_resource_settings': {'readonly': True}, + 'move_status': {'readonly': True}, + 'depends_on': {'readonly': True}, + 'errors': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'source_id': {'key': 'sourceId', 'type': 'str'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + 'existing_target_id': {'key': 'existingTargetId', 'type': 'str'}, + 'resource_settings': {'key': 'resourceSettings', 'type': 'ResourceSettings'}, + 'source_resource_settings': {'key': 'sourceResourceSettings', 'type': 'ResourceSettings'}, + 'move_status': {'key': 'moveStatus', 'type': 'MoveResourceStatus'}, + 'depends_on': {'key': 'dependsOn', 'type': '[MoveResourceDependency]'}, + 'depends_on_overrides': {'key': 'dependsOnOverrides', 'type': '[MoveResourceDependencyOverride]'}, + 'errors': {'key': 'errors', 'type': 'MoveResourceError'}, + } + + def __init__( + self, + *, + source_id: str, + existing_target_id: Optional[str] = None, + resource_settings: Optional["ResourceSettings"] = None, + depends_on_overrides: Optional[List["MoveResourceDependencyOverride"]] = None, + **kwargs + ): + super(MoveResourceProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.source_id = source_id + self.target_id = None + self.existing_target_id = existing_target_id + self.resource_settings = resource_settings + self.source_resource_settings = None + self.move_status = None + self.depends_on = None + self.depends_on_overrides = depends_on_overrides + self.errors = None + + +class MoveResourcePropertiesErrors(MoveResourceError): + """Defines the move resource errors. + + :param properties: The move resource error body. + :type properties: ~region_move_service_api.models.MoveResourceErrorBody + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'MoveResourceErrorBody'}, + } + + def __init__( + self, + *, + properties: Optional["MoveResourceErrorBody"] = None, + **kwargs + ): + super(MoveResourcePropertiesErrors, self).__init__(properties=properties, **kwargs) + + +class MoveResourceStatus(msrest.serialization.Model): + """Defines the move resource status. + + :param move_state: Defines the MoveResource states. Possible values include: + "AssignmentPending", "PreparePending", "PrepareInProgress", "PrepareFailed", "MovePending", + "MoveInProgress", "MoveFailed", "DiscardInProgress", "DiscardFailed", "CommitPending", + "CommitInProgress", "CommitFailed", "Committed". + :type move_state: str or ~region_move_service_api.models.MoveState + :param job_status: Defines the job status. + :type job_status: ~region_move_service_api.models.JobStatus + :param errors: An error response from the azure region move service. + :type errors: ~region_move_service_api.models.MoveResourceError + :param target_id: Gets the Target ARM Id of the resource. + :type target_id: str + """ + + _attribute_map = { + 'move_state': {'key': 'moveState', 'type': 'str'}, + 'job_status': {'key': 'jobStatus', 'type': 'JobStatus'}, + 'errors': {'key': 'errors', 'type': 'MoveResourceError'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__( + self, + *, + move_state: Optional[Union[str, "MoveState"]] = None, + job_status: Optional["JobStatus"] = None, + errors: Optional["MoveResourceError"] = None, + target_id: Optional[str] = None, + **kwargs + ): + super(MoveResourceStatus, self).__init__(**kwargs) + self.move_state = move_state + self.job_status = job_status + self.errors = errors + self.target_id = target_id + + +class MoveResourcePropertiesMoveStatus(MoveResourceStatus): + """Defines the move resource status. + + :param move_state: Defines the MoveResource states. Possible values include: + "AssignmentPending", "PreparePending", "PrepareInProgress", "PrepareFailed", "MovePending", + "MoveInProgress", "MoveFailed", "DiscardInProgress", "DiscardFailed", "CommitPending", + "CommitInProgress", "CommitFailed", "Committed". + :type move_state: str or ~region_move_service_api.models.MoveState + :param job_status: Defines the job status. + :type job_status: ~region_move_service_api.models.JobStatus + :param errors: An error response from the azure region move service. + :type errors: ~region_move_service_api.models.MoveResourceError + :param target_id: Gets the Target ARM Id of the resource. + :type target_id: str + """ + + _attribute_map = { + 'move_state': {'key': 'moveState', 'type': 'str'}, + 'job_status': {'key': 'jobStatus', 'type': 'JobStatus'}, + 'errors': {'key': 'errors', 'type': 'MoveResourceError'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__( + self, + *, + move_state: Optional[Union[str, "MoveState"]] = None, + job_status: Optional["JobStatus"] = None, + errors: Optional["MoveResourceError"] = None, + target_id: Optional[str] = None, + **kwargs + ): + super(MoveResourcePropertiesMoveStatus, self).__init__(move_state=move_state, job_status=job_status, errors=errors, target_id=target_id, **kwargs) + + +class MoveResourcePropertiesSourceResourceSettings(ResourceSettings): + """Gets or sets the source resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + } + + def __init__( + self, + *, + target_resource_name: str, + **kwargs + ): + super(MoveResourcePropertiesSourceResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'MoveResourceProperties-sourceResourceSettings' + + +class NetworkInterfaceResourceSettings(ResourceSettings): + """Defines the network interface resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param ip_configurations: Gets or sets the IP configurations of the NIC. + :type ip_configurations: + list[~region_move_service_api.models.NicIpConfigurationResourceSettings] + :param enable_accelerated_networking: Gets or sets a value indicating whether accelerated + networking is enabled. + :type enable_accelerated_networking: bool + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'ip_configurations': {'key': 'ipConfigurations', 'type': '[NicIpConfigurationResourceSettings]'}, + 'enable_accelerated_networking': {'key': 'enableAcceleratedNetworking', 'type': 'bool'}, + } + + def __init__( + self, + *, + target_resource_name: str, + ip_configurations: Optional[List["NicIpConfigurationResourceSettings"]] = None, + enable_accelerated_networking: Optional[bool] = None, + **kwargs + ): + super(NetworkInterfaceResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Network/networkInterfaces' + self.ip_configurations = ip_configurations + self.enable_accelerated_networking = enable_accelerated_networking + + +class NetworkSecurityGroupResourceSettings(ResourceSettings): + """Defines the NSG resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param security_rules: Gets or sets Security rules of network security group. + :type security_rules: list[~region_move_service_api.models.NsgSecurityRule] + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[NsgSecurityRule]'}, + } + + def __init__( + self, + *, + target_resource_name: str, + security_rules: Optional[List["NsgSecurityRule"]] = None, + **kwargs + ): + super(NetworkSecurityGroupResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Network/networkSecurityGroups' + self.security_rules = security_rules + + +class NicIpConfigurationResourceSettings(msrest.serialization.Model): + """Defines NIC IP configuration properties. + + :param name: Gets or sets the IP configuration name. + :type name: str + :param private_ip_address: Gets or sets the private IP address of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: Gets or sets the private IP address allocation method. + :type private_ip_allocation_method: str + :param subnet: Defines reference to a proxy resource. + :type subnet: ~region_move_service_api.models.ProxyResourceReference + :param primary: Gets or sets a value indicating whether this IP configuration is the primary. + :type primary: bool + :param load_balancer_backend_address_pools: Gets or sets the references of the load balancer + backend address pools. + :type load_balancer_backend_address_pools: + list[~region_move_service_api.models.ProxyResourceReference] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'privateIpAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'ProxyResourceReference'}, + 'primary': {'key': 'primary', 'type': 'bool'}, + 'load_balancer_backend_address_pools': {'key': 'loadBalancerBackendAddressPools', 'type': '[ProxyResourceReference]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + private_ip_address: Optional[str] = None, + private_ip_allocation_method: Optional[str] = None, + subnet: Optional["ProxyResourceReference"] = None, + primary: Optional[bool] = None, + load_balancer_backend_address_pools: Optional[List["ProxyResourceReference"]] = None, + **kwargs + ): + super(NicIpConfigurationResourceSettings, self).__init__(**kwargs) + self.name = name + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.primary = primary + self.load_balancer_backend_address_pools = load_balancer_backend_address_pools + + +class NsgSecurityRule(msrest.serialization.Model): + """Security Rule data model for Network Security Groups. + + :param name: Gets or sets the Security rule name. + :type name: str + :param access: Gets or sets whether network traffic is allowed or denied. + Possible values are “Allow” and “Deny”. + :type access: str + :param description: Gets or sets a description for this rule. Restricted to 140 chars. + :type description: str + :param destination_address_prefix: Gets or sets destination address prefix. CIDR or source IP + range. + A “*” can also be used to match all source IPs. Default tags such + as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. + :type destination_address_prefix: str + :param destination_port_range: Gets or sets Destination Port or Range. Integer or range between + 0 and 65535. A “*” can also be used to match all ports. + :type destination_port_range: str + :param direction: Gets or sets the direction of the rule.InBound or Outbound. The + direction specifies if rule will be evaluated on incoming or outgoing traffic. + :type direction: str + :param priority: Gets or sets the priority of the rule. The value can be between + 100 and 4096. The priority number must be unique for each rule in the collection. + The lower the priority number, the higher the priority of the rule. + :type priority: int + :param protocol: Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*). + :type protocol: str + :param source_address_prefix: Gets or sets source address prefix. CIDR or source IP range. A + “*” can also be used to match all source IPs. Default tags such as ‘VirtualNetwork’, + ‘AzureLoadBalancer’ and ‘Internet’ can also be used. If this is an ingress + rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_port_range: Gets or sets Source Port or Range. Integer or range between 0 and + + + #. A “*” can also be used to match all ports. + :type source_port_range: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'access': {'key': 'access', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + access: Optional[str] = None, + description: Optional[str] = None, + destination_address_prefix: Optional[str] = None, + destination_port_range: Optional[str] = None, + direction: Optional[str] = None, + priority: Optional[int] = None, + protocol: Optional[str] = None, + source_address_prefix: Optional[str] = None, + source_port_range: Optional[str] = None, + **kwargs + ): + super(NsgSecurityRule, self).__init__(**kwargs) + self.name = name + self.access = access + self.description = description + self.destination_address_prefix = destination_address_prefix + self.destination_port_range = destination_port_range + self.direction = direction + self.priority = priority + self.protocol = protocol + self.source_address_prefix = source_address_prefix + self.source_port_range = source_port_range + + +class OperationErrorAdditionalInfo(msrest.serialization.Model): + """The operation error info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The error type. + :vartype type: str + :ivar info: The operation error info. + :vartype info: ~region_move_service_api.models.MoveErrorInfo + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'MoveErrorInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class OperationsDiscovery(msrest.serialization.Model): + """Operations discovery class. + + :param name: Gets or sets Name of the API. + The name of the operation being performed on this particular object. It should + match the action name that appears in RBAC / the event service. + Examples of operations include: + + + * Microsoft.Compute/virtualMachine/capture/action + * Microsoft.Compute/virtualMachine/restart/action + * Microsoft.Compute/virtualMachine/write + * Microsoft.Compute/virtualMachine/read + * Microsoft.Compute/virtualMachine/delete + Each action should include, in order: + (1) Resource Provider Namespace + (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL + Azure database) + (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH + on a collection or named value, Write should be used. + If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it + is a POST, Action should be used. + As a note: all resource providers would need to include the "{Resource Provider + Namespace}/register/action" operation in their response. + This API is used to register for their service, and should include details about the + operation (e.g. a localized name for the resource provider + any special + considerations like PII release). + :type name: str + :param display: Contains the localized display information for this particular operation / + action. These + value will be used by several clients for + (1) custom role definitions for RBAC; + (2) complex query filters for the event service; and + (3) audit history / records for management operations. + :type display: ~region_move_service_api.models.Display + :param origin: Gets or sets Origin. + The intended executor of the operation; governs the display of the operation in the + RBAC UX and the audit logs UX. + Default value is "user,system". + :type origin: str + :param properties: Any object. + :type properties: object + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'Display'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["Display"] = None, + origin: Optional[str] = None, + properties: Optional[object] = None, + **kwargs + ): + super(OperationsDiscovery, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.properties = properties + + +class OperationsDiscoveryCollection(msrest.serialization.Model): + """Collection of ClientDiscovery details. + + :param value: Gets or sets the ClientDiscovery details. + :type value: list[~region_move_service_api.models.OperationsDiscovery] + :param next_link: Gets or sets the value of next link. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationsDiscovery]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["OperationsDiscovery"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(OperationsDiscoveryCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class OperationStatus(msrest.serialization.Model): + """Operation status REST resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Operation name. + :vartype name: str + :ivar status: Status of the operation. ARM expects the terminal status to be one of Succeeded/ + Failed/ Canceled. All other values imply that the operation is still running. + :vartype status: str + :ivar start_time: Start time. + :vartype start_time: str + :ivar end_time: End time. + :vartype end_time: str + :ivar error: Error stating all error details for the operation. + :vartype error: ~region_move_service_api.models.OperationStatusError + :ivar properties: Custom data. + :vartype properties: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'status': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'error': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'OperationStatusError'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationStatus, self).__init__(**kwargs) + self.id = None + self.name = None + self.status = None + self.start_time = None + self.end_time = None + self.error = None + self.properties = None + + +class OperationStatusError(msrest.serialization.Model): + """Class for operation status errors. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar details: The error details. + :vartype details: list[~region_move_service_api.models.OperationStatusError] + :ivar additional_info: The additional info. + :vartype additional_info: list[~region_move_service_api.models.OperationErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[OperationStatusError]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[OperationErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationStatusError, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + self.additional_info = None + + +class PrepareRequest(msrest.serialization.Model): + """Defines the request body for initiate prepare operation. + + All required parameters must be populated in order to send to Azure. + + :param validate_only: Gets or sets a value indicating whether the operation needs to only run + pre-requisite. + :type validate_only: bool + :param move_resources: Required. Gets or sets the list of resource Id's, by default it accepts + move resource id's unless the input type is switched via moveResourceInputType property. + :type move_resources: list[str] + :param move_resource_input_type: Defines the move resource input type. Possible values include: + "MoveResourceId", "MoveResourceSourceId". + :type move_resource_input_type: str or ~region_move_service_api.models.MoveResourceInputType + """ + + _validation = { + 'move_resources': {'required': True}, + } + + _attribute_map = { + 'validate_only': {'key': 'validateOnly', 'type': 'bool'}, + 'move_resources': {'key': 'moveResources', 'type': '[str]'}, + 'move_resource_input_type': {'key': 'moveResourceInputType', 'type': 'str'}, + } + + def __init__( + self, + *, + move_resources: List[str], + validate_only: Optional[bool] = None, + move_resource_input_type: Optional[Union[str, "MoveResourceInputType"]] = None, + **kwargs + ): + super(PrepareRequest, self).__init__(**kwargs) + self.validate_only = validate_only + self.move_resources = move_resources + self.move_resource_input_type = move_resource_input_type + + +class PublicIPAddressResourceSettings(ResourceSettings): + """Defines the public IP address resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param domain_name_label: Gets or sets the domain name label. + :type domain_name_label: str + :param f_qdn: Gets or sets the fully qualified domain name. + :type f_qdn: str + :param public_ip_allocation_method: Gets or sets public IP allocation method. + :type public_ip_allocation_method: str + :param sku: Gets or sets public IP sku. + :type sku: str + :param zones: Gets or sets public IP zones. + :type zones: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'f_qdn': {'key': 'fQDN', 'type': 'str'}, + 'public_ip_allocation_method': {'key': 'publicIpAllocationMethod', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': 'str'}, + } + + def __init__( + self, + *, + target_resource_name: str, + domain_name_label: Optional[str] = None, + f_qdn: Optional[str] = None, + public_ip_allocation_method: Optional[str] = None, + sku: Optional[str] = None, + zones: Optional[str] = None, + **kwargs + ): + super(PublicIPAddressResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Network/publicIPAddresses' + self.domain_name_label = domain_name_label + self.f_qdn = f_qdn + self.public_ip_allocation_method = public_ip_allocation_method + self.sku = sku + self.zones = zones + + +class ResourceGroupResourceSettings(ResourceSettings): + """Defines the resource group resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + } + + def __init__( + self, + *, + target_resource_name: str, + **kwargs + ): + super(ResourceGroupResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'resourceGroups' + + +class ResourceMoveRequest(msrest.serialization.Model): + """Defines the request body for resource move operation. + + All required parameters must be populated in order to send to Azure. + + :param validate_only: Gets or sets a value indicating whether the operation needs to only run + pre-requisite. + :type validate_only: bool + :param move_resources: Required. Gets or sets the list of resource Id's, by default it accepts + move resource id's unless the input type is switched via moveResourceInputType property. + :type move_resources: list[str] + :param move_resource_input_type: Defines the move resource input type. Possible values include: + "MoveResourceId", "MoveResourceSourceId". + :type move_resource_input_type: str or ~region_move_service_api.models.MoveResourceInputType + """ + + _validation = { + 'move_resources': {'required': True}, + } + + _attribute_map = { + 'validate_only': {'key': 'validateOnly', 'type': 'bool'}, + 'move_resources': {'key': 'moveResources', 'type': '[str]'}, + 'move_resource_input_type': {'key': 'moveResourceInputType', 'type': 'str'}, + } + + def __init__( + self, + *, + move_resources: List[str], + validate_only: Optional[bool] = None, + move_resource_input_type: Optional[Union[str, "MoveResourceInputType"]] = None, + **kwargs + ): + super(ResourceMoveRequest, self).__init__(**kwargs) + self.validate_only = validate_only + self.move_resources = move_resources + self.move_resource_input_type = move_resource_input_type + + +class SqlDatabaseResourceSettings(ResourceSettings): + """Defines the Sql Database resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param zone_redundant: Defines the zone redundant resource setting. Possible values include: + "Enable", "Disable". + :type zone_redundant: str or ~region_move_service_api.models.ZoneRedundant + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'zone_redundant': {'key': 'zoneRedundant', 'type': 'str'}, + } + + def __init__( + self, + *, + target_resource_name: str, + zone_redundant: Optional[Union[str, "ZoneRedundant"]] = None, + **kwargs + ): + super(SqlDatabaseResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Sql/servers/databases' + self.zone_redundant = zone_redundant + + +class SqlElasticPoolResourceSettings(ResourceSettings): + """Defines the Sql ElasticPool resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param zone_redundant: Defines the zone redundant resource setting. Possible values include: + "Enable", "Disable". + :type zone_redundant: str or ~region_move_service_api.models.ZoneRedundant + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'zone_redundant': {'key': 'zoneRedundant', 'type': 'str'}, + } + + def __init__( + self, + *, + target_resource_name: str, + zone_redundant: Optional[Union[str, "ZoneRedundant"]] = None, + **kwargs + ): + super(SqlElasticPoolResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Sql/servers/elasticPools' + self.zone_redundant = zone_redundant + + +class SqlServerResourceSettings(ResourceSettings): + """Defines the SQL Server resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + } + + def __init__( + self, + *, + target_resource_name: str, + **kwargs + ): + super(SqlServerResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Sql/servers' + + +class SubnetReference(ProxyResourceReference): + """Defines reference to subnet. + + All required parameters must be populated in order to send to Azure. + + :param source_arm_resource_id: Required. Gets the ARM resource ID of the tracked resource being + referenced. + :type source_arm_resource_id: str + :param name: Gets the name of the proxy resource on the target side. + :type name: str + """ + + _validation = { + 'source_arm_resource_id': {'required': True}, + } + + _attribute_map = { + 'source_arm_resource_id': {'key': 'sourceArmResourceId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + source_arm_resource_id: str, + name: Optional[str] = None, + **kwargs + ): + super(SubnetReference, self).__init__(source_arm_resource_id=source_arm_resource_id, name=name, **kwargs) + + +class SubnetResourceSettings(msrest.serialization.Model): + """Defines the virtual network subnets resource settings. + + :param name: Gets or sets the Subnet name. + :type name: str + :param address_prefix: Gets or sets address prefix for the subnet. + :type address_prefix: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + address_prefix: Optional[str] = None, + **kwargs + ): + super(SubnetResourceSettings, self).__init__(**kwargs) + self.name = name + self.address_prefix = address_prefix + + +class UnresolvedDependency(msrest.serialization.Model): + """Unresolved dependency. + + :param count: Gets or sets the count. + :type count: int + :param id: Gets or sets the arm id of the dependency. + :type id: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + count: Optional[int] = None, + id: Optional[str] = None, + **kwargs + ): + super(UnresolvedDependency, self).__init__(**kwargs) + self.count = count + self.id = id + + +class UnresolvedDependencyCollection(msrest.serialization.Model): + """Unresolved dependency collection. + + :param value: Gets or sets the list of unresolved dependencies. + :type value: list[~region_move_service_api.models.UnresolvedDependency] + :param next_link: Gets or sets the value of next link. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[UnresolvedDependency]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["UnresolvedDependency"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(UnresolvedDependencyCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class UpdateMoveCollectionRequest(msrest.serialization.Model): + """Defines the request body for updating move collection. + + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :param identity: Defines the MSI properties of the Move Collection. + :type identity: ~region_move_service_api.models.Identity + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + **kwargs + ): + super(UpdateMoveCollectionRequest, self).__init__(**kwargs) + self.tags = tags + self.identity = identity + + +class VirtualMachineResourceSettings(ResourceSettings): + """Gets or sets the virtual machine resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param target_availability_zone: Gets or sets the target availability zone. Possible values + include: "1", "2", "3", "NA". + :type target_availability_zone: str or ~region_move_service_api.models.TargetAvailabilityZone + :param target_vm_size: Gets or sets the target virtual machine size. + :type target_vm_size: str + :param target_availability_set_id: Gets or sets the target availability set id for virtual + machines not in an availability set at source. + :type target_availability_set_id: str + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'target_availability_zone': {'key': 'targetAvailabilityZone', 'type': 'str'}, + 'target_vm_size': {'key': 'targetVmSize', 'type': 'str'}, + 'target_availability_set_id': {'key': 'targetAvailabilitySetId', 'type': 'str'}, + } + + def __init__( + self, + *, + target_resource_name: str, + target_availability_zone: Optional[Union[str, "TargetAvailabilityZone"]] = None, + target_vm_size: Optional[str] = None, + target_availability_set_id: Optional[str] = None, + **kwargs + ): + super(VirtualMachineResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Compute/virtualMachines' + self.target_availability_zone = target_availability_zone + self.target_vm_size = target_vm_size + self.target_availability_set_id = target_availability_set_id + + +class VirtualNetworkResourceSettings(ResourceSettings): + """Defines the virtual network resource settings. + + All required parameters must be populated in order to send to Azure. + + :param resource_type: Required. The resource type. For example, the value can be + Microsoft.Compute/virtualMachines.Constant filled by server. + :type resource_type: str + :param target_resource_name: Required. Gets or sets the target Resource name. + :type target_resource_name: str + :param enable_ddos_protection: Gets or sets a value indicating whether gets or sets whether the + DDOS protection should be switched on. + :type enable_ddos_protection: bool + :param address_space: Gets or sets the address prefixes for the virtual network. + :type address_space: list[str] + :param dns_servers: Gets or sets DHCPOptions that contains an array of DNS servers available to + VMs + deployed in the virtual network. + :type dns_servers: list[str] + :param subnets: Gets or sets List of subnets in a VirtualNetwork. + :type subnets: list[~region_move_service_api.models.SubnetResourceSettings] + """ + + _validation = { + 'resource_type': {'required': True}, + 'target_resource_name': {'required': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'enableDdosProtection', 'type': 'bool'}, + 'address_space': {'key': 'addressSpace', 'type': '[str]'}, + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'subnets': {'key': 'subnets', 'type': '[SubnetResourceSettings]'}, + } + + def __init__( + self, + *, + target_resource_name: str, + enable_ddos_protection: Optional[bool] = None, + address_space: Optional[List[str]] = None, + dns_servers: Optional[List[str]] = None, + subnets: Optional[List["SubnetResourceSettings"]] = None, + **kwargs + ): + super(VirtualNetworkResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) + self.resource_type: str = 'Microsoft.Network/virtualNetworks' + self.enable_ddos_protection = enable_ddos_protection + self.address_space = address_space + self.dns_servers = dns_servers + self.subnets = subnets diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_region_move_service_api_enums.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_region_move_service_api_enums.py new file mode 100644 index 000000000000..e1c7f26e4cd0 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/models/_region_move_service_api_enums.py @@ -0,0 +1,81 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class DependencyType(str, Enum): + """Defines the dependency type. + """ + + required_for_prepare = "RequiredForPrepare" + required_for_move = "RequiredForMove" + +class MoveResourceInputType(str, Enum): + """Defines the move resource input type. + """ + + move_resource_id = "MoveResourceId" + move_resource_source_id = "MoveResourceSourceId" + +class MoveState(str, Enum): + """Defines the MoveResource states. + """ + + assignment_pending = "AssignmentPending" + prepare_pending = "PreparePending" + prepare_in_progress = "PrepareInProgress" + prepare_failed = "PrepareFailed" + move_pending = "MovePending" + move_in_progress = "MoveInProgress" + move_failed = "MoveFailed" + discard_in_progress = "DiscardInProgress" + discard_failed = "DiscardFailed" + commit_pending = "CommitPending" + commit_in_progress = "CommitInProgress" + commit_failed = "CommitFailed" + committed = "Committed" + +class ProvisioningState(str, Enum): + """Defines the provisioning states. + """ + + succeeded = "Succeeded" + updating = "Updating" + creating = "Creating" + failed = "Failed" + +class ResolutionType(str, Enum): + """Defines the resolution type. + """ + + manual = "Manual" + automatic = "Automatic" + +class ResourceIdentityType(str, Enum): + """The type of identity used for the region move service. + """ + + none = "None" + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + +class TargetAvailabilityZone(str, Enum): + """Gets or sets the target availability zone. + """ + + one = "1" + two = "2" + three = "3" + na = "NA" + +class ZoneRedundant(str, Enum): + """Defines the zone redundant resource setting. + """ + + enable = "Enable" + disable = "Disable" diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/__init__.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/__init__.py similarity index 52% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/__init__.py rename to sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/__init__.py index b1be346130b4..fb98319827bc 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/__init__.py +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/__init__.py @@ -6,17 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import RequestOptions - from ._models_py3 import SearchError - from ._models_py3 import SearchIndex -except (SyntaxError, ImportError): - from ._models import RequestOptions # type: ignore - from ._models import SearchError # type: ignore - from ._models import SearchIndex # type: ignore +from ._move_collections_operations import MoveCollectionsOperations +from ._move_resources_operations import MoveResourcesOperations +from ._unresolved_dependencies_operations import UnresolvedDependenciesOperations +from ._operations_discovery_operations import OperationsDiscoveryOperations __all__ = [ - 'RequestOptions', - 'SearchError', - 'SearchIndex', + 'MoveCollectionsOperations', + 'MoveResourcesOperations', + 'UnresolvedDependenciesOperations', + 'OperationsDiscoveryOperations', ] diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_move_collections_operations.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_move_collections_operations.py new file mode 100644 index 000000000000..9551e990e0de --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_move_collections_operations.py @@ -0,0 +1,1106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class MoveCollectionsOperations(object): + """MoveCollectionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~region_move_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def create( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.MoveCollection"] + **kwargs # type: Any + ): + # type: (...) -> "models.MoveCollection" + """Creates or updates a move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.MoveCollection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MoveCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.MoveCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollection"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'MoveCollection') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('MoveCollection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('MoveCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.UpdateMoveCollectionRequest"] + **kwargs # type: Any + ): + # type: (...) -> "models.MoveCollection" + """Updates a move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.UpdateMoveCollectionRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MoveCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.MoveCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollection"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'UpdateMoveCollectionRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MoveCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + move_collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + move_collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OperationStatus"] + """Deletes a move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + move_collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.MoveCollection" + """Gets the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MoveCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.MoveCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollection"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MoveCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}'} # type: ignore + + def _prepare_initial( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.PrepareRequest"] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._prepare_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'PrepareRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _prepare_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/prepare'} # type: ignore + + def begin_prepare( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.PrepareRequest"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OperationStatus"] + """Initiates prepare for the set of resources included in the request body. The prepare operation + is on the moveResources that are in the moveState 'PreparePending' or 'PrepareFailed', on a + successful completion the moveResource moveState do a transition to MovePending. To aid the + user to prerequisite the operation the client can call operation with validateOnly property set + to true. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.PrepareRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._prepare_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_prepare.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/prepare'} # type: ignore + + def _initiate_move_initial( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.ResourceMoveRequest"] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._initiate_move_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourceMoveRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _initiate_move_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/initiateMove'} # type: ignore + + def begin_initiate_move( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.ResourceMoveRequest"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OperationStatus"] + """Moves the set of resources included in the request body. The move operation is triggered after + the moveResources are in the moveState 'MovePending' or 'MoveFailed', on a successful + completion the moveResource moveState do a transition to CommitPending. To aid the user to + prerequisite the operation the client can call operation with validateOnly property set to + true. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.ResourceMoveRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._initiate_move_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_initiate_move.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/initiateMove'} # type: ignore + + def _commit_initial( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.CommitRequest"] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._commit_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'CommitRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _commit_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/commit'} # type: ignore + + def begin_commit( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.CommitRequest"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OperationStatus"] + """Commits the set of resources included in the request body. The commit operation is triggered on + the moveResources in the moveState 'CommitPending' or 'CommitFailed', on a successful + completion the moveResource moveState do a transition to Committed. To aid the user to + prerequisite the operation the client can call operation with validateOnly property set to + true. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.CommitRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._commit_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_commit.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/commit'} # type: ignore + + def _discard_initial( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.DiscardRequest"] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._discard_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'DiscardRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _discard_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/discard'} # type: ignore + + def begin_discard( + self, + resource_group_name, # type: str + move_collection_name, # type: str + body=None, # type: Optional["models.DiscardRequest"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OperationStatus"] + """Discards the set of resources included in the request body. The discard operation is triggered + on the moveResources in the moveState 'CommitPending' or 'DiscardFailed', on a successful + completion the moveResource moveState do a transition to MovePending. To aid the user to + prerequisite the operation the client can call operation with validateOnly property set to + true. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param body: + :type body: ~region_move_service_api.models.DiscardRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._discard_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_discard.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/discard'} # type: ignore + + def _resolve_dependencies_initial( + self, + resource_group_name, # type: str + move_collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self._resolve_dependencies_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _resolve_dependencies_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/resolveDependencies'} # type: ignore + + def begin_resolve_dependencies( + self, + resource_group_name, # type: str + move_collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OperationStatus"] + """Computes, resolves and validate the dependencies of the moveResources in the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._resolve_dependencies_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_resolve_dependencies.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/resolveDependencies'} # type: ignore + + def list_move_collections_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.MoveCollectionResultList"] + """Get all Move Collections. + + Get all the Move Collections in the subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MoveCollectionResultList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~region_move_service_api.models.MoveCollectionResultList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollectionResultList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list_move_collections_by_subscription.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('MoveCollectionResultList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_move_collections_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Migrate/moveCollections'} # type: ignore + + def list_move_collections_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.MoveCollectionResultList"] + """Get all Move Collections. + + Get all the Move Collections in the resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MoveCollectionResultList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~region_move_service_api.models.MoveCollectionResultList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveCollectionResultList"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list_move_collections_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('MoveCollectionResultList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_move_collections_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections'} # type: ignore diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_move_resources_operations.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_move_resources_operations.py new file mode 100644 index 000000000000..337c9321175e --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_move_resources_operations.py @@ -0,0 +1,430 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class MoveResourcesOperations(object): + """MoveResourcesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~region_move_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + move_collection_name, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.MoveResourceCollection"] + """Lists the Move Resources in the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param filter: The filter to apply on the operation. For example, you can use + $filter=Properties/ProvisioningState eq 'Succeeded'. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MoveResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~region_move_service_api.models.MoveResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveResourceCollection"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('MoveResourceCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources'} # type: ignore + + def _create_initial( + self, + resource_group_name, # type: str + move_collection_name, # type: str + move_resource_name, # type: str + body=None, # type: Optional["models.MoveResource"] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.MoveResource"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.MoveResource"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + 'moveResourceName': self._serialize.url("move_resource_name", move_resource_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'MoveResource') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('MoveResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + move_collection_name, # type: str + move_resource_name, # type: str + body=None, # type: Optional["models.MoveResource"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.MoveResource"] + """Creates or updates a Move Resource in the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param move_resource_name: The Move Resource Name. + :type move_resource_name: str + :param body: + :type body: ~region_move_service_api.models.MoveResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either MoveResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~region_move_service_api.models.MoveResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + move_resource_name=move_resource_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MoveResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + move_collection_name, # type: str + move_resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationStatus"]] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + 'moveResourceName': self._serialize.url("move_resource_name", move_resource_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + move_collection_name, # type: str + move_resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OperationStatus"] + """Deletes a Move Resource from the move collection. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param move_resource_name: The Move Resource Name. + :type move_resource_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either OperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~region_move_service_api.models.OperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + move_collection_name=move_collection_name, + move_resource_name=move_resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('OperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + move_collection_name, # type: str + move_resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.MoveResource" + """Gets the Move Resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str + :param move_resource_name: The Move Resource Name. + :type move_resource_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MoveResource, or the result of cls(response) + :rtype: ~region_move_service_api.models.MoveResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MoveResource"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-10-01-preview" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), + 'moveResourceName': self._serialize.url("move_resource_name", move_resource_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MoveResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}'} # type: ignore diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/_search_service_client_operations.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_operations_discovery_operations.py similarity index 54% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/_search_service_client_operations.py rename to sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_operations_discovery_operations.py index 32ab6e9e12cf..62707d81ac7a 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/_search_service_client_operations.py +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_operations_discovery_operations.py @@ -6,10 +6,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from typing import TYPE_CHECKING +import warnings from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat from .. import models @@ -20,39 +22,47 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class SearchServiceClientOperationsMixin(object): +class OperationsDiscoveryOperations(object): + """OperationsDiscoveryOperations operations. - def get_service_statistics( + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~region_move_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( self, - request_options=None, # type: Optional["models.RequestOptions"] **kwargs # type: Any ): - # type: (...) -> "models.ServiceStatistics" - # pylint: disable=protected-access - """Gets service level statistics for a search service. + # type: (...) -> "models.OperationsDiscoveryCollection" + """get. - :param request_options: Parameter group. - :type request_options: ~azure.search.documents.indexes.models.RequestOptions :keyword callable cls: A custom type or function that will be passed the direct response - :return: ServiceStatistics, or the result of cls(response) - :rtype: ~azure.search.documents.indexes.models.ServiceStatistics + :return: OperationsDiscoveryCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.OperationsDiscoveryCollection :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ServiceStatistics"] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationsDiscoveryCollection"] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) - - _x_ms_client_request_id = None - if request_options is not None: - _x_ms_client_request_id = request_options.x_ms_client_request_id - api_version = "2020-06-30" + api_version = "2019-10-01-preview" # Construct URL - url = self.get_service_statistics.metadata['url'] # type: ignore - path_format_arguments = { - 'endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), - } - url = self._client.format_url(url, **path_format_arguments) + url = self.get.metadata['url'] # type: ignore # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -60,25 +70,20 @@ def get_service_statistics( # Construct headers header_parameters = {} # type: Dict[str, Any] - if _x_ms_client_request_id is not None: - header_parameters['x-ms-client-request-id'] = \ - self._serialize.header("x_ms_client_request_id", _x_ms_client_request_id, 'str') header_parameters['Accept'] = 'application/json' request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = \ - self._client._pipeline.run(request, stream=False, **kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.SearchError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('ServiceStatistics', pipeline_response) + deserialized = self._deserialize('OperationsDiscoveryCollection', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get_service_statistics.metadata = {'url': '/servicestats'} # type: ignore + get.metadata = {'url': '/providers/Microsoft.Migrate/operations'} # type: ignore diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/_indexes_operations.py b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_unresolved_dependencies_operations.py similarity index 61% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/_indexes_operations.py rename to sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_unresolved_dependencies_operations.py index 555e197f40c9..548d7b21c523 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/_indexes_operations.py +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/operations/_unresolved_dependencies_operations.py @@ -6,28 +6,30 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from typing import TYPE_CHECKING +import warnings from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat from .. import models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Optional, TypeVar + from typing import Any, Callable, Dict, Generic, Optional, TypeVar T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class IndexesOperations(object): - """IndexesOperations operations. +class UnresolvedDependenciesOperations(object): + """UnresolvedDependenciesOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.search.documents.indexes.models + :type models: ~region_move_service_api.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,37 +46,33 @@ def __init__(self, client, config, serializer, deserializer): def get( self, - index_name, # type: str - request_options=None, # type: Optional["models.RequestOptions"] + resource_group_name, # type: str + move_collection_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.SearchIndex" - # pylint: disable=protected-access - """Retrieves an index definition. - - :param index_name: The name of the index to retrieve. - :type index_name: str - :param request_options: Parameter group. - :type request_options: ~azure.search.documents.indexes.models.RequestOptions + # type: (...) -> "models.UnresolvedDependencyCollection" + """Gets a list of unresolved dependencies. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param move_collection_name: The Move Collection Name. + :type move_collection_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SearchIndex, or the result of cls(response) - :rtype: ~azure.search.documents.indexes.models.SearchIndex + :return: UnresolvedDependencyCollection, or the result of cls(response) + :rtype: ~region_move_service_api.models.UnresolvedDependencyCollection :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SearchIndex"] + cls = kwargs.pop('cls', None) # type: ClsType["models.UnresolvedDependencyCollection"] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) - - _x_ms_client_request_id = None - if request_options is not None: - _x_ms_client_request_id = request_options.x_ms_client_request_id - api_version = "2020-06-30" + api_version = "2019-10-01-preview" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { - 'endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), - 'indexName': self._serialize.url("index_name", index_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'moveCollectionName': self._serialize.url("move_collection_name", move_collection_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -84,25 +82,20 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - if _x_ms_client_request_id is not None: - header_parameters['x-ms-client-request-id'] = \ - self._serialize.header("x_ms_client_request_id", _x_ms_client_request_id, 'str') header_parameters['Accept'] = 'application/json' request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = \ - self._client._pipeline.run(request, stream=False, **kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.SearchError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('SearchIndex', pipeline_response) + deserialized = self._deserialize('UnresolvedDependencyCollection', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/indexes(\'{indexName}\')'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/unresolvedDependencies'} # type: ignore diff --git a/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/py.typed b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/py.typed new file mode 100644 index 000000000000..e5aff4f83af8 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/azure/mgmt/regionmove/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/sdk/regionmove/azure-mgmt-regionmove/dev_requirements.txt b/sdk/regionmove/azure-mgmt-regionmove/dev_requirements.txt new file mode 100644 index 000000000000..f6457a93d5e8 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/dev_requirements.txt @@ -0,0 +1 @@ +-e ../../../tools/azure-sdk-tools \ No newline at end of file diff --git a/sdk/regionmove/azure-mgmt-regionmove/sdk_packaging.toml b/sdk/regionmove/azure-mgmt-regionmove/sdk_packaging.toml new file mode 100644 index 000000000000..ab75913e7095 --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/sdk_packaging.toml @@ -0,0 +1,8 @@ +[packaging] +package_name = "azure-mgmt-regionmove" +package_nspkg = "azure-mgmt-nspkg" +package_pprint_name = "MyService Management" +package_doc_id = "" +is_stable = false +is_arm = true +need_msrestazure = true diff --git a/sdk/regionmove/azure-mgmt-regionmove/setup.cfg b/sdk/regionmove/azure-mgmt-regionmove/setup.cfg new file mode 100644 index 000000000000..3c6e79cf31da --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/sdk/regionmove/azure-mgmt-regionmove/setup.py b/sdk/regionmove/azure-mgmt-regionmove/setup.py new file mode 100644 index 000000000000..0585c318eaad --- /dev/null +++ b/sdk/regionmove/azure-mgmt-regionmove/setup.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python + +#------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +#-------------------------------------------------------------------------- + +import re +import os.path +from io import open +from setuptools import find_packages, setup + +# Change the PACKAGE_NAME only to change folder and different name +PACKAGE_NAME = "azure-mgmt-regionmove" +PACKAGE_PPRINT_NAME = "MyService Management" + +# a-b-c => a/b/c +package_folder_path = PACKAGE_NAME.replace('-', '/') +# a-b-c => a.b.c +namespace_name = PACKAGE_NAME.replace('-', '.') + +# azure v0.x is not compatible with this package +# azure v0.x used to have a __version__ attribute (newer versions don't) +try: + import azure + try: + ver = azure.__version__ + raise Exception( + 'This package is incompatible with azure=={}. '.format(ver) + + 'Uninstall it with "pip uninstall azure".' + ) + except AttributeError: + pass +except ImportError: + pass + +# Version extraction inspired from 'requests' +with open(os.path.join(package_folder_path, 'version.py') + if os.path.exists(os.path.join(package_folder_path, 'version.py')) + else os.path.join(package_folder_path, '_version.py'), 'r') as fd: + version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', + fd.read(), re.MULTILINE).group(1) + +if not version: + raise RuntimeError('Cannot find version information') + +with open('README.md', encoding='utf-8') as f: + readme = f.read() +with open('CHANGELOG.md', encoding='utf-8') as f: + changelog = f.read() + +setup( + name=PACKAGE_NAME, + version=version, + description='Microsoft Azure {} Client Library for Python'.format(PACKAGE_PPRINT_NAME), + long_description=readme + '\n\n' + changelog, + long_description_content_type='text/markdown', + license='MIT License', + author='Microsoft Corporation', + author_email='azpysdkhelp@microsoft.com', + url='https://github.com/Azure/azure-sdk-for-python', + classifiers=[ + 'Development Status :: 4 - Beta', + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', + ], + zip_safe=False, + packages=find_packages(exclude=[ + 'tests', + # Exclude packages that will be covered by PEP420 or nspkg + 'azure', + 'azure.mgmt', + ]), + install_requires=[ + 'msrest>=0.5.0', + 'msrestazure>=0.4.32,<2.0.0', + 'azure-common~=1.1', + ], + extras_require={ + ":python_version<'3.0'": ['azure-mgmt-nspkg'], + } +) diff --git a/sdk/regionmove/ci.yml b/sdk/regionmove/ci.yml new file mode 100644 index 000000000000..0cbb10d557b4 --- /dev/null +++ b/sdk/regionmove/ci.yml @@ -0,0 +1,32 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - master + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/regionmove/ + +pr: + branches: + include: + - master + - feature/* + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/regionmove/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: regionmove + Artifacts: + - name: azure_mgmt_regionmove + safeName: azuremgmtregionmove diff --git a/sdk/relay/ci.yml b/sdk/relay/ci.yml index 82ecb9af476e..d03cf2eb387a 100644 --- a/sdk/relay/ci.yml +++ b/sdk/relay/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/reservations/ci.yml b/sdk/reservations/ci.yml index ebdb53e98dfa..ea521550edc2 100644 --- a/sdk/reservations/ci.yml +++ b/sdk/reservations/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: reservations Artifacts: - name: azure_mgmt_reservations - safeName: azuremgmtreservations \ No newline at end of file + safeName: azuremgmtreservations diff --git a/sdk/resources/ci.yml b/sdk/resources/ci.yml index 8ff78c010caa..ea383e74e98c 100644 --- a/sdk/resources/ci.yml +++ b/sdk/resources/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -34,4 +33,4 @@ extends: - name: azure_mgmt_resource safeName: azuremgmtresource - name: azure_mgmt_resourcegraph - safeName: azuremgmtresourcegraph \ No newline at end of file + safeName: azuremgmtresourcegraph diff --git a/sdk/scheduler/ci.yml b/sdk/scheduler/ci.yml index 4dd1caf0b77d..e952a0c5272c 100644 --- a/sdk/scheduler/ci.yml +++ b/sdk/scheduler/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: scheduler Artifacts: - name: azure_mgmt_scheduler - safeName: azuremgmtscheduler \ No newline at end of file + safeName: azuremgmtscheduler diff --git a/sdk/schemaregistry/ci.yml b/sdk/schemaregistry/ci.yml index c07776b86644..aaa6f14460ea 100644 --- a/sdk/schemaregistry/ci.yml +++ b/sdk/schemaregistry/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/search/azure-search-documents/CHANGELOG.md b/sdk/search/azure-search-documents/CHANGELOG.md index 0f6fe5150f27..f37149d4c8e7 100644 --- a/sdk/search/azure-search-documents/CHANGELOG.md +++ b/sdk/search/azure-search-documents/CHANGELOG.md @@ -2,14 +2,23 @@ ## 11.1.0b2 (Unreleased) +**Features** + +- Added `azure.search.documents.RequestEntityTooLargeError` +- `Flush` method in `BatchClient` now will not return untill all actions are done + +**Breaking Changes** + +- Removed `succeeded_actions` & `failed_actions` from `BatchClient` +- Removed `get_index_document_batching_client` from `SearchClient` ## 11.1.0b1 (2020-08-11) **Features** -- new SearchIndexDocumentBatchingClient +- new `SearchIndexDocumentBatchingClient` -SearchIndexDocumentBatchingClient supports handling document indexing actions in an automatic way. It can trigger the flush method automatically based on pending tasks and idle time. +`SearchIndexDocumentBatchingClient` supports handling document indexing actions in an automatic way. It can trigger the flush method automatically based on pending tasks and idle time. ### Fixes diff --git a/sdk/search/azure-search-documents/README.md b/sdk/search/azure-search-documents/README.md index 01d120e9f42b..b1a0a37e3920 100644 --- a/sdk/search/azure-search-documents/README.md +++ b/sdk/search/azure-search-documents/README.md @@ -37,7 +37,7 @@ Use the Azure.Search.Documents client library to: [Source code](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/search/azure-search-documents) | [Package (PyPI)](https://pypi.org/project/azure-search-documents/) | [API reference documentation](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-search-documents/latest/index.html) | -[Product documentation](https://docs.microsoft.com/en-us/azure/search/search-what-is-azure-search) | +[Product documentation](https://docs.microsoft.com/azure/search/search-what-is-azure-search) | [Samples](samples) @@ -301,7 +301,7 @@ DOCUMENT = { search_client = SearchClient(endpoint, index_name, AzureKeyCredential(key)) -result = client.upload_documents(documents=[DOCUMENT]) +result = search_client.upload_documents(documents=[DOCUMENT]) print("Upload of new document succeeded: {}".format(result[0].succeeded)) ``` @@ -430,7 +430,7 @@ additional questions or comments. [azure_cli]: https://docs.microsoft.com/cli/azure [azure_core]: ../../core/azure-core/README.md [azure_sub]: https://azure.microsoft.com/free/ -[search_resource]: https://docs.microsoft.com/en-us/azure/search/search-create-service-portal +[search_resource]: https://docs.microsoft.com/azure/search/search-create-service-portal [azure_portal]: https://portal.azure.com [create_search_service_docs]: https://docs.microsoft.com/azure/search/search-create-service-portal diff --git a/sdk/search/azure-search-documents/azure/search/documents/__init__.py b/sdk/search/azure-search-documents/azure/search/documents/__init__.py index 0242d66c261e..1a24df3b3661 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/__init__.py +++ b/sdk/search/azure-search-documents/azure/search/documents/__init__.py @@ -30,6 +30,7 @@ SearchItemPaged, SearchIndexDocumentBatchingClient, ) +from ._internal._search_documents_error import RequestEntityTooLargeError from ._version import VERSION __version__ = VERSION @@ -40,4 +41,5 @@ "SearchClient", "SearchItemPaged", "SearchIndexDocumentBatchingClient", + "RequestEntityTooLargeError", ) diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/_search_service_client_async.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/_search_service_client_async.py deleted file mode 100644 index 6c793f2dcb69..000000000000 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/aio/_search_service_client_async.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from typing import Any - -from msrest import Deserializer, Serializer -from azure.core import AsyncPipelineClient - -from ._configuration_async import SearchServiceClientConfiguration -from .operations_async import IndexesOperations -from .operations_async import SearchServiceClientOperationsMixin -from .. import models - - -class SearchServiceClient(SearchServiceClientOperationsMixin): - """Client that can be used to manage and query indexes and documents, as well as manage other resources, - on a search service. - - :ivar data_sources: DataSourcesOperations operations - :vartype data_sources: azure.search.documents.indexes.aio.operations_async.DataSourcesOperations - :ivar indexers: IndexersOperations operations - :vartype indexers: azure.search.documents.indexes.aio.operations_async.IndexersOperations - :ivar skillsets: SkillsetsOperations operations - :vartype skillsets: azure.search.documents.indexes.aio.operations_async.SkillsetsOperations - :ivar synonym_maps: SynonymMapsOperations operations - :vartype synonym_maps: azure.search.documents.indexes.aio.operations_async.SynonymMapsOperations - :ivar indexes: IndexesOperations operations - :vartype indexes: azure.search.documents.indexes.aio.operations_async.IndexesOperations - :param endpoint: The endpoint URL of the search service. - :type endpoint: str - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no - Retry-After header is present. - """ - - # pylint: disable=missing-client-constructor-parameter-credential - def __init__( - self, - endpoint: str, - **kwargs: Any - ) -> None: - base_url = '{endpoint}' - self._config = SearchServiceClientConfiguration(endpoint, **kwargs) - self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) - - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.indexes = IndexesOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "SearchServiceClient": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/_models.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/_models.py deleted file mode 100644 index 3d3c1f735726..000000000000 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/_models.py +++ /dev/null @@ -1,612 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -import msrest.serialization - - -class TokenFilter(msrest.serialization.Model): - """Base type for token filters. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AsciiFoldingTokenFilter, CjkBigramTokenFilter, CommonGramTokenFilter, - DictionaryDecompounderTokenFilter, EdgeNGramTokenFilter, EdgeNGramTokenFilterV2, - ElisionTokenFilter, KeepTokenFilter, KeywordMarkerTokenFilter, LengthTokenFilter, - LimitTokenFilter, NGramTokenFilter, NGramTokenFilterV2, PatternCaptureTokenFilter, - PatternReplaceTokenFilter, PhoneticTokenFilter, ShingleTokenFilter, SnowballTokenFilter, - StemmerOverrideTokenFilter, StemmerTokenFilter, StopwordsTokenFilter, SynonymTokenFilter, - TruncateTokenFilter, UniqueTokenFilter, WordDelimiterTokenFilter. - - All required parameters must be populated in order to send to Azure. - - :param odata_type: Required. Identifies the concrete type of the token filter.Constant filled - by server. - :type odata_type: str - :param name: Required. The name of the token filter. It must only contain letters, digits, - spaces, dashes or underscores, can only start and end with alphanumeric characters, and is - limited to 128 characters. - :type name: str - """ - - _validation = { - 'odata_type': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - _subtype_map = { - 'odata_type': { - '#Microsoft.Azure.Search.AsciiFoldingTokenFilter': 'AsciiFoldingTokenFilter', - '#Microsoft.Azure.Search.CjkBigramTokenFilter': 'CjkBigramTokenFilter', - '#Microsoft.Azure.Search.CommonGramTokenFilter': 'CommonGramTokenFilter', - '#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter': 'DictionaryDecompounderTokenFilter', - '#Microsoft.Azure.Search.EdgeNGramTokenFilter': 'EdgeNGramTokenFilter', - '#Microsoft.Azure.Search.EdgeNGramTokenFilterV2': 'EdgeNGramTokenFilterV2', - '#Microsoft.Azure.Search.ElisionTokenFilter': 'ElisionTokenFilter', - '#Microsoft.Azure.Search.KeepTokenFilter': 'KeepTokenFilter', - '#Microsoft.Azure.Search.KeywordMarkerTokenFilter': 'KeywordMarkerTokenFilter', - '#Microsoft.Azure.Search.LengthTokenFilter': 'LengthTokenFilter', - '#Microsoft.Azure.Search.LimitTokenFilter': 'LimitTokenFilter', - '#Microsoft.Azure.Search.NGramTokenFilter': 'NGramTokenFilter', - '#Microsoft.Azure.Search.NGramTokenFilterV2': 'NGramTokenFilterV2', - '#Microsoft.Azure.Search.PatternCaptureTokenFilter': 'PatternCaptureTokenFilter', - '#Microsoft.Azure.Search.PatternReplaceTokenFilter': 'PatternReplaceTokenFilter', - '#Microsoft.Azure.Search.PhoneticTokenFilter': 'PhoneticTokenFilter', - '#Microsoft.Azure.Search.ShingleTokenFilter': 'ShingleTokenFilter', - '#Microsoft.Azure.Search.SnowballTokenFilter': 'SnowballTokenFilter', - '#Microsoft.Azure.Search.StemmerOverrideTokenFilter': 'StemmerOverrideTokenFilter', - '#Microsoft.Azure.Search.StemmerTokenFilter': 'StemmerTokenFilter', - '#Microsoft.Azure.Search.StopwordsTokenFilter': 'StopwordsTokenFilter', - '#Microsoft.Azure.Search.SynonymTokenFilter': 'SynonymTokenFilter', - '#Microsoft.Azure.Search.TruncateTokenFilter': 'TruncateTokenFilter', - '#Microsoft.Azure.Search.UniqueTokenFilter': 'UniqueTokenFilter', - '#Microsoft.Azure.Search.WordDelimiterTokenFilter': 'WordDelimiterTokenFilter' - } - } - - def __init__( - self, - **kwargs - ): - super(TokenFilter, self).__init__(**kwargs) - self.odata_type = None # type: Optional[str] - self.name = kwargs['name'] - - -class Similarity(msrest.serialization.Model): - """Base type for similarity algorithms. Similarity algorithms are used to calculate scores that tie queries - to documents. The higher the score, the more relevant the document is to that specific query. - Those scores are used to rank the search results. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: BM25Similarity, ClassicSimilarity. - - All required parameters must be populated in order to send to Azure. - - :param odata_type: Required. Constant filled by server. - :type odata_type: str - """ - - _validation = { - 'odata_type': {'required': True}, - } - - _attribute_map = { - 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, - } - - _subtype_map = { - 'odata_type': {'#Microsoft.Azure.Search.BM25Similarity': 'BM25Similarity', - '#Microsoft.Azure.Search.ClassicSimilarity': 'ClassicSimilarity'} - } - - def __init__( - self, - **kwargs - ): - super(Similarity, self).__init__(**kwargs) - self.odata_type = None # type: Optional[str] - - -class LexicalTokenizer(msrest.serialization.Model): - """Base type for tokenizers. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ClassicTokenizer, EdgeNGramTokenizer, KeywordTokenizer, KeywordTokenizerV2, - MicrosoftLanguageStemmingTokenizer, MicrosoftLanguageTokenizer, NGramTokenizer, - PathHierarchyTokenizerV2, PatternTokenizer, LuceneStandardTokenizer, LuceneStandardTokenizerV2, - UaxUrlEmailTokenizer. - - All required parameters must be populated in order to send to Azure. - - :param odata_type: Required. Identifies the concrete type of the tokenizer.Constant filled by - server. - :type odata_type: str - :param name: Required. The name of the tokenizer. It must only contain letters, digits, spaces, - dashes or underscores, can only start and end with alphanumeric characters, and is limited to - 128 characters. - :type name: str - """ - - _validation = { - 'odata_type': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - _subtype_map = { - 'odata_type': { - '#Microsoft.Azure.Search.ClassicTokenizer': 'ClassicTokenizer', - '#Microsoft.Azure.Search.EdgeNGramTokenizer': 'EdgeNGramTokenizer', - '#Microsoft.Azure.Search.KeywordTokenizer': 'KeywordTokenizer', - '#Microsoft.Azure.Search.KeywordTokenizerV2': 'KeywordTokenizerV2', - '#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer': 'MicrosoftLanguageStemmingTokenizer', - '#Microsoft.Azure.Search.MicrosoftLanguageTokenizer': 'MicrosoftLanguageTokenizer', - '#Microsoft.Azure.Search.NGramTokenizer': 'NGramTokenizer', - '#Microsoft.Azure.Search.PathHierarchyTokenizerV2': 'PathHierarchyTokenizerV2', - '#Microsoft.Azure.Search.PatternTokenizer': 'PatternTokenizer', - '#Microsoft.Azure.Search.StandardTokenizer': 'LuceneStandardTokenizer', - '#Microsoft.Azure.Search.StandardTokenizerV2': 'LuceneStandardTokenizerV2', - '#Microsoft.Azure.Search.UaxUrlEmailTokenizer': 'UaxUrlEmailTokenizer' - } - } - - def __init__( - self, - **kwargs - ): - super(LexicalTokenizer, self).__init__(**kwargs) - self.odata_type = None # type: Optional[str] - self.name = kwargs['name'] - - -class CorsOptions(msrest.serialization.Model): - """Defines options to control Cross-Origin Resource Sharing (CORS) for an index. - - All required parameters must be populated in order to send to Azure. - - :param allowed_origins: Required. The list of origins from which JavaScript code will be - granted access to your index. Can contain a list of hosts of the form {protocol}://{fully- - qualified-domain-name}[:{port#}], or a single '*' to allow all origins (not recommended). - :type allowed_origins: list[str] - :param max_age_in_seconds: The duration for which browsers should cache CORS preflight - responses. Defaults to 5 minutes. - :type max_age_in_seconds: long - """ - - _validation = { - 'allowed_origins': {'required': True}, - } - - _attribute_map = { - 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, - 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'long'}, - } - - def __init__( - self, - **kwargs - ): - super(CorsOptions, self).__init__(**kwargs) - self.allowed_origins = kwargs['allowed_origins'] - self.max_age_in_seconds = kwargs.get('max_age_in_seconds', None) - - -class LexicalAnalyzer(msrest.serialization.Model): - """Base type for analyzers. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: CustomAnalyzer, PatternAnalyzer, LuceneStandardAnalyzer, StopAnalyzer. - - All required parameters must be populated in order to send to Azure. - - :param odata_type: Required. Identifies the concrete type of the analyzer.Constant filled by - server. - :type odata_type: str - :param name: Required. The name of the analyzer. It must only contain letters, digits, spaces, - dashes or underscores, can only start and end with alphanumeric characters, and is limited to - 128 characters. - :type name: str - """ - - _validation = { - 'odata_type': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - _subtype_map = { - 'odata_type': { - '#Microsoft.Azure.Search.CustomAnalyzer': 'CustomAnalyzer', - '#Microsoft.Azure.Search.PatternAnalyzer': 'PatternAnalyzer', - '#Microsoft.Azure.Search.StandardAnalyzer': 'LuceneStandardAnalyzer', - '#Microsoft.Azure.Search.StopAnalyzer': 'StopAnalyzer' - } - } - - def __init__( - self, - **kwargs - ): - super(LexicalAnalyzer, self).__init__(**kwargs) - self.odata_type = None # type: Optional[str] - self.name = kwargs['name'] - - -class RequestOptions(msrest.serialization.Model): - """Parameter group. - - :param x_ms_client_request_id: The tracking ID sent with the request to help with debugging. - :type x_ms_client_request_id: str - """ - - _attribute_map = { - 'x_ms_client_request_id': {'key': 'x-ms-client-request-id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RequestOptions, self).__init__(**kwargs) - self.x_ms_client_request_id = kwargs.get('x_ms_client_request_id', None) - - -class ScoringProfile(msrest.serialization.Model): - """Defines parameters for a search index that influence scoring in search queries. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The name of the scoring profile. - :type name: str - :param text_weights: Parameters that boost scoring based on text matches in certain index - fields. - :type text_weights: ~azure.search.documents.indexes.models.TextWeights - :param functions: The collection of functions that influence the scoring of documents. - :type functions: list[~azure.search.documents.indexes.models.ScoringFunction] - :param function_aggregation: A value indicating how the results of individual scoring functions - should be combined. Defaults to "Sum". Ignored if there are no scoring functions. Possible - values include: "sum", "average", "minimum", "maximum", "firstMatching". - :type function_aggregation: str or - ~azure.search.documents.indexes.models.ScoringFunctionAggregation - """ - - _validation = { - 'name': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'text_weights': {'key': 'text', 'type': 'TextWeights'}, - 'functions': {'key': 'functions', 'type': '[ScoringFunction]'}, - 'function_aggregation': {'key': 'functionAggregation', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScoringProfile, self).__init__(**kwargs) - self.name = kwargs['name'] - self.text_weights = kwargs.get('text_weights', None) - self.functions = kwargs.get('functions', None) - self.function_aggregation = kwargs.get('function_aggregation', None) - - -class SearchError(msrest.serialization.Model): - """Describes an error condition for the Azure Cognitive Search API. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar code: One of a server-defined set of error codes. - :vartype code: str - :ivar message: Required. A human-readable representation of the error. - :vartype message: str - :ivar details: An array of details about specific errors that led to this reported error. - :vartype details: list[~azure.search.documents.indexes.models.SearchError] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'required': True, 'readonly': True}, - 'details': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[SearchError]'}, - } - - def __init__( - self, - **kwargs - ): - super(SearchError, self).__init__(**kwargs) - self.code = None - self.message = None - self.details = None - - -class SearchField(msrest.serialization.Model): - # pylint: disable=too-many-instance-attributes - """Represents a field in an index definition, which describes the name, data type, and search behavior of a field. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The name of the field, which must be unique within the fields collection - of the index or parent field. - :type name: str - :param type: Required. The data type of the field. Possible values include: "Edm.String", - "Edm.Int32", "Edm.Int64", "Edm.Double", "Edm.Boolean", "Edm.DateTimeOffset", - "Edm.GeographyPoint", "Edm.ComplexType". - :type type: str or ~azure.search.documents.indexes.models.SearchFieldDataType - :param key: A value indicating whether the field uniquely identifies documents in the index. - Exactly one top-level field in each index must be chosen as the key field and it must be of - type Edm.String. Key fields can be used to look up documents directly and update or delete - specific documents. Default is false for simple fields and null for complex fields. - :type key: bool - :param retrievable: A value indicating whether the field can be returned in a search result. - You can disable this option if you want to use a field (for example, margin) as a filter, - sorting, or scoring mechanism but do not want the field to be visible to the end user. This - property must be true for key fields, and it must be null for complex fields. This property can - be changed on existing fields. Enabling this property does not cause any increase in index - storage requirements. Default is true for simple fields and null for complex fields. - :type retrievable: bool - :param searchable: A value indicating whether the field is full-text searchable. This means it - will undergo analysis such as word-breaking during indexing. If you set a searchable field to a - value like "sunny day", internally it will be split into the individual tokens "sunny" and - "day". This enables full-text searches for these terms. Fields of type Edm.String or - Collection(Edm.String) are searchable by default. This property must be false for simple fields - of other non-string data types, and it must be null for complex fields. Note: searchable fields - consume extra space in your index since Azure Cognitive Search will store an additional - tokenized version of the field value for full-text searches. If you want to save space in your - index and you don't need a field to be included in searches, set searchable to false. - :type searchable: bool - :param filterable: A value indicating whether to enable the field to be referenced in $filter - queries. filterable differs from searchable in how strings are handled. Fields of type - Edm.String or Collection(Edm.String) that are filterable do not undergo word-breaking, so - comparisons are for exact matches only. For example, if you set such a field f to "sunny day", - $filter=f eq 'sunny' will find no matches, but $filter=f eq 'sunny day' will. This property - must be null for complex fields. Default is true for simple fields and null for complex fields. - :type filterable: bool - :param sortable: A value indicating whether to enable the field to be referenced in $orderby - expressions. By default Azure Cognitive Search sorts results by score, but in many experiences - users will want to sort by fields in the documents. A simple field can be sortable only if it - is single-valued (it has a single value in the scope of the parent document). Simple collection - fields cannot be sortable, since they are multi-valued. Simple sub-fields of complex - collections are also multi-valued, and therefore cannot be sortable. This is true whether it's - an immediate parent field, or an ancestor field, that's the complex collection. Complex fields - cannot be sortable and the sortable property must be null for such fields. The default for - sortable is true for single-valued simple fields, false for multi-valued simple fields, and - null for complex fields. - :type sortable: bool - :param facetable: A value indicating whether to enable the field to be referenced in facet - queries. Typically used in a presentation of search results that includes hit count by category - (for example, search for digital cameras and see hits by brand, by megapixels, by price, and so - on). This property must be null for complex fields. Fields of type Edm.GeographyPoint or - Collection(Edm.GeographyPoint) cannot be facetable. Default is true for all other simple - fields. - :type facetable: bool - :param analyzer: The name of the analyzer to use for the field. This option can be used only - with searchable fields and it can't be set together with either searchAnalyzer or - indexAnalyzer. Once the analyzer is chosen, it cannot be changed for the field. Must be null - for complex fields. Possible values include: "ar.microsoft", "ar.lucene", "hy.lucene", - "bn.microsoft", "eu.lucene", "bg.microsoft", "bg.lucene", "ca.microsoft", "ca.lucene", "zh- - Hans.microsoft", "zh-Hans.lucene", "zh-Hant.microsoft", "zh-Hant.lucene", "hr.microsoft", - "cs.microsoft", "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", - "en.microsoft", "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", - "fr.lucene", "gl.lucene", "de.microsoft", "de.lucene", "el.microsoft", "el.lucene", - "gu.microsoft", "he.microsoft", "hi.microsoft", "hi.lucene", "hu.microsoft", "hu.lucene", - "is.microsoft", "id.microsoft", "id.lucene", "ga.lucene", "it.microsoft", "it.lucene", - "ja.microsoft", "ja.lucene", "kn.microsoft", "ko.microsoft", "ko.lucene", "lv.microsoft", - "lv.lucene", "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", - "no.lucene", "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", "pt- - PT.microsoft", "pt-PT.lucene", "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", - "ru.lucene", "sr-cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", - "es.microsoft", "es.lucene", "sv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", - "th.microsoft", "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "ur.microsoft", - "vi.microsoft", "standard.lucene", "standardasciifolding.lucene", "keyword", "pattern", - "simple", "stop", "whitespace". - :type analyzer: str or ~azure.search.documents.indexes.models.LexicalAnalyzerName - :param search_analyzer: The name of the analyzer used at search time for the field. This option - can be used only with searchable fields. It must be set together with indexAnalyzer and it - cannot be set together with the analyzer option. This property cannot be set to the name of a - language analyzer; use the analyzer property instead if you need a language analyzer. This - analyzer can be updated on an existing field. Must be null for complex fields. Possible values - include: "ar.microsoft", "ar.lucene", "hy.lucene", "bn.microsoft", "eu.lucene", "bg.microsoft", - "bg.lucene", "ca.microsoft", "ca.lucene", "zh-Hans.microsoft", "zh-Hans.lucene", "zh- - Hant.microsoft", "zh-Hant.lucene", "hr.microsoft", "cs.microsoft", "cs.lucene", "da.microsoft", - "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", "en.lucene", "et.microsoft", - "fi.microsoft", "fi.lucene", "fr.microsoft", "fr.lucene", "gl.lucene", "de.microsoft", - "de.lucene", "el.microsoft", "el.lucene", "gu.microsoft", "he.microsoft", "hi.microsoft", - "hi.lucene", "hu.microsoft", "hu.lucene", "is.microsoft", "id.microsoft", "id.lucene", - "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft", - "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", "lt.microsoft", "ml.microsoft", - "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", "fa.lucene", "pl.microsoft", - "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", "pt-PT.microsoft", "pt-PT.lucene", - "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", "ru.lucene", "sr- - cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", "es.microsoft", - "es.lucene", "sv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", "th.microsoft", - "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "ur.microsoft", "vi.microsoft", - "standard.lucene", "standardasciifolding.lucene", "keyword", "pattern", "simple", "stop", - "whitespace". - :type search_analyzer: str or ~azure.search.documents.indexes.models.LexicalAnalyzerName - :param index_analyzer: The name of the analyzer used at indexing time for the field. This - option can be used only with searchable fields. It must be set together with searchAnalyzer and - it cannot be set together with the analyzer option. This property cannot be set to the name of - a language analyzer; use the analyzer property instead if you need a language analyzer. Once - the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields. - Possible values include: "ar.microsoft", "ar.lucene", "hy.lucene", "bn.microsoft", "eu.lucene", - "bg.microsoft", "bg.lucene", "ca.microsoft", "ca.lucene", "zh-Hans.microsoft", "zh- - Hans.lucene", "zh-Hant.microsoft", "zh-Hant.lucene", "hr.microsoft", "cs.microsoft", - "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", - "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", "fr.lucene", - "gl.lucene", "de.microsoft", "de.lucene", "el.microsoft", "el.lucene", "gu.microsoft", - "he.microsoft", "hi.microsoft", "hi.lucene", "hu.microsoft", "hu.lucene", "is.microsoft", - "id.microsoft", "id.lucene", "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", - "ja.lucene", "kn.microsoft", "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", - "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", - "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", "pt-PT.microsoft", - "pt-PT.lucene", "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", "ru.lucene", "sr- - cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", "es.microsoft", - "es.lucene", "sv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", "th.microsoft", - "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "ur.microsoft", "vi.microsoft", - "standard.lucene", "standardasciifolding.lucene", "keyword", "pattern", "simple", "stop", - "whitespace". - :type index_analyzer: str or ~azure.search.documents.indexes.models.LexicalAnalyzerName - :param synonym_maps: A list of the names of synonym maps to associate with this field. This - option can be used only with searchable fields. Currently only one synonym map per field is - supported. Assigning a synonym map to a field ensures that query terms targeting that field are - expanded at query-time using the rules in the synonym map. This attribute can be changed on - existing fields. Must be null or an empty collection for complex fields. - :type synonym_maps: list[str] - :param fields: A list of sub-fields if this is a field of type Edm.ComplexType or - Collection(Edm.ComplexType). Must be null or empty for simple fields. - :type fields: list[~azure.search.documents.indexes.models.SearchField] - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key': {'key': 'key', 'type': 'bool'}, - 'retrievable': {'key': 'retrievable', 'type': 'bool'}, - 'searchable': {'key': 'searchable', 'type': 'bool'}, - 'filterable': {'key': 'filterable', 'type': 'bool'}, - 'sortable': {'key': 'sortable', 'type': 'bool'}, - 'facetable': {'key': 'facetable', 'type': 'bool'}, - 'analyzer': {'key': 'analyzer', 'type': 'str'}, - 'search_analyzer': {'key': 'searchAnalyzer', 'type': 'str'}, - 'index_analyzer': {'key': 'indexAnalyzer', 'type': 'str'}, - 'synonym_maps': {'key': 'synonymMaps', 'type': '[str]'}, - 'fields': {'key': 'fields', 'type': '[SearchField]'}, - } - - def __init__( - self, - **kwargs - ): - super(SearchField, self).__init__(**kwargs) - self.name = kwargs['name'] - self.type = kwargs['type'] - self.key = kwargs.get('key', None) - self.retrievable = kwargs.get('retrievable', None) - self.searchable = kwargs.get('searchable', None) - self.filterable = kwargs.get('filterable', None) - self.sortable = kwargs.get('sortable', None) - self.facetable = kwargs.get('facetable', None) - self.analyzer = kwargs.get('analyzer', None) - self.search_analyzer = kwargs.get('search_analyzer', None) - self.index_analyzer = kwargs.get('index_analyzer', None) - self.synonym_maps = kwargs.get('synonym_maps', None) - self.fields = kwargs.get('fields', None) - - -class SearchIndex(msrest.serialization.Model): - # pylint: disable=too-many-instance-attributes - """Represents a search index definition, which describes the fields and search behavior of an index. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The name of the index. - :type name: str - :param fields: Required. The fields of the index. - :type fields: list[~azure.search.documents.indexes.models.SearchField] - :param scoring_profiles: The scoring profiles for the index. - :type scoring_profiles: list[~azure.search.documents.indexes.models.ScoringProfile] - :param default_scoring_profile: The name of the scoring profile to use if none is specified in - the query. If this property is not set and no scoring profile is specified in the query, then - default scoring (tf-idf) will be used. - :type default_scoring_profile: str - :param cors_options: Options to control Cross-Origin Resource Sharing (CORS) for the index. - :type cors_options: ~azure.search.documents.indexes.models.CorsOptions - :param suggesters: The suggesters for the index. - :type suggesters: list[~azure.search.documents.indexes.models.Suggester] - :param analyzers: The analyzers for the index. - :type analyzers: list[~azure.search.documents.indexes.models.LexicalAnalyzer] - :param tokenizers: The tokenizers for the index. - :type tokenizers: list[~azure.search.documents.indexes.models.LexicalTokenizer] - :param token_filters: The token filters for the index. - :type token_filters: list[~azure.search.documents.indexes.models.TokenFilter] - :param char_filters: The character filters for the index. - :type char_filters: list[~azure.search.documents.indexes.models.CharFilter] - :param encryption_key: A description of an encryption key that you create in Azure Key Vault. - This key is used to provide an additional level of encryption-at-rest for your data when you - want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive - Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive - Search will ignore attempts to set this property to null. You can change this property as - needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with - customer-managed keys is not available for free search services, and is only available for paid - services created on or after January 1, 2019. - :type encryption_key: ~azure.search.documents.indexes.models.SearchResourceEncryptionKey - :param similarity: The type of similarity algorithm to be used when scoring and ranking the - documents matching a search query. The similarity algorithm can only be defined at index - creation time and cannot be modified on existing indexes. If null, the ClassicSimilarity - algorithm is used. - :type similarity: ~azure.search.documents.indexes.models.Similarity - :param e_tag: The ETag of the index. - :type e_tag: str - """ - - _validation = { - 'name': {'required': True}, - 'fields': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'fields': {'key': 'fields', 'type': '[SearchField]'}, - 'scoring_profiles': {'key': 'scoringProfiles', 'type': '[ScoringProfile]'}, - 'default_scoring_profile': {'key': 'defaultScoringProfile', 'type': 'str'}, - 'cors_options': {'key': 'corsOptions', 'type': 'CorsOptions'}, - 'suggesters': {'key': 'suggesters', 'type': '[Suggester]'}, - 'analyzers': {'key': 'analyzers', 'type': '[LexicalAnalyzer]'}, - 'tokenizers': {'key': 'tokenizers', 'type': '[LexicalTokenizer]'}, - 'token_filters': {'key': 'tokenFilters', 'type': '[TokenFilter]'}, - 'char_filters': {'key': 'charFilters', 'type': '[CharFilter]'}, - 'encryption_key': {'key': 'encryptionKey', 'type': 'SearchResourceEncryptionKey'}, - 'similarity': {'key': 'similarity', 'type': 'Similarity'}, - 'e_tag': {'key': '@odata\\.etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SearchIndex, self).__init__(**kwargs) - self.name = kwargs['name'] - self.fields = kwargs['fields'] - self.scoring_profiles = kwargs.get('scoring_profiles', None) - self.default_scoring_profile = kwargs.get('default_scoring_profile', None) - self.cors_options = kwargs.get('cors_options', None) - self.suggesters = kwargs.get('suggesters', None) - self.analyzers = kwargs.get('analyzers', None) - self.tokenizers = kwargs.get('tokenizers', None) - self.token_filters = kwargs.get('token_filters', None) - self.char_filters = kwargs.get('char_filters', None) - self.encryption_key = kwargs.get('encryption_key', None) - self.similarity = kwargs.get('similarity', None) - self.e_tag = kwargs.get('e_tag', None) diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/_models_py3.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/_models_py3.py deleted file mode 100644 index 0fa3265bb4e2..000000000000 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/models/_models_py3.py +++ /dev/null @@ -1,655 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from typing import List, Optional, Union -import msrest.serialization - - -class TokenFilter(msrest.serialization.Model): - """Base type for token filters. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AsciiFoldingTokenFilter, CjkBigramTokenFilter, CommonGramTokenFilter, - DictionaryDecompounderTokenFilter, EdgeNGramTokenFilter, EdgeNGramTokenFilterV2, ElisionTokenFilter, - KeepTokenFilter, KeywordMarkerTokenFilter, LengthTokenFilter, LimitTokenFilter, NGramTokenFilter, - NGramTokenFilterV2, PatternCaptureTokenFilter, PatternReplaceTokenFilter, PhoneticTokenFilter, - ShingleTokenFilter, SnowballTokenFilter, StemmerOverrideTokenFilter, StemmerTokenFilter, - StopwordsTokenFilter, SynonymTokenFilter, TruncateTokenFilter, UniqueTokenFilter, WordDelimiterTokenFilter. - - All required parameters must be populated in order to send to Azure. - - :param odata_type: Required. Identifies the concrete type of the token filter.Constant filled - by server. - :type odata_type: str - :param name: Required. The name of the token filter. It must only contain letters, digits, - spaces, dashes or underscores, can only start and end with alphanumeric characters, and is - limited to 128 characters. - :type name: str - """ - - _validation = { - 'odata_type': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - _subtype_map = { - 'odata_type': { - '#Microsoft.Azure.Search.AsciiFoldingTokenFilter': 'AsciiFoldingTokenFilter', - '#Microsoft.Azure.Search.CjkBigramTokenFilter': 'CjkBigramTokenFilter', - '#Microsoft.Azure.Search.CommonGramTokenFilter': 'CommonGramTokenFilter', - '#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter': 'DictionaryDecompounderTokenFilter', - '#Microsoft.Azure.Search.EdgeNGramTokenFilter': 'EdgeNGramTokenFilter', - '#Microsoft.Azure.Search.EdgeNGramTokenFilterV2': 'EdgeNGramTokenFilterV2', - '#Microsoft.Azure.Search.ElisionTokenFilter': 'ElisionTokenFilter', - '#Microsoft.Azure.Search.KeepTokenFilter': 'KeepTokenFilter', - '#Microsoft.Azure.Search.KeywordMarkerTokenFilter': 'KeywordMarkerTokenFilter', - '#Microsoft.Azure.Search.LengthTokenFilter': 'LengthTokenFilter', - '#Microsoft.Azure.Search.LimitTokenFilter': 'LimitTokenFilter', - '#Microsoft.Azure.Search.NGramTokenFilter': 'NGramTokenFilter', - '#Microsoft.Azure.Search.NGramTokenFilterV2': 'NGramTokenFilterV2', - '#Microsoft.Azure.Search.PatternCaptureTokenFilter': 'PatternCaptureTokenFilter', - '#Microsoft.Azure.Search.PatternReplaceTokenFilter': 'PatternReplaceTokenFilter', - '#Microsoft.Azure.Search.PhoneticTokenFilter': 'PhoneticTokenFilter', - '#Microsoft.Azure.Search.ShingleTokenFilter': 'ShingleTokenFilter', - '#Microsoft.Azure.Search.SnowballTokenFilter': 'SnowballTokenFilter', - '#Microsoft.Azure.Search.StemmerOverrideTokenFilter': 'StemmerOverrideTokenFilter', - '#Microsoft.Azure.Search.StemmerTokenFilter': 'StemmerTokenFilter', - '#Microsoft.Azure.Search.StopwordsTokenFilter': 'StopwordsTokenFilter', - '#Microsoft.Azure.Search.SynonymTokenFilter': 'SynonymTokenFilter', - '#Microsoft.Azure.Search.TruncateTokenFilter': 'TruncateTokenFilter', - '#Microsoft.Azure.Search.UniqueTokenFilter': 'UniqueTokenFilter', - '#Microsoft.Azure.Search.WordDelimiterTokenFilter': 'WordDelimiterTokenFilter' - } - } - - def __init__( - self, - *, - name: str, - **kwargs - ): - super(TokenFilter, self).__init__(**kwargs) - self.odata_type = None # type: Optional[str] - self.name = name - - -class Similarity(msrest.serialization.Model): - """Base type for similarity algorithms. Similarity algorithms are used to calculate scores that - tie queries to documents. The higher the score, the more relevant the document is to that specific - query. Those scores are used to rank the search results. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: BM25Similarity, ClassicSimilarity. - - All required parameters must be populated in order to send to Azure. - - :param odata_type: Required. Constant filled by server. - :type odata_type: str - """ - - _validation = { - 'odata_type': {'required': True}, - } - - _attribute_map = { - 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, - } - - _subtype_map = { - 'odata_type': {'#Microsoft.Azure.Search.BM25Similarity': 'BM25Similarity', - '#Microsoft.Azure.Search.ClassicSimilarity': 'ClassicSimilarity'} - } - - def __init__( - self, - **kwargs - ): - super(Similarity, self).__init__(**kwargs) - self.odata_type = None # type: Optional[str] - - -class LexicalTokenizer(msrest.serialization.Model): - """Base type for tokenizers. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ClassicTokenizer, EdgeNGramTokenizer, KeywordTokenizer, KeywordTokenizerV2, - MicrosoftLanguageStemmingTokenizer, MicrosoftLanguageTokenizer, NGramTokenizer, PathHierarchyTokenizerV2, - PatternTokenizer, LuceneStandardTokenizer, LuceneStandardTokenizerV2, UaxUrlEmailTokenizer. - - All required parameters must be populated in order to send to Azure. - - :param odata_type: Required. Identifies the concrete type of the tokenizer.Constant filled by - server. - :type odata_type: str - :param name: Required. The name of the tokenizer. It must only contain letters, digits, spaces, - dashes or underscores, can only start and end with alphanumeric characters, and is limited to - 128 characters. - :type name: str - """ - - _validation = { - 'odata_type': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - _subtype_map = { - 'odata_type': { - '#Microsoft.Azure.Search.ClassicTokenizer': 'ClassicTokenizer', - '#Microsoft.Azure.Search.EdgeNGramTokenizer': 'EdgeNGramTokenizer', - '#Microsoft.Azure.Search.KeywordTokenizer': 'KeywordTokenizer', - '#Microsoft.Azure.Search.KeywordTokenizerV2': 'KeywordTokenizerV2', - '#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer': 'MicrosoftLanguageStemmingTokenizer', - '#Microsoft.Azure.Search.MicrosoftLanguageTokenizer': 'MicrosoftLanguageTokenizer', - '#Microsoft.Azure.Search.NGramTokenizer': 'NGramTokenizer', - '#Microsoft.Azure.Search.PathHierarchyTokenizerV2': 'PathHierarchyTokenizerV2', - '#Microsoft.Azure.Search.PatternTokenizer': 'PatternTokenizer', - '#Microsoft.Azure.Search.StandardTokenizer': 'LuceneStandardTokenizer', - '#Microsoft.Azure.Search.StandardTokenizerV2': 'LuceneStandardTokenizerV2', - '#Microsoft.Azure.Search.UaxUrlEmailTokenizer': 'UaxUrlEmailTokenizer' - } - } - - def __init__( - self, - *, - name: str, - **kwargs - ): - super(LexicalTokenizer, self).__init__(**kwargs) - self.odata_type = None # type: Optional[str] - self.name = name - - -class CorsOptions(msrest.serialization.Model): - """Defines options to control Cross-Origin Resource Sharing (CORS) for an index. - - All required parameters must be populated in order to send to Azure. - - :param allowed_origins: Required. The list of origins from which JavaScript code will be - granted access to your index. Can contain a list of hosts of the form {protocol}://{fully- - qualified-domain-name}[:{port#}], or a single '*' to allow all origins (not recommended). - :type allowed_origins: list[str] - :param max_age_in_seconds: The duration for which browsers should cache CORS preflight - responses. Defaults to 5 minutes. - :type max_age_in_seconds: long - """ - - _validation = { - 'allowed_origins': {'required': True}, - } - - _attribute_map = { - 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, - 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'long'}, - } - - def __init__( - self, - *, - allowed_origins: List[str], - max_age_in_seconds: Optional[int] = None, - **kwargs - ): - super(CorsOptions, self).__init__(**kwargs) - self.allowed_origins = allowed_origins - self.max_age_in_seconds = max_age_in_seconds - - -class LexicalAnalyzer(msrest.serialization.Model): - """Base type for analyzers. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: CustomAnalyzer, PatternAnalyzer, LuceneStandardAnalyzer, StopAnalyzer. - - All required parameters must be populated in order to send to Azure. - - :param odata_type: Required. Identifies the concrete type of the analyzer.Constant filled by - server. - :type odata_type: str - :param name: Required. The name of the analyzer. It must only contain letters, digits, spaces, - dashes or underscores, can only start and end with alphanumeric characters, and is limited to - 128 characters. - :type name: str - """ - - _validation = { - 'odata_type': {'required': True}, - 'name': {'required': True}, - } - - _attribute_map = { - 'odata_type': {'key': '@odata\\.type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - _subtype_map = { - 'odata_type': { - '#Microsoft.Azure.Search.CustomAnalyzer': 'CustomAnalyzer', - '#Microsoft.Azure.Search.PatternAnalyzer': 'PatternAnalyzer', - '#Microsoft.Azure.Search.StandardAnalyzer': 'LuceneStandardAnalyzer', - '#Microsoft.Azure.Search.StopAnalyzer': 'StopAnalyzer' - } - } - - def __init__( - self, - *, - name: str, - **kwargs - ): - super(LexicalAnalyzer, self).__init__(**kwargs) - self.odata_type = None # type: Optional[str] - self.name = name - - -class RequestOptions(msrest.serialization.Model): - """Parameter group. - - :param x_ms_client_request_id: The tracking ID sent with the request to help with debugging. - :type x_ms_client_request_id: str - """ - - _attribute_map = { - 'x_ms_client_request_id': {'key': 'x-ms-client-request-id', 'type': 'str'}, - } - - def __init__( - self, - *, - x_ms_client_request_id: Optional[str] = None, - **kwargs - ): - super(RequestOptions, self).__init__(**kwargs) - self.x_ms_client_request_id = x_ms_client_request_id - - -class ScoringProfile(msrest.serialization.Model): - """Defines parameters for a search index that influence scoring in search queries. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The name of the scoring profile. - :type name: str - :param text_weights: Parameters that boost scoring based on text matches in certain index - fields. - :type text_weights: ~azure.search.documents.indexes.models.TextWeights - :param functions: The collection of functions that influence the scoring of documents. - :type functions: list[~azure.search.documents.indexes.models.ScoringFunction] - :param function_aggregation: A value indicating how the results of individual scoring functions - should be combined. Defaults to "Sum". Ignored if there are no scoring functions. Possible - values include: "sum", "average", "minimum", "maximum", "firstMatching". - :type function_aggregation: str or - ~azure.search.documents.indexes.models.ScoringFunctionAggregation - """ - - _validation = { - 'name': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'text_weights': {'key': 'text', 'type': 'TextWeights'}, - 'functions': {'key': 'functions', 'type': '[ScoringFunction]'}, - 'function_aggregation': {'key': 'functionAggregation', 'type': 'str'}, - } - - def __init__( - self, - *, - name: str, - text_weights: Optional["TextWeights"] = None, - functions: Optional[List["ScoringFunction"]] = None, - function_aggregation: Optional[Union[str, "ScoringFunctionAggregation"]] = None, - **kwargs - ): - super(ScoringProfile, self).__init__(**kwargs) - self.name = name - self.text_weights = text_weights - self.functions = functions - self.function_aggregation = function_aggregation - - -class SearchError(msrest.serialization.Model): - """Describes an error condition for the Azure Cognitive Search API. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar code: One of a server-defined set of error codes. - :vartype code: str - :ivar message: Required. A human-readable representation of the error. - :vartype message: str - :ivar details: An array of details about specific errors that led to this reported error. - :vartype details: list[~azure.search.documents.indexes.models.SearchError] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'required': True, 'readonly': True}, - 'details': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[SearchError]'}, - } - - def __init__( - self, - **kwargs - ): - super(SearchError, self).__init__(**kwargs) - self.code = None - self.message = None - self.details = None - - -class SearchField(msrest.serialization.Model): - # pylint: disable=too-many-instance-attributes - """Represents a field in an index definition, which describes the name, data type, and search behavior of a field. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The name of the field, which must be unique within the fields collection - of the index or parent field. - :type name: str - :param type: Required. The data type of the field. Possible values include: "Edm.String", - "Edm.Int32", "Edm.Int64", "Edm.Double", "Edm.Boolean", "Edm.DateTimeOffset", - "Edm.GeographyPoint", "Edm.ComplexType". - :type type: str or ~azure.search.documents.indexes.models.SearchFieldDataType - :param key: A value indicating whether the field uniquely identifies documents in the index. - Exactly one top-level field in each index must be chosen as the key field and it must be of - type Edm.String. Key fields can be used to look up documents directly and update or delete - specific documents. Default is false for simple fields and null for complex fields. - :type key: bool - :param retrievable: A value indicating whether the field can be returned in a search result. - You can disable this option if you want to use a field (for example, margin) as a filter, - sorting, or scoring mechanism but do not want the field to be visible to the end user. This - property must be true for key fields, and it must be null for complex fields. This property can - be changed on existing fields. Enabling this property does not cause any increase in index - storage requirements. Default is true for simple fields and null for complex fields. - :type retrievable: bool - :param searchable: A value indicating whether the field is full-text searchable. This means it - will undergo analysis such as word-breaking during indexing. If you set a searchable field to a - value like "sunny day", internally it will be split into the individual tokens "sunny" and - "day". This enables full-text searches for these terms. Fields of type Edm.String or - Collection(Edm.String) are searchable by default. This property must be false for simple fields - of other non-string data types, and it must be null for complex fields. Note: searchable fields - consume extra space in your index since Azure Cognitive Search will store an additional - tokenized version of the field value for full-text searches. If you want to save space in your - index and you don't need a field to be included in searches, set searchable to false. - :type searchable: bool - :param filterable: A value indicating whether to enable the field to be referenced in $filter - queries. filterable differs from searchable in how strings are handled. Fields of type - Edm.String or Collection(Edm.String) that are filterable do not undergo word-breaking, so - comparisons are for exact matches only. For example, if you set such a field f to "sunny day", - $filter=f eq 'sunny' will find no matches, but $filter=f eq 'sunny day' will. This property - must be null for complex fields. Default is true for simple fields and null for complex fields. - :type filterable: bool - :param sortable: A value indicating whether to enable the field to be referenced in $orderby - expressions. By default Azure Cognitive Search sorts results by score, but in many experiences - users will want to sort by fields in the documents. A simple field can be sortable only if it - is single-valued (it has a single value in the scope of the parent document). Simple collection - fields cannot be sortable, since they are multi-valued. Simple sub-fields of complex - collections are also multi-valued, and therefore cannot be sortable. This is true whether it's - an immediate parent field, or an ancestor field, that's the complex collection. Complex fields - cannot be sortable and the sortable property must be null for such fields. The default for - sortable is true for single-valued simple fields, false for multi-valued simple fields, and - null for complex fields. - :type sortable: bool - :param facetable: A value indicating whether to enable the field to be referenced in facet - queries. Typically used in a presentation of search results that includes hit count by category - (for example, search for digital cameras and see hits by brand, by megapixels, by price, and so - on). This property must be null for complex fields. Fields of type Edm.GeographyPoint or - Collection(Edm.GeographyPoint) cannot be facetable. Default is true for all other simple - fields. - :type facetable: bool - :param analyzer: The name of the analyzer to use for the field. This option can be used only - with searchable fields and it can't be set together with either searchAnalyzer or - indexAnalyzer. Once the analyzer is chosen, it cannot be changed for the field. Must be null - for complex fields. Possible values include: "ar.microsoft", "ar.lucene", "hy.lucene", - "bn.microsoft", "eu.lucene", "bg.microsoft", "bg.lucene", "ca.microsoft", "ca.lucene", "zh- - Hans.microsoft", "zh-Hans.lucene", "zh-Hant.microsoft", "zh-Hant.lucene", "hr.microsoft", - "cs.microsoft", "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", - "en.microsoft", "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", - "fr.lucene", "gl.lucene", "de.microsoft", "de.lucene", "el.microsoft", "el.lucene", - "gu.microsoft", "he.microsoft", "hi.microsoft", "hi.lucene", "hu.microsoft", "hu.lucene", - "is.microsoft", "id.microsoft", "id.lucene", "ga.lucene", "it.microsoft", "it.lucene", - "ja.microsoft", "ja.lucene", "kn.microsoft", "ko.microsoft", "ko.lucene", "lv.microsoft", - "lv.lucene", "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", - "no.lucene", "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", "pt- - PT.microsoft", "pt-PT.lucene", "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", - "ru.lucene", "sr-cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", - "es.microsoft", "es.lucene", "sv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", - "th.microsoft", "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "ur.microsoft", - "vi.microsoft", "standard.lucene", "standardasciifolding.lucene", "keyword", "pattern", - "simple", "stop", "whitespace". - :type analyzer: str or ~azure.search.documents.indexes.models.LexicalAnalyzerName - :param search_analyzer: The name of the analyzer used at search time for the field. This option - can be used only with searchable fields. It must be set together with indexAnalyzer and it - cannot be set together with the analyzer option. This property cannot be set to the name of a - language analyzer; use the analyzer property instead if you need a language analyzer. This - analyzer can be updated on an existing field. Must be null for complex fields. Possible values - include: "ar.microsoft", "ar.lucene", "hy.lucene", "bn.microsoft", "eu.lucene", "bg.microsoft", - "bg.lucene", "ca.microsoft", "ca.lucene", "zh-Hans.microsoft", "zh-Hans.lucene", "zh- - Hant.microsoft", "zh-Hant.lucene", "hr.microsoft", "cs.microsoft", "cs.lucene", "da.microsoft", - "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", "en.lucene", "et.microsoft", - "fi.microsoft", "fi.lucene", "fr.microsoft", "fr.lucene", "gl.lucene", "de.microsoft", - "de.lucene", "el.microsoft", "el.lucene", "gu.microsoft", "he.microsoft", "hi.microsoft", - "hi.lucene", "hu.microsoft", "hu.lucene", "is.microsoft", "id.microsoft", "id.lucene", - "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", "ja.lucene", "kn.microsoft", - "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", "lt.microsoft", "ml.microsoft", - "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", "fa.lucene", "pl.microsoft", - "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", "pt-PT.microsoft", "pt-PT.lucene", - "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", "ru.lucene", "sr- - cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", "es.microsoft", - "es.lucene", "sv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", "th.microsoft", - "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "ur.microsoft", "vi.microsoft", - "standard.lucene", "standardasciifolding.lucene", "keyword", "pattern", "simple", "stop", - "whitespace". - :type search_analyzer: str or ~azure.search.documents.indexes.models.LexicalAnalyzerName - :param index_analyzer: The name of the analyzer used at indexing time for the field. This - option can be used only with searchable fields. It must be set together with searchAnalyzer and - it cannot be set together with the analyzer option. This property cannot be set to the name of - a language analyzer; use the analyzer property instead if you need a language analyzer. Once - the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields. - Possible values include: "ar.microsoft", "ar.lucene", "hy.lucene", "bn.microsoft", "eu.lucene", - "bg.microsoft", "bg.lucene", "ca.microsoft", "ca.lucene", "zh-Hans.microsoft", "zh- - Hans.lucene", "zh-Hant.microsoft", "zh-Hant.lucene", "hr.microsoft", "cs.microsoft", - "cs.lucene", "da.microsoft", "da.lucene", "nl.microsoft", "nl.lucene", "en.microsoft", - "en.lucene", "et.microsoft", "fi.microsoft", "fi.lucene", "fr.microsoft", "fr.lucene", - "gl.lucene", "de.microsoft", "de.lucene", "el.microsoft", "el.lucene", "gu.microsoft", - "he.microsoft", "hi.microsoft", "hi.lucene", "hu.microsoft", "hu.lucene", "is.microsoft", - "id.microsoft", "id.lucene", "ga.lucene", "it.microsoft", "it.lucene", "ja.microsoft", - "ja.lucene", "kn.microsoft", "ko.microsoft", "ko.lucene", "lv.microsoft", "lv.lucene", - "lt.microsoft", "ml.microsoft", "ms.microsoft", "mr.microsoft", "nb.microsoft", "no.lucene", - "fa.lucene", "pl.microsoft", "pl.lucene", "pt-BR.microsoft", "pt-BR.lucene", "pt-PT.microsoft", - "pt-PT.lucene", "pa.microsoft", "ro.microsoft", "ro.lucene", "ru.microsoft", "ru.lucene", "sr- - cyrillic.microsoft", "sr-latin.microsoft", "sk.microsoft", "sl.microsoft", "es.microsoft", - "es.lucene", "sv.microsoft", "sv.lucene", "ta.microsoft", "te.microsoft", "th.microsoft", - "th.lucene", "tr.microsoft", "tr.lucene", "uk.microsoft", "ur.microsoft", "vi.microsoft", - "standard.lucene", "standardasciifolding.lucene", "keyword", "pattern", "simple", "stop", - "whitespace". - :type index_analyzer: str or ~azure.search.documents.indexes.models.LexicalAnalyzerName - :param synonym_maps: A list of the names of synonym maps to associate with this field. This - option can be used only with searchable fields. Currently only one synonym map per field is - supported. Assigning a synonym map to a field ensures that query terms targeting that field are - expanded at query-time using the rules in the synonym map. This attribute can be changed on - existing fields. Must be null or an empty collection for complex fields. - :type synonym_maps: list[str] - :param fields: A list of sub-fields if this is a field of type Edm.ComplexType or - Collection(Edm.ComplexType). Must be null or empty for simple fields. - :type fields: list[~azure.search.documents.indexes.models.SearchField] - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key': {'key': 'key', 'type': 'bool'}, - 'retrievable': {'key': 'retrievable', 'type': 'bool'}, - 'searchable': {'key': 'searchable', 'type': 'bool'}, - 'filterable': {'key': 'filterable', 'type': 'bool'}, - 'sortable': {'key': 'sortable', 'type': 'bool'}, - 'facetable': {'key': 'facetable', 'type': 'bool'}, - 'analyzer': {'key': 'analyzer', 'type': 'str'}, - 'search_analyzer': {'key': 'searchAnalyzer', 'type': 'str'}, - 'index_analyzer': {'key': 'indexAnalyzer', 'type': 'str'}, - 'synonym_maps': {'key': 'synonymMaps', 'type': '[str]'}, - 'fields': {'key': 'fields', 'type': '[SearchField]'}, - } - - def __init__( - self, - *, - name: str, - type: Union[str, "SearchFieldDataType"], - key: Optional[bool] = None, - retrievable: Optional[bool] = None, - searchable: Optional[bool] = None, - filterable: Optional[bool] = None, - sortable: Optional[bool] = None, - facetable: Optional[bool] = None, - analyzer: Optional[Union[str, "LexicalAnalyzerName"]] = None, - search_analyzer: Optional[Union[str, "LexicalAnalyzerName"]] = None, - index_analyzer: Optional[Union[str, "LexicalAnalyzerName"]] = None, - synonym_maps: Optional[List[str]] = None, - fields: Optional[List["SearchField"]] = None, - **kwargs - ): # pylint: disable=redefined-builtin - super(SearchField, self).__init__(**kwargs) - self.name = name - self.type = type - self.key = key - self.retrievable = retrievable - self.searchable = searchable - self.filterable = filterable - self.sortable = sortable - self.facetable = facetable - self.analyzer = analyzer - self.search_analyzer = search_analyzer - self.index_analyzer = index_analyzer - self.synonym_maps = synonym_maps - self.fields = fields - - -class SearchIndex(msrest.serialization.Model): - # pylint: disable=too-many-instance-attributes - """Represents a search index definition, which describes the fields and search behavior of an index. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The name of the index. - :type name: str - :param fields: Required. The fields of the index. - :type fields: list[~azure.search.documents.indexes.models.SearchField] - :param scoring_profiles: The scoring profiles for the index. - :type scoring_profiles: list[~azure.search.documents.indexes.models.ScoringProfile] - :param default_scoring_profile: The name of the scoring profile to use if none is specified in - the query. If this property is not set and no scoring profile is specified in the query, then - default scoring (tf-idf) will be used. - :type default_scoring_profile: str - :param cors_options: Options to control Cross-Origin Resource Sharing (CORS) for the index. - :type cors_options: ~azure.search.documents.indexes.models.CorsOptions - :param suggesters: The suggesters for the index. - :type suggesters: list[~azure.search.documents.indexes.models.Suggester] - :param analyzers: The analyzers for the index. - :type analyzers: list[~azure.search.documents.indexes.models.LexicalAnalyzer] - :param tokenizers: The tokenizers for the index. - :type tokenizers: list[~azure.search.documents.indexes.models.LexicalTokenizer] - :param token_filters: The token filters for the index. - :type token_filters: list[~azure.search.documents.indexes.models.TokenFilter] - :param char_filters: The character filters for the index. - :type char_filters: list[~azure.search.documents.indexes.models.CharFilter] - :param encryption_key: A description of an encryption key that you create in Azure Key Vault. - This key is used to provide an additional level of encryption-at-rest for your data when you - want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive - Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive - Search will ignore attempts to set this property to null. You can change this property as - needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with - customer-managed keys is not available for free search services, and is only available for paid - services created on or after January 1, 2019. - :type encryption_key: ~azure.search.documents.indexes.models.SearchResourceEncryptionKey - :param similarity: The type of similarity algorithm to be used when scoring and ranking the - documents matching a search query. The similarity algorithm can only be defined at index - creation time and cannot be modified on existing indexes. If null, the ClassicSimilarity - algorithm is used. - :type similarity: ~azure.search.documents.indexes.models.Similarity - :param e_tag: The ETag of the index. - :type e_tag: str - """ - - _validation = { - 'name': {'required': True}, - 'fields': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'fields': {'key': 'fields', 'type': '[SearchField]'}, - 'scoring_profiles': {'key': 'scoringProfiles', 'type': '[ScoringProfile]'}, - 'default_scoring_profile': {'key': 'defaultScoringProfile', 'type': 'str'}, - 'cors_options': {'key': 'corsOptions', 'type': 'CorsOptions'}, - 'suggesters': {'key': 'suggesters', 'type': '[Suggester]'}, - 'analyzers': {'key': 'analyzers', 'type': '[LexicalAnalyzer]'}, - 'tokenizers': {'key': 'tokenizers', 'type': '[LexicalTokenizer]'}, - 'token_filters': {'key': 'tokenFilters', 'type': '[TokenFilter]'}, - 'char_filters': {'key': 'charFilters', 'type': '[CharFilter]'}, - 'encryption_key': {'key': 'encryptionKey', 'type': 'SearchResourceEncryptionKey'}, - 'similarity': {'key': 'similarity', 'type': 'Similarity'}, - 'e_tag': {'key': '@odata\\.etag', 'type': 'str'}, - } - - def __init__( - self, - *, - name: str, - fields: List["SearchField"], - scoring_profiles: Optional[List["ScoringProfile"]] = None, - default_scoring_profile: Optional[str] = None, - cors_options: Optional["CorsOptions"] = None, - suggesters: Optional[List["Suggester"]] = None, - analyzers: Optional[List["LexicalAnalyzer"]] = None, - tokenizers: Optional[List["LexicalTokenizer"]] = None, - token_filters: Optional[List["TokenFilter"]] = None, - char_filters: Optional[List["CharFilter"]] = None, - encryption_key: Optional["SearchResourceEncryptionKey"] = None, - similarity: Optional["Similarity"] = None, - e_tag: Optional[str] = None, - **kwargs - ): - super(SearchIndex, self).__init__(**kwargs) - self.name = name - self.fields = fields - self.scoring_profiles = scoring_profiles - self.default_scoring_profile = default_scoring_profile - self.cors_options = cors_options - self.suggesters = suggesters - self.analyzers = analyzers - self.tokenizers = tokenizers - self.token_filters = token_filters - self.char_filters = char_filters - self.encryption_key = encryption_key - self.similarity = similarity - self.e_tag = e_tag diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_index_documents_batch.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/_index_documents_batch.py index 1caf527f9163..d0baf3f4690b 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_index_documents_batch.py +++ b/sdk/search/azure-search-documents/azure/search/documents/_internal/_index_documents_batch.py @@ -13,7 +13,7 @@ from typing import List -def flatten_args(args): +def _flatten_args(args): # type (Union[List[dict], List[List[dict]]]) -> List[dict] if len(args) == 1 and isinstance(args[0], (list, tuple)): return args[0] @@ -32,8 +32,6 @@ class IndexDocumentsBatch(object): def __init__(self): # type: () -> None self._actions = [] # type: List[IndexAction] - self._succeeded_actions = [] # type: List[IndexAction] - self._failed_actions = [] # type: List[IndexAction] self._lock = Lock() def __repr__(self): @@ -51,9 +49,10 @@ def add_upload_actions(self, *documents): :param documents: Documents to upload to an Azure search index. May be a single list of documents, or documents as individual parameters. :type documents: dict or list[dict] + :return: the added actions :rtype: List[IndexAction] """ - return self._extend_batch(flatten_args(documents), "upload") + return self._extend_batch(_flatten_args(documents), "upload") def add_delete_actions(self, *documents): # type (Union[List[dict], List[List[dict]]]) -> List[IndexAction] @@ -71,9 +70,10 @@ def add_delete_actions(self, *documents): :param documents: Documents to delete from an Azure search index. May be a single list of documents, or documents as individual parameters. :type documents: dict or list[dict] + :return: the added actions :rtype: List[IndexAction] """ - return self._extend_batch(flatten_args(documents), "delete") + return self._extend_batch(_flatten_args(documents), "delete") def add_merge_actions(self, *documents): # type (Union[List[dict], List[List[dict]]]) -> List[IndexAction] @@ -88,9 +88,10 @@ def add_merge_actions(self, *documents): :param documents: Documents to merge into an Azure search index. May be a single list of documents, or documents as individual parameters. :type documents: dict or list[dict] + :return: the added actions :rtype: List[IndexAction] """ - return self._extend_batch(flatten_args(documents), "merge") + return self._extend_batch(_flatten_args(documents), "merge") def add_merge_or_upload_actions(self, *documents): # type (Union[List[dict], List[List[dict]]]) -> List[IndexAction] @@ -105,9 +106,10 @@ def add_merge_or_upload_actions(self, *documents): index. May be a single list of documents, or documents as individual parameters. :type documents: dict or list[dict] + :return: the added actions :rtype: List[IndexAction] """ - return self._extend_batch(flatten_args(documents), "mergeOrUpload") + return self._extend_batch(_flatten_args(documents), "mergeOrUpload") @property def actions(self): @@ -118,24 +120,6 @@ def actions(self): """ return list(self._actions) - @property - def succeeded_actions(self): - # type: () -> List[IndexAction] - """The list of currently succeeded index actions. - - :rtype: List[IndexAction] - """ - return list(self._succeeded_actions) - - @property - def failed_actions(self): - # type: () -> List[IndexAction] - """The list of currently failed index actions. - - :rtype: List[IndexAction] - """ - return list(self._failed_actions) - def dequeue_actions(self): # type: () -> List[IndexAction] """Get the list of currently configured index actions and clear it. @@ -154,19 +138,12 @@ def enqueue_actions(self, new_actions): with self._lock: self._actions.extend(new_actions) - def enqueue_succeeded_actions(self, succeeded_actions): - # type: (List[IndexAction]) -> None - """Enqueue a list of succeeded index actions. - """ - with self._lock: - self._succeeded_actions.extend(succeeded_actions) - - def enqueue_failed_actions(self, failed_actions): - # type: (List[IndexAction]) -> None - """Enqueue a list of failed index actions. + def enqueue_action(self, new_action): + # type: (IndexAction) -> None + """Enqueue a single index action """ with self._lock: - self._failed_actions.extend(failed_actions) + self._actions.append(new_action) def _extend_batch(self, documents, action_type): # type: (List[dict], str) -> List[IndexAction] diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_client.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_client.py index 567bf500154a..f8f3b108f161 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_client.py +++ b/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_client.py @@ -17,7 +17,6 @@ from ._queries import AutocompleteQuery, SearchQuery, SuggestQuery from .._headers_mixin import HeadersMixin from .._version import SDK_MONIKER -from ._search_index_document_batching_client import SearchIndexDocumentBatchingClient if TYPE_CHECKING: # pylint:disable=unused-import,ungrouped-imports @@ -96,16 +95,11 @@ def __repr__(self): def close(self): # type: () -> None - """Close the :class:`~azure.search.SearchClient` session. + """Close the :class:`~azure.search.documents.SearchClient` session. """ return self._client.close() - def get_index_document_batching_client(self, **kwargs): - # type: (str, dict) -> SearchIndexDocumentBatchingClient - """Return a search index document batching client""" - return SearchIndexDocumentBatchingClient(self._endpoint, self._index_name, self._credential, **kwargs) - @distributed_trace def get_document_count(self, **kwargs): # type: (**Any) -> int @@ -531,10 +525,10 @@ def index_documents(self, batch, **kwargs): :param batch: A batch of document operations to perform. :type batch: IndexDocumentsBatch :rtype: List[IndexingResult] + :raises :class:`~azure.search.documents.RequestEntityTooLargeError` """ return self._index_documents_actions(actions=batch.actions, **kwargs) - @distributed_trace def _index_documents_actions(self, actions, **kwargs): # type: (List[IndexAction], **Any) -> List[IndexingResult] error_map = {413: RequestEntityTooLargeError} diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_index_document_batching_client.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_index_document_batching_client.py index 32dbd6ad949b..4a09fa11eea1 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_index_document_batching_client.py +++ b/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_index_document_batching_client.py @@ -4,15 +4,15 @@ # license information. # -------------------------------------------------------------------------- from typing import cast, List, TYPE_CHECKING +import time import threading -from typing_extensions import Protocol from azure.core.tracing.decorator import distributed_trace -from azure.core.exceptions import HttpResponseError -from .._api_versions import validate_api_version +from azure.core.exceptions import ServiceResponseTimeoutError from ._utils import is_retryable_status_code +from ._search_index_document_batching_client_base import SearchIndexDocumentBatchingClientBase from ._generated import SearchIndexClient -from ._generated_serviceclient import SearchServiceClient +from ..indexes import SearchIndexClient as SearchServiceClient from ._generated.models import IndexBatch, IndexingResult from ._search_documents_error import RequestEntityTooLargeError from ._index_documents_batch import IndexDocumentsBatch @@ -24,24 +24,7 @@ from typing import Any, Union from azure.core.credentials import AzureKeyCredential -class PersistenceBase(Protocol): - def add_queued_actions(self, actions, **kwargs): - # type: (*str, List[IndexAction], dict) -> None - pass - - def add_succeeded_action(self, action, **kwargs): - # type: (*str, IndexAction, dict) -> None - pass - - def add_failed_action(self, action, **kwargs): - # type: (*str, IndexAction, dict) -> None - pass - - def remove_queued_action(self, action, **kwargs): - # type: (*str, IndexAction, dict) -> None - pass - -class SearchIndexDocumentBatchingClient(HeadersMixin): +class SearchIndexDocumentBatchingClient(SearchIndexDocumentBatchingClientBase, HeadersMixin): """A client to do index document batching. :param endpoint: The URL endpoint of an Azure search service @@ -50,49 +33,37 @@ class SearchIndexDocumentBatchingClient(HeadersMixin): :type index_name: str :param credential: A credential to authorize search client requests :type credential: ~azure.core.credentials.AzureKeyCredential + :keyword bool auto_flush: if the auto flush mode is on. Default to True. :keyword int window: how many seconds if there is no changes that triggers auto flush. - if window is less or equal than 0, it will disable auto flush - :keyword int batch_size: batch size. Default to 1000. It only takes affect when auto_flush is on - :keyword persistence: persistence hook. If it is set, the batch client will dump actions queue when it changes - :paramtype persistence: PersistenceBase + Default to 60 seconds + :keyword hook: hook. If it is set, the client will call corresponding methods when status changes + :paramtype hook: IndexingHook :keyword str api_version: The Search API version to use for requests. """ # pylint: disable=too-many-instance-attributes - _ODATA_ACCEPT = "application/json;odata.metadata=none" # type: str - _DEFAULT_WINDOW = 0 - _DEFAULT_BATCH_SIZE = 1000 def __init__(self, endpoint, index_name, credential, **kwargs): # type: (str, str, AzureKeyCredential, **Any) -> None - - api_version = kwargs.pop('api_version', None) - validate_api_version(api_version) - self._batch_size = kwargs.pop('batch_size', self._DEFAULT_BATCH_SIZE) - self._window = kwargs.pop('window', self._DEFAULT_WINDOW) - self._auto_flush = self._window > 0 + super(SearchIndexDocumentBatchingClient, self).__init__( + endpoint=endpoint, + index_name=index_name, + credential=credential, + **kwargs) self._index_documents_batch = IndexDocumentsBatch() - self._endpoint = endpoint # type: str - self._index_name = index_name # type: str - self._index_key = None - self._credential = credential # type: AzureKeyCredential self._client = SearchIndexClient( endpoint=endpoint, index_name=index_name, sdk_moniker=SDK_MONIKER, **kwargs ) # type: SearchIndexClient self._reset_timer() - self._persistence = kwargs.pop('persistence', None) - def _cleanup(self, flush=True, raise_error=False): + def _cleanup(self, flush=True): # type: () -> None """Clean up the client. :param bool flush: flush the actions queue before shutdown the client Default to True. - :param bool raise_error: raise error if there are failures during flushing - Default to False which re-queue the failed tasks and retry on next flush. - :raises: ~azure.core.exceptions.HttpResponseError """ if flush: - self.flush(raise_error=raise_error) + self.flush() if self._auto_flush: self._timer.cancel() @@ -111,92 +82,74 @@ def actions(self): """ return self._index_documents_batch.actions - @property - def succeeded_actions(self): - # type: () -> List[IndexAction] - """The list of currently succeeded index actions in queue. - - :rtype: List[IndexAction] - """ - return self._index_documents_batch.succeeded_actions - - @property - def failed_actions(self): - # type: () -> List[IndexAction] - """The list of currently failed index actions in queue. - - :rtype: List[IndexAction] - """ - return self._index_documents_batch.failed_actions - - @property - def batch_size(self): - # type: () -> int - return self._batch_size - def close(self): # type: () -> None - """Close the :class:`~azure.search.SearchClient` session. - - """ + """Close the :class:`~azure.search.documents.SearchClient` session.""" self._cleanup(flush=True) return self._client.close() - def flush(self, raise_error=False): - # type: (bool) -> None + @distributed_trace + def flush(self, timeout=86400, **kwargs): # pylint:disable=unused-argument + # type: (int) -> bool """Flush the batch. - :param bool raise_error: raise error if there are failures during flushing - Default to False which re-queue the failed tasks and retry on next flush. - :raises: ~azure.core.exceptions.HttpResponseError + :param int timeout: time out setting. Default is 86400s (one day) + :return: True if there are errors. Else False + :rtype: bool """ - # get actions + has_error = False + begin_time = int(time.time()) + while len(self.actions) > 0: + now = int(time.time()) + remaining = timeout - (now - begin_time) + if remaining < 0: + raise ServiceResponseTimeoutError("Service response time out") + result = self._process(timeout=remaining, raise_error=False) + if result: + has_error = True + return has_error + + def _process(self, timeout=86400, **kwargs): + # type: (int) -> bool + raise_error = kwargs.pop("raise_error", True) actions = self._index_documents_batch.dequeue_actions() - try: - results = self._index_documents_actions(actions=actions) - # re-queue 207: - if not self._index_key: - client = SearchServiceClient(self._endpoint) - kwargs = {"headers": self._merge_client_headers({})} - result = client.indexes.get(self._index_name, **kwargs) - if not result: - # Cannot find the index - self._index_key = "" - else: + has_error = False + if not self._index_key: + try: + client = SearchServiceClient(self._endpoint, self._credential) + result = client.get_index(self._index_name) + if result: for field in result.fields: if field.key: self._index_key = field.name break + except Exception: # pylint: disable=broad-except + pass - has_error = False - + try: + results = self._index_documents_actions(actions=actions, timeout=timeout) for result in results: - action = [x for x in actions if x.get(self._index_key) == result.key] - if is_retryable_status_code(result.status_code): - self._index_documents_batch.enqueue_actions(action) - has_error = True - elif result.status_code in [200, 201]: - if self._persistence: - self._persistence.remove_queued_action(action) - self._persistence.add_succeeded_action(action) - self._index_documents_batch.enqueue_succeeded_actions(action) - else: - if self._persistence: - self._persistence.remove_queued_action(action) - self._persistence.add_failed_action(action) - self._index_documents_batch.enqueue_failed_actions(action) - has_error = True - - if has_error and raise_error: - raise HttpResponseError(message="Some actions failed. Failed actions are re-queued.") - - except Exception: # pylint: disable=broad-except - # Do we want to re-queue these failures? - self._index_documents_batch.enqueue_actions(actions) - if raise_error: - raise - - def _flush_if_needed(self): + try: + action = next(x for x in actions if x.additional_properties.get(self._index_key) == result.key) + if result.succeeded: + self._succeed_callback(action) + elif is_retryable_status_code(result.status_code): + self._retry_action(action) + has_error = True + else: + self._fail_callback(action) + has_error = True + except StopIteration: + pass + return has_error + except Exception: # pylint: disable=broad-except + for action in actions: + self._retry_action(action) + if raise_error: + raise + return True + + def _process_if_needed(self): # type: () -> bool """ Every time when a new action is queued, this method will be triggered. It checks the actions already queued and flushes them if: @@ -212,7 +165,7 @@ def _flush_if_needed(self): if len(self._index_documents_batch.actions) < self._batch_size: return - self.flush(raise_error=False) + self._process(raise_error=False) def _reset_timer(self): # pylint: disable=access-member-before-definition @@ -220,7 +173,7 @@ def _reset_timer(self): self._timer.cancel() except AttributeError: pass - self._timer = threading.Timer(self._window, self.flush) + self._timer = threading.Timer(self._window, self._process) if self._auto_flush: self._timer.start() @@ -232,9 +185,8 @@ def add_upload_actions(self, documents): :type documents: List[dict] """ actions = self._index_documents_batch.add_upload_actions(documents) - if self._persistence: - self._persistence.add_queued_actions(actions) - self._flush_if_needed() + self._new_callback(actions) + self._process_if_needed() def add_delete_actions(self, documents): # type: (List[dict]) -> None @@ -244,9 +196,8 @@ def add_delete_actions(self, documents): :type documents: List[dict] """ actions = self._index_documents_batch.add_delete_actions(documents) - if self._persistence: - self._persistence.add_queued_actions(actions) - self._flush_if_needed() + self._new_callback(actions) + self._process_if_needed() def add_merge_actions(self, documents): # type: (List[dict]) -> None @@ -256,9 +207,8 @@ def add_merge_actions(self, documents): :type documents: List[dict] """ actions = self._index_documents_batch.add_merge_actions(documents) - if self._persistence: - self._persistence.add_queued_actions(actions) - self._flush_if_needed() + self._new_callback(actions) + self._process_if_needed() def add_merge_or_upload_actions(self, documents): # type: (List[dict]) -> None @@ -268,15 +218,15 @@ def add_merge_or_upload_actions(self, documents): :type documents: List[dict] """ actions = self._index_documents_batch.add_merge_or_upload_actions(documents) - if self._persistence: - self._persistence.add_queued_actions(actions) - self._flush_if_needed() + self._new_callback(actions) + self._process_if_needed() - @distributed_trace def _index_documents_actions(self, actions, **kwargs): # type: (List[IndexAction], **Any) -> List[IndexingResult] error_map = {413: RequestEntityTooLargeError} + timeout = kwargs.pop('timeout', 86400) + begin_time = int(time.time()) kwargs["headers"] = self._merge_client_headers(kwargs.get("headers")) try: index_documents = IndexBatch(actions=actions) @@ -286,21 +236,31 @@ def _index_documents_actions(self, actions, **kwargs): if len(actions) == 1: raise pos = round(len(actions) / 2) + now = int(time.time()) + remaining = timeout - (now - begin_time) + if remaining < 0: + raise ServiceResponseTimeoutError("Service response time out") batch_response_first_half = self._index_documents_actions( actions=actions[:pos], error_map=error_map, + timeout=remaining, **kwargs ) - if batch_response_first_half: + if len(batch_response_first_half) > 0: result_first_half = cast(List[IndexingResult], batch_response_first_half.results) else: result_first_half = [] + now = int(time.time()) + remaining = timeout - (now - begin_time) + if remaining < 0: + raise ServiceResponseTimeoutError("Service response time out") batch_response_second_half = self._index_documents_actions( actions=actions[pos:], error_map=error_map, + timeout=remaining, **kwargs ) - if batch_response_second_half: + if len(batch_response_second_half) > 0: result_second_half = cast(List[IndexingResult], batch_response_second_half.results) else: result_second_half = [] @@ -315,3 +275,21 @@ def __exit__(self, *args): # type: (*Any) -> None self.close() self._client.__exit__(*args) # pylint:disable=no-member + + def _retry_action(self, action): + # type: (IndexAction) -> None + if not self._index_key: + self._fail_callback(action) + return + key = action.additional_properties.get(self._index_key) + counter = self._retry_counter.get(key) + if not counter: + # first time that fails + self._retry_counter[key] = 1 + self._index_documents_batch.enqueue_action(action) + elif counter < self._RETRY_LIMIT - 1: + # not reach retry limit yet + self._retry_counter[key] = counter + 1 + self._index_documents_batch.enqueue_action(action) + else: + self._fail_callback(action) diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_index_document_batching_client_base.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_index_document_batching_client_base.py new file mode 100644 index 000000000000..cfa0caa10120 --- /dev/null +++ b/sdk/search/azure-search-documents/azure/search/documents/_internal/_search_index_document_batching_client_base.py @@ -0,0 +1,79 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from typing import List, TYPE_CHECKING +from typing_extensions import Protocol + +from .._api_versions import validate_api_version +from .._headers_mixin import HeadersMixin + +if TYPE_CHECKING: + # pylint:disable=unused-import,ungrouped-imports + from typing import Any, Union + from azure.core.credentials import AzureKeyCredential + +class IndexingHook(Protocol): + def new(self, action, **kwargs): + # type: (*str, IndexAction, dict) -> None + pass + + def progress(self, action, **kwargs): + # type: (*str, IndexAction, dict) -> None + pass + + def error(self, action, **kwargs): + # type: (*str, IndexAction, dict) -> None + pass + + def remove(self, action, **kwargs): + # type: (*str, IndexAction, dict) -> None + pass + +class SearchIndexDocumentBatchingClientBase(HeadersMixin): + """Base of search index document batching client""" + _ODATA_ACCEPT = "application/json;odata.metadata=none" # type: str + _DEFAULT_WINDOW = 60 + _DEFAULT_BATCH_SIZE = 1000 + _RETRY_LIMIT = 10 + + def __init__(self, endpoint, index_name, credential, **kwargs): + # type: (str, str, AzureKeyCredential, **Any) -> None + + api_version = kwargs.pop('api_version', None) + validate_api_version(api_version) + self._auto_flush = kwargs.pop('auto_flush', True) + self._batch_size = kwargs.pop('batch_size', self._DEFAULT_BATCH_SIZE) + self._window = kwargs.pop('window', self._DEFAULT_WINDOW) + if self._window <= 0: + self._window = 86400 + self._endpoint = endpoint # type: str + self._index_name = index_name # type: str + self._index_key = None + self._credential = credential # type: AzureKeyCredential + self._hook = kwargs.pop('hook', None) + self._retry_counter = {} + + @property + def batch_size(self): + # type: () -> int + return self._batch_size + + def _succeed_callback(self, action): + # type: (IndexAction) -> None + if self._hook: + self._hook.remove(action) + self._hook.progress(action) + + def _fail_callback(self, action): + # type: (IndexAction) -> None + if self._hook: + self._hook.remove(action) + self._hook.error(action) + + def _new_callback(self, actions): + # type: (List[IndexAction]) -> None + if self._hook: + for action in actions: + self._hook.new(action) diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_index_documents_batch_async.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_index_documents_batch_async.py index 7c709c7881e7..d53936c059da 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_index_documents_batch_async.py +++ b/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_index_documents_batch_async.py @@ -13,7 +13,7 @@ from typing import List -def flatten_args(args): +def _flatten_args(args): # type (Union[List[dict], List[List[dict]]]) -> List[dict] if len(args) == 1 and isinstance(args[0], (list, tuple)): return args[0] @@ -32,8 +32,6 @@ class IndexDocumentsBatch(object): def __init__(self): # type: () -> None self._actions = [] # type: List[IndexAction] - self._succeeded_actions = [] # type: List[IndexAction] - self._failed_actions = [] # type: List[IndexAction] self._lock = asyncio.Lock() def __repr__(self): @@ -51,9 +49,10 @@ async def add_upload_actions(self, *documents): :param documents: Documents to upload to an Azure search index. May be a single list of documents, or documents as individual parameters. :type documents: dict or list[dict] + :return: the added actions :rtype: List[IndexAction] """ - return await self._extend_batch(flatten_args(documents), "upload") + return await self._extend_batch(_flatten_args(documents), "upload") async def add_delete_actions(self, *documents): # type (Union[List[dict], List[List[dict]]]) -> List[IndexAction] @@ -71,9 +70,10 @@ async def add_delete_actions(self, *documents): :param documents: Documents to delete from an Azure search index. May be a single list of documents, or documents as individual parameters. :type documents: dict or list[dict] + :return: the added actions :rtype: List[IndexAction] """ - return await self._extend_batch(flatten_args(documents), "delete") + return await self._extend_batch(_flatten_args(documents), "delete") async def add_merge_actions(self, *documents): # type (Union[List[dict], List[List[dict]]]) -> List[IndexAction] @@ -88,9 +88,10 @@ async def add_merge_actions(self, *documents): :param documents: Documents to merge into an Azure search index. May be a single list of documents, or documents as individual parameters. :type documents: dict or list[dict] + :return: the added actions :rtype: List[IndexAction] """ - return await self._extend_batch(flatten_args(documents), "merge") + return await self._extend_batch(_flatten_args(documents), "merge") async def add_merge_or_upload_actions(self, *documents): # type (Union[List[dict], List[List[dict]]]) -> List[IndexAction] @@ -105,9 +106,10 @@ async def add_merge_or_upload_actions(self, *documents): index. May be a single list of documents, or documents as individual parameters. :type documents: dict or list[dict] + :return: the added actions :rtype: List[IndexAction] """ - return await self._extend_batch(flatten_args(documents), "mergeOrUpload") + return await self._extend_batch(_flatten_args(documents), "mergeOrUpload") @property def actions(self): @@ -118,24 +120,6 @@ def actions(self): """ return list(self._actions) - @property - def succeeded_actions(self): - # type: () -> List[IndexAction] - """The list of currently succeeded index actions. - - :rtype: List[IndexAction] - """ - return list(self._succeeded_actions) - - @property - def failed_actions(self): - # type: () -> List[IndexAction] - """The list of currently failed index actions. - - :rtype: List[IndexAction] - """ - return list(self._failed_actions) - async def dequeue_actions(self): # type: () -> List[IndexAction] """Get the list of currently configured index actions and clear it. @@ -154,19 +138,12 @@ async def enqueue_actions(self, new_actions): async with self._lock: self._actions.extend(new_actions) - async def enqueue_succeeded_actions(self, succeeded_actions): - # type: (List[IndexAction]) -> None - """Enqueue a list of succeeded index actions. - """ - async with self._lock: - self._succeeded_actions.extend(succeeded_actions) - - async def enqueue_failed_actions(self, failed_actions): - # type: (List[IndexAction]) -> None - """Enqueue a list of failed index actions. + async def enqueue_action(self, new_action): + # type: (IndexAction) -> None + """Enqueue a single index action to index. """ async with self._lock: - self._failed_actions.extend(failed_actions) + self._actions.append(new_action) async def _extend_batch(self, documents, action_type): # type: (List[dict], str) -> List[IndexAction] diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_search_client_async.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_search_client_async.py index 599cee40846a..b1ea7aaef7cc 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_search_client_async.py +++ b/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_search_client_async.py @@ -15,7 +15,6 @@ from ..._api_versions import validate_api_version from ..._headers_mixin import HeadersMixin from ..._version import SDK_MONIKER -from ._search_index_document_batching_client_async import SearchIndexDocumentBatchingClient if TYPE_CHECKING: # pylint:disable=unused-import,ungrouped-imports @@ -68,16 +67,11 @@ def __repr__(self): async def close(self): # type: () -> None - """Close the :class:`~azure.search.aio.SearchClient` session. + """Close the :class:`~azure.search.documents.aio.SearchClient` session. """ return await self._client.close() - def get_index_document_batching_client(self, **kwargs): - # type: (str, dict) -> SearchIndexDocumentBatchingClient - """Return a search index document batching client""" - return SearchIndexDocumentBatchingClient(self._endpoint, self._index_name, self._credential, **kwargs) - @distributed_trace_async async def get_document_count(self, **kwargs): # type: (**Any) -> int @@ -503,6 +497,7 @@ async def index_documents(self, batch, **kwargs): :param batch: A batch of document operations to perform. :type batch: IndexDocumentsBatch :rtype: List[IndexingResult] + :raises :class:`~azure.search.documents.RequestEntityTooLargeError` """ return await self._index_documents_actions(actions=batch.actions, **kwargs) diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_search_index_document_batching_client_async.py b/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_search_index_document_batching_client_async.py index 165d5262464f..ab738e44dc8f 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_search_index_document_batching_client_async.py +++ b/sdk/search/azure-search-documents/azure/search/documents/_internal/aio/_search_index_document_batching_client_async.py @@ -4,17 +4,18 @@ # license information. # -------------------------------------------------------------------------- from typing import cast, List, TYPE_CHECKING +import time from azure.core.tracing.decorator_async import distributed_trace_async -from azure.core.exceptions import HttpResponseError +from azure.core.exceptions import ServiceResponseTimeoutError from ._timer import Timer from .._utils import is_retryable_status_code -from .._generated_serviceclient.aio import SearchServiceClient +from .._search_index_document_batching_client_base import SearchIndexDocumentBatchingClientBase +from ...indexes.aio import SearchIndexClient as SearchServiceClient from .._generated.aio import SearchIndexClient from .._generated.models import IndexBatch, IndexingResult from .._search_documents_error import RequestEntityTooLargeError from ._index_documents_batch_async import IndexDocumentsBatch -from ..._api_versions import validate_api_version from ..._headers_mixin import HeadersMixin from ..._version import SDK_MONIKER @@ -24,7 +25,7 @@ from azure.core.credentials import AzureKeyCredential -class SearchIndexDocumentBatchingClient(HeadersMixin): +class SearchIndexDocumentBatchingClient(SearchIndexDocumentBatchingClientBase, HeadersMixin): """A client to do index document batching. :param endpoint: The URL endpoint of an Azure search service @@ -33,49 +34,37 @@ class SearchIndexDocumentBatchingClient(HeadersMixin): :type index_name: str :param credential: A credential to authorize search client requests :type credential: ~azure.core.credentials.AzureKeyCredential + :keyword bool auto_flush: if the auto flush mode is on. Default to True. :keyword int window: how many seconds if there is no changes that triggers auto flush. - if window is less or equal than 0, it will disable auto flush - :keyword int batch_size: batch size. Default to 1000. It only takes affect when auto_flush is on - :keyword persistence: persistence hook. If it is set, the batch client will dump actions queue when it changes - :paramtype persistence: PersistenceBase + Default to 60 seconds + :keyword hook: hook. If it is set, the client will call corresponding methods when status changes + :paramtype hook: IndexingHook :keyword str api_version: The Search API version to use for requests. """ # pylint: disable=too-many-instance-attributes - _ODATA_ACCEPT = "application/json;odata.metadata=none" # type: str - _DEFAULT_WINDOW = 0 - _DEFAULT_BATCH_SIZE = 1000 def __init__(self, endpoint, index_name, credential, **kwargs): # type: (str, str, AzureKeyCredential, **Any) -> None - - api_version = kwargs.pop('api_version', None) - validate_api_version(api_version) - self._batch_size = kwargs.pop('batch_size', self._DEFAULT_BATCH_SIZE) - self._window = kwargs.pop('window', self._DEFAULT_WINDOW) - self._auto_flush = self._window > 0 + super(SearchIndexDocumentBatchingClient, self).__init__( + endpoint=endpoint, + index_name=index_name, + credential=credential, + **kwargs) self._index_documents_batch = IndexDocumentsBatch() - self._endpoint = endpoint # type: str - self._index_name = index_name # type: str - self._index_key = None - self._credential = credential # type: AzureKeyCredential self._client = SearchIndexClient( endpoint=endpoint, index_name=index_name, sdk_moniker=SDK_MONIKER, **kwargs ) # type: SearchIndexClient self._reset_timer() - self._persistence = kwargs.pop('persistence', None) - async def _cleanup(self, flush=True, raise_error=False): + async def _cleanup(self, flush=True): # type: () -> None """Clean up the client. :param bool flush: flush the actions queue before shutdown the client Default to True. - :param bool raise_error: raise error if there are failures during flushing - Default to False which re-queue the failed tasks and retry on next flush. - :raises: ~azure.core.exceptions.HttpResponseError """ if flush: - await self.flush(raise_error=raise_error) + await self.flush() if self._auto_flush: self._timer.cancel() @@ -93,92 +82,75 @@ def actions(self): """ return self._index_documents_batch.actions - @property - def succeeded_actions(self): - # type: () -> List[IndexAction] - """The list of currently succeeded index actions in queue. - - :rtype: List[IndexAction] - """ - return self._index_documents_batch.succeeded_actions - - @property - def failed_actions(self): - # type: () -> List[IndexAction] - """The list of currently failed index actions in queue. - - :rtype: List[IndexAction] - """ - return self._index_documents_batch.failed_actions - - @property - def batch_size(self): - # type: () -> int - return self._batch_size - async def close(self): # type: () -> None - """Close the :class:`~azure.search.aio.SearchClient` session. - - """ + """Close the :class:`~azure.search.documents.aio.SearchClient` session.""" await self._cleanup(flush=True) return await self._client.close() - async def flush(self, raise_error=False): - # type: (bool) -> None + @distributed_trace_async + async def flush(self, timeout=86400, **kwargs): # pylint:disable=unused-argument + # type: (bool) -> bool """Flush the batch. - - :param bool raise_error: raise error if there are failures during flushing - Default to False which re-queue the failed tasks and retry on next flush. - :raises: ~azure.core.exceptions.HttpResponseError + :param int timeout: time out setting. Default is 86400s (one day) + :return: True if there are errors. Else False + :rtype: bool """ - # get actions + has_error = False + begin_time = int(time.time()) + while len(self.actions) > 0: + now = int(time.time()) + remaining = timeout - (now - begin_time) + if remaining < 0: + raise ServiceResponseTimeoutError("Service response time out") + result = await self._process(timeout=remaining, raise_error=False) + if result: + has_error = True + return has_error + + async def _process(self, timeout=86400, **kwargs): + # type: (int) -> bool + raise_error = kwargs.pop("raise_error", True) actions = await self._index_documents_batch.dequeue_actions() - try: - results = await self._index_documents_actions(actions=actions) - # re-queue 207: - if not self._index_key: - client = SearchServiceClient(self._endpoint) - kwargs = {"headers": self._merge_client_headers({})} - result = await client.indexes.get(self._index_name, **kwargs) - if not result: - # Cannot find the index - self._index_key = "" - else: + has_error = False + if not self._index_key: + try: + client = SearchServiceClient(self._endpoint, self._credential) + result = await client.get_index(self._index_name) + if result: for field in result.fields: if field.key: self._index_key = field.name break + except Exception: # pylint: disable=broad-except + pass - has_error = False - + try: + results = await self._index_documents_actions(actions=actions, timeout=timeout) for result in results: - action = [x for x in actions if x.get(self._index_key) == result.key] - if is_retryable_status_code(result.status_code): - await self._index_documents_batch.enqueue_actions(action) - has_error = True - elif result.status_code in [200, 201]: - if self._persistence: - self._persistence.remove_queued_action(action) - self._persistence.add_succeeded_action(action) - await self._index_documents_batch.enqueue_succeeded_actions(action) - else: - if self._persistence: - self._persistence.remove_queued_action(action) - self._persistence.add_failed_action(action) - await self._index_documents_batch.enqueue_failed_actions(action) - has_error = True - - if has_error and raise_error: - raise HttpResponseError(message="Some actions failed. Failed actions are re-queued.") + try: + action = next(x for x in actions if x.additional_properties.get(self._index_key) == result.key) + if result.succeeded: + self._succeed_callback(action) + elif is_retryable_status_code(result.status_code): + await self._retry_action(action) + has_error = True + else: + self._fail_callback(action) + has_error = True + except StopIteration: + pass + + return has_error except Exception: # pylint: disable=broad-except - # Do we want to re-queue these failures? - await self._index_documents_batch.enqueue_actions(actions) - if raise_error: - raise + for action in actions: + await self._retry_action(action) + if raise_error: + raise + return True - async def _flush_if_needed(self): + async def _process_if_needed(self): # type: () -> bool """ Every time when a new action is queued, this method will be triggered. It checks the actions already queued and flushes them if: @@ -194,7 +166,7 @@ async def _flush_if_needed(self): if len(self._index_documents_batch.actions) < self._batch_size: return - await self.flush(raise_error=False) + await self._process(raise_error=False) def _reset_timer(self): # pylint: disable=access-member-before-definition @@ -203,7 +175,7 @@ def _reset_timer(self): except AttributeError: pass if self._auto_flush: - self._timer = Timer(self._window, self.flush) + self._timer = Timer(self._window, self._process) async def add_upload_actions(self, documents): # type: (List[dict]) -> None @@ -212,9 +184,8 @@ async def add_upload_actions(self, documents): :type documents: List[dict] """ actions = await self._index_documents_batch.add_upload_actions(documents) - if self._persistence: - self._persistence.add_queued_actions(actions) - await self._flush_if_needed() + self._new_callback(actions) + await self._process_if_needed() async def add_delete_actions(self, documents): # type: (List[dict]) -> None @@ -223,9 +194,8 @@ async def add_delete_actions(self, documents): :type documents: List[dict] """ actions = await self._index_documents_batch.add_delete_actions(documents) - if self._persistence: - self._persistence.add_queued_actions(actions) - await self._flush_if_needed() + self._new_callback(actions) + await self._process_if_needed() async def add_merge_actions(self, documents): # type: (List[dict]) -> None @@ -234,9 +204,8 @@ async def add_merge_actions(self, documents): :type documents: List[dict] """ actions = await self._index_documents_batch.add_merge_actions(documents) - if self._persistence: - self._persistence.add_queued_actions(actions) - await self._flush_if_needed() + self._new_callback(actions) + await self._process_if_needed() async def add_merge_or_upload_actions(self, documents): # type: (List[dict]) -> None @@ -245,15 +214,15 @@ async def add_merge_or_upload_actions(self, documents): :type documents: List[dict] """ actions = await self._index_documents_batch.add_merge_or_upload_actions(documents) - if self._persistence: - self._persistence.add_queued_actions(actions) - await self._flush_if_needed() + self._new_callback(actions) + await self._process_if_needed() - @distributed_trace_async async def _index_documents_actions(self, actions, **kwargs): # type: (List[IndexAction], **Any) -> List[IndexingResult] error_map = {413: RequestEntityTooLargeError} + timeout = kwargs.pop('timeout', 86400) + begin_time = int(time.time()) kwargs["headers"] = self._merge_client_headers(kwargs.get("headers")) try: index_documents = IndexBatch(actions=actions) @@ -263,21 +232,29 @@ async def _index_documents_actions(self, actions, **kwargs): if len(actions) == 1: raise pos = round(len(actions) / 2) + now = int(time.time()) + remaining = timeout - (now - begin_time) + if remaining < 0: + raise ServiceResponseTimeoutError("Service response time out") batch_response_first_half = await self._index_documents_actions( actions=actions[:pos], error_map=error_map, **kwargs ) - if batch_response_first_half: + if len(batch_response_first_half) > 0: result_first_half = cast(List[IndexingResult], batch_response_first_half.results) else: result_first_half = [] + now = int(time.time()) + remaining = timeout - (now - begin_time) + if remaining < 0: + raise ServiceResponseTimeoutError("Service response time out") batch_response_second_half = await self._index_documents_actions( actions=actions[pos:], error_map=error_map, **kwargs ) - if batch_response_second_half: + if len(batch_response_second_half) > 0: result_second_half = cast(List[IndexingResult], batch_response_second_half.results) else: result_second_half = [] @@ -292,3 +269,21 @@ async def __aexit__(self, *args): # type: (*Any) -> None await self.close() await self._client.__aexit__(*args) # pylint: disable=no-member + + async def _retry_action(self, action): + # type: (IndexAction) -> None + if not self._index_key: + self._fail_callback(action) + return + key = action.additional_properties.get(self._index_key) + counter = self._retry_counter.get(key) + if not counter: + # first time that fails + self._retry_counter[key] = 1 + await self._index_documents_batch.enqueue_action(action) + elif counter < self._RETRY_LIMIT - 1: + # not reach retry limit yet + self._retry_counter[key] = counter + 1 + await self._index_documents_batch.enqueue_action(action) + else: + self._fail_callback(action) diff --git a/sdk/search/azure-search-documents/azure/search/documents/indexes/_internal/_search_index_client.py b/sdk/search/azure-search-documents/azure/search/documents/indexes/_internal/_search_index_client.py index 8fe294555ec1..d186af3f7fba 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/indexes/_internal/_search_index_client.py +++ b/sdk/search/azure-search-documents/azure/search/documents/indexes/_internal/_search_index_client.py @@ -21,7 +21,7 @@ ) from ..._headers_mixin import HeadersMixin from ..._version import SDK_MONIKER -from ... import SearchClient +from ..._internal._search_client import SearchClient if TYPE_CHECKING: # pylint:disable=unused-import,ungrouped-imports diff --git a/sdk/search/azure-search-documents/azure/search/documents/indexes/_internal/aio/_search_index_client.py b/sdk/search/azure-search-documents/azure/search/documents/indexes/_internal/aio/_search_index_client.py index de914c628294..95c22e1c9ea5 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/indexes/_internal/aio/_search_index_client.py +++ b/sdk/search/azure-search-documents/azure/search/documents/indexes/_internal/aio/_search_index_client.py @@ -10,7 +10,7 @@ from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.async_paging import AsyncItemPaged from .._generated.aio import SearchServiceClient as _SearchServiceClient -from ....aio import SearchClient +from ...._internal.aio._search_client_async import SearchClient from .._utils import ( pack_search_index, unpack_search_index, diff --git a/sdk/search/azure-search-documents/samples/README.md b/sdk/search/azure-search-documents/samples/README.md index 47a5868e081d..bb8deebd3b8d 100644 --- a/sdk/search/azure-search-documents/samples/README.md +++ b/sdk/search/azure-search-documents/samples/README.md @@ -14,7 +14,7 @@ Search client library. The async versions of the samples (the python sample files appended with `_async`) show asynchronous operations with Cognitive Search and require Python version 3.5 or later. -Authenticate the client with a Azure Cognitive Search [API Key Credential](https://docs.microsoft.com/en-us/azure/search/search-security-api-keys): +Authenticate the client with a Azure Cognitive Search [API Key Credential](https://docs.microsoft.com/azure/search/search-security-api-keys): [sample_authentication.py](sample_authentication.py) ([async version](async_samples/sample_authentication_async.py)) @@ -45,7 +45,7 @@ Then for common search index operations: ## Prerequisites * Python 2.7, or 3.5 or later is required to use this package (3.5 or later if using asyncio) * You must have an [Azure subscription](https://azure.microsoft.com/free/) -* You must create the "Hotels" sample index [in the Azure Portal](https://docs.microsoft.com/en-us/azure/search/search-get-started-portal) +* You must create the "Hotels" sample index [in the Azure Portal](https://docs.microsoft.com/azure/search/search-get-started-portal) ## Setup @@ -67,5 +67,5 @@ Then for common search index operations: ## Next steps -Check out the [API reference documentation](https://docs.microsoft.com/en-us/rest/api/searchservice/) +Check out the [API reference documentation](https://docs.microsoft.com/rest/api/searchservice/) to learn more about what you can do with the Azure Cognitive Search client library. diff --git a/sdk/search/azure-search-documents/samples/async_samples/sample_data_source_operations_async.py b/sdk/search/azure-search-documents/samples/async_samples/sample_data_source_operations_async.py index 1afb437220a1..6c5522f36be9 100644 --- a/sdk/search/azure-search-documents/samples/async_samples/sample_data_source_operations_async.py +++ b/sdk/search/azure-search-documents/samples/async_samples/sample_data_source_operations_async.py @@ -40,31 +40,27 @@ async def create_data_source_connection(): connection_string=connection_string, container=container ) - async with client: - result = await client.create_data_source_connection(data_source) + result = await client.create_data_source_connection(data_source) print("Create new Data Source Connection - async-sample-data-source-connection") # [END create_data_source_connection_async] async def list_data_source_connections(): # [START list_data_source_connection_async] - async with client: - result = await client.get_data_source_connections() + result = await client.get_data_source_connections() names = [x.name for x in result] print("Found {} Data Source Connections in the service: {}".format(len(result), ", ".join(names))) # [END list_data_source_connection_async] async def get_data_source_connection(): # [START get_data_source_connection_async] - async with client: - result = await client.get_data_source_connection("async-sample-data-source-connection") - print("Retrived Data Source Connection 'async-sample-data-source-connection'") - return result + result = await client.get_data_source_connection("async-sample-data-source-connection") + print("Retrived Data Source Connection 'async-sample-data-source-connection'") + return result # [END get_data_source_connection_async] async def delete_data_source_connection(): # [START delete_data_source_connection_async] - async with client: - client.delete_data_source_connection("async-sample-data-source-connection") + await client.delete_data_source_connection("async-sample-data-source-connection") print("Data Source Connection 'async-sample-data-source-connection' successfully deleted") # [END delete_data_source_connection_async] diff --git a/sdk/search/azure-search-documents/samples/async_samples/sample_indexers_operations_async.py b/sdk/search/azure-search-documents/samples/async_samples/sample_indexers_operations_async.py index 2f26c0a00b41..50df2a3dc5b2 100644 --- a/sdk/search/azure-search-documents/samples/async_samples/sample_indexers_operations_async.py +++ b/sdk/search/azure-search-documents/samples/async_samples/sample_indexers_operations_async.py @@ -40,7 +40,7 @@ async def create_indexer(): # create an index - index_name = "indexer-hotels" + index_name = "async-indexer-hotels" fields = [ SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), SimpleField(name="baseRate", type=SearchFieldDataType.Double) @@ -59,8 +59,7 @@ async def create_indexer(): connection_string=connection_string, container=container ) - async with indexers_client: - data_source = await indexers_client.create_data_source_connection(data_source_connection) + data_source = await indexers_client.create_data_source_connection(data_source_connection) # create an indexer indexer = SearchIndexer( @@ -68,55 +67,48 @@ async def create_indexer(): data_source_name="async-indexer-datasource", target_index_name="indexer-hotels" ) - async with indexers_client: - result = await indexers_client.create_indexer(indexer) + result = await indexers_client.create_indexer(indexer) print("Create new Indexer - async-sample-indexer") # [END create_indexer_async] async def list_indexers(): # [START list_indexer_async] - async with indexers_client: - result = await indexers_client.get_indexers() + result = await indexers_client.get_indexers() names = [x.name for x in result] print("Found {} Indexers in the service: {}".format(len(result), ", ".join(names))) # [END list_indexer_async] async def get_indexer(): # [START get_indexer_async] - async with indexers_client: - result = await indexers_client.get_indexer("async-sample-indexer") - print("Retrived Indexer 'async-sample-indexer'") - return result + result = await indexers_client.get_indexer("async-sample-indexer") + print("Retrived Indexer 'async-sample-indexer'") + return result # [END get_indexer_async] async def get_indexer_status(): # [START get_indexer_status_async] - async with indexers_client: - result = await indexers_client.get_indexer_status("async-sample-indexer") - print("Retrived Indexer status for 'async-sample-indexer'") - return result + result = await indexers_client.get_indexer_status("async-sample-indexer") + print("Retrived Indexer status for 'async-sample-indexer'") + return result # [END get_indexer_status_async] async def run_indexer(): # [START run_indexer_async] - async with indexers_client: - result = await indexers_client.run_indexer("async-sample-indexer") - print("Ran the Indexer 'async-sample-indexer'") - return result + result = await indexers_client.run_indexer("async-sample-indexer") + print("Ran the Indexer 'async-sample-indexer'") + return result # [END run_indexer_async] async def reset_indexer(): # [START reset_indexer_async] - async with indexers_client: - result = await indexers_client.reset_indexer("async-sample-indexer") - print("Reset the Indexer 'async-sample-indexer'") - return result + result = await indexers_client.reset_indexer("async-sample-indexer") + print("Reset the Indexer 'async-sample-indexer'") + return result # [END reset_indexer_async] async def delete_indexer(): # [START delete_indexer_async] - async with indexers_client: - indexers_client.delete_indexer("async-sample-indexer") + await indexers_client.delete_indexer("async-sample-indexer") print("Indexer 'async-sample-indexer' successfully deleted") # [END delete_indexer_async] diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_document_missing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_document_missing.yaml deleted file mode 100644 index 638fc8d31bf4..000000000000 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_document_missing.yaml +++ /dev/null @@ -1,29 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=none - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - 0CF3302F0AB74F3241C00534746EFD38 - method: GET - uri: https://searchd1281368.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 - response: - body: - string: '' - headers: - cache-control: no-cache - content-length: '0' - date: Wed, 29 Apr 2020 23:27:24 GMT - elapsed-time: '67' - expires: '-1' - pragma: no-cache - request-id: fb4d5aca-8a70-11ea-889b-8c8590507855 - strict-transport-security: max-age=15724800; includeSubDomains - status: - code: 404 - message: Not Found - url: https://searchd1281368.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 -version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_async_get_document_count.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_async_get_document_count.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_async_get_document_count.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_async_get_document_count.yaml index 75ec7200920a..00f0ee201238 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_async_get_document_count.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_async_get_document_count.yaml @@ -5,11 +5,11 @@ interactions: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 14143B3872694CCFBEFE981DD2C64829 + - E1D169F1983E4E54285FC62A876D0CD7 method: GET - uri: https://search22c31514.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search6dc91ab1.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF10" @@ -18,17 +18,17 @@ interactions: content-encoding: gzip content-length: '127' content-type: text/plain - date: Wed, 29 Apr 2020 23:26:21 GMT - elapsed-time: '79' + date: Thu, 13 Aug 2020 00:48:04 GMT + elapsed-time: '86' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d54bdc7a-8a70-11ea-889b-8c8590507855 + request-id: a581c6fc-dcfe-11ea-870d-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search22c31514.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + url: https://search6dc91ab1.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_document.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_get_document.yaml similarity index 79% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_document.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_get_document.yaml index c7a6f7bbd8f3..dcb91f373020 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_document.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_get_document.yaml @@ -5,11 +5,11 @@ interactions: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('1')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('1')?api-version=2020-06-30 response: body: string: '{"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in @@ -25,30 +25,30 @@ interactions: content-encoding: gzip content-length: '748' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT - elapsed-time: '83' + date: Thu, 13 Aug 2020 00:48:18 GMT + elapsed-time: '8' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f446d418-8a70-11ea-889b-8c8590507855 + request-id: ade76b82-dcfe-11ea-a6ce-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('1')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('1')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('2')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('2')?api-version=2020-06-30 response: body: string: '{"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel @@ -59,30 +59,30 @@ interactions: content-encoding: gzip content-length: '449' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT + date: Thu, 13 Aug 2020 00:48:18 GMT elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f462e662-8a70-11ea-889b-8c8590507855 + request-id: ae0023b6-dcfe-11ea-b685-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('2')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('2')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 response: body: string: '{"hotelId":"3","hotelName":"EconoStay","description":"Very popular @@ -92,30 +92,30 @@ interactions: content-encoding: gzip content-length: '438' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT + date: Thu, 13 Aug 2020 00:48:18 GMT elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f467db4a-8a70-11ea-889b-8c8590507855 + request-id: ae06b35a-dcfe-11ea-b4cf-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good @@ -125,30 +125,30 @@ interactions: content-encoding: gzip content-length: '422' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT + date: Thu, 13 Aug 2020 00:48:18 GMT elapsed-time: '3' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f46c83e8-8a70-11ea-889b-8c8590507855 + request-id: ae0ce139-dcfe-11ea-8b1f-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('5')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('5')?api-version=2020-06-30 response: body: string: '{"hotelId":"5","hotelName":"Comfy Place","description":"Another good @@ -158,30 +158,30 @@ interactions: content-encoding: gzip content-length: '424' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT - elapsed-time: '19' + date: Thu, 13 Aug 2020 00:48:18 GMT + elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f4711b06-8a70-11ea-889b-8c8590507855 + request-id: ae15e355-dcfe-11ea-a105-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('5')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('5')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('6')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('6')?api-version=2020-06-30 response: body: string: '{"hotelId":"6","hotelName":null,"description":"Surprisingly expensive. @@ -191,30 +191,30 @@ interactions: content-encoding: gzip content-length: '301' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT - elapsed-time: '6' + date: Thu, 13 Aug 2020 00:48:18 GMT + elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f477f8a4-8a70-11ea-889b-8c8590507855 + request-id: ae1d013f-dcfe-11ea-8192-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('6')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('6')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('7')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('7')?api-version=2020-06-30 response: body: string: '{"hotelId":"7","hotelName":"Modern Stay","description":"Modern architecture, @@ -225,30 +225,30 @@ interactions: content-encoding: gzip content-length: '357' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT - elapsed-time: '3' + date: Thu, 13 Aug 2020 00:48:18 GMT + elapsed-time: '42' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f47d0d80-8a70-11ea-889b-8c8590507855 + request-id: ae2342b9-dcfe-11ea-864a-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('7')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('7')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('8')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('8')?api-version=2020-06-30 response: body: string: '{"hotelId":"8","hotelName":null,"description":"Has some road noise @@ -260,30 +260,30 @@ interactions: content-encoding: gzip content-length: '411' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT - elapsed-time: '5' + date: Thu, 13 Aug 2020 00:48:18 GMT + elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f48192c4-8a70-11ea-889b-8c8590507855 + request-id: ae2f299c-dcfe-11ea-98f1-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('8')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('8')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('9')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('9')?api-version=2020-06-30 response: body: string: '{"hotelId":"9","hotelName":"Secret Point Motel","description":"The @@ -309,30 +309,30 @@ interactions: content-encoding: gzip content-length: '1061' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT - elapsed-time: '9' + date: Thu, 13 Aug 2020 00:48:18 GMT + elapsed-time: '7' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f4866e8e-8a70-11ea-889b-8c8590507855 + request-id: ae359219-dcfe-11ea-a67b-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('9')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('9')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AB0C0391C5B486DC4244CF967D7CAFD9 + - 74FCD2F6143353F0010ED6CB0CD3AB9E method: GET - uri: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('10')?api-version=2020-06-30 + uri: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('10')?api-version=2020-06-30 response: body: string: '{"hotelId":"10","hotelName":"Countryside Hotel","description":"Save @@ -354,17 +354,17 @@ interactions: content-encoding: gzip content-length: '938' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:13 GMT + date: Thu, 13 Aug 2020 00:48:18 GMT elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f48c128a-8a70-11ea-889b-8c8590507855 + request-id: ae3cbe20-dcfe-11ea-863a-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search41be100f.search.windows.net/indexes('drgqefsg')/docs('10')?api-version=2020-06-30 + url: https://search496815ac.search.windows.net/indexes('drgqefsg')/docs('10')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_get_document_missing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_get_document_missing.yaml new file mode 100644 index 000000000000..39e35788af06 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_basic_live_async.test_get_document_missing.yaml @@ -0,0 +1,29 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7B5FD022BEF2C7F9EE1F0FD374508A32 + method: GET + uri: https://search5c91905.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + content-length: '0' + date: Thu, 13 Aug 2020 00:48:32 GMT + elapsed-time: '127' + expires: '-1' + pragma: no-cache + request-id: b5fc0124-dcfe-11ea-bc26-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found + url: https://search5c91905.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_delete_documents_existing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_delete_documents_existing.yaml new file mode 100644 index 000000000000..aa97c421062d --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_delete_documents_existing.yaml @@ -0,0 +1,158 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - C393004957DFD14AF372231CA6DC83EE + method: GET + uri: https://searchada31f38.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchada31f38.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D848742ADB7686\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '1167' + content-type: application/json; odata.metadata=minimal + date: Mon, 24 Aug 2020 21:25:09 GMT + elapsed-time: '1426' + etag: W/"0x8D848742ADB7686" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 499c4764-e650-11ea-8085-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchada31f38.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}, {"hotelId": "4", + "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Content-Length: + - '103' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - C393004957DFD14AF372231CA6DC83EE + method: POST + uri: https://searchada31f38.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '190' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:25:10 GMT + elapsed-time: '183' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 4ab028ba-e650-11ea-99e7-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchada31f38.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - C393004957DFD14AF372231CA6DC83EE + method: GET + uri: https://searchada31f38.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF8" + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '126' + content-type: text/plain + date: Mon, 24 Aug 2020 21:25:13 GMT + elapsed-time: '70' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 4cb87dc9-e650-11ea-a408-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchada31f38.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - C393004957DFD14AF372231CA6DC83EE + method: GET + uri: https://searchada31f38.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + content-length: '0' + date: Mon, 24 Aug 2020 21:25:13 GMT + elapsed-time: '31' + expires: '-1' + pragma: no-cache + request-id: 4d00b26d-e650-11ea-88c1-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found + url: https://searchada31f38.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - C393004957DFD14AF372231CA6DC83EE + method: GET + uri: https://searchada31f38.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + content-length: '0' + date: Mon, 24 Aug 2020 21:25:14 GMT + elapsed-time: '4' + expires: '-1' + pragma: no-cache + request-id: 4d0c2a50-e650-11ea-bb87-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found + url: https://searchada31f38.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_delete_documents_missing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_delete_documents_missing.yaml new file mode 100644 index 000000000000..5247f190c5f6 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_delete_documents_missing.yaml @@ -0,0 +1,158 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 422AF819242118DEA0FE1AD480D442DC + method: GET + uri: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search8e5d1ec7.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D8487437CFECDA\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '1165' + content-type: application/json; odata.metadata=minimal + date: Mon, 24 Aug 2020 21:25:29 GMT + elapsed-time: '18' + etag: W/"0x8D8487437CFECDA" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 56860d28-e650-11ea-9699-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 +- request: + body: '{"value": [{"hotelId": "1000", "@search.action": "delete"}, {"hotelId": + "4", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Content-Length: + - '106' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 422AF819242118DEA0FE1AD480D442DC + method: POST + uri: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '193' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:25:30 GMT + elapsed-time: '85' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 56a21d18-e650-11ea-a143-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 422AF819242118DEA0FE1AD480D442DC + method: GET + uri: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF9" + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '126' + content-type: text/plain + date: Mon, 24 Aug 2020 21:25:33 GMT + elapsed-time: '4' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 589132c5-e650-11ea-85a9-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 422AF819242118DEA0FE1AD480D442DC + method: GET + uri: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + content-length: '0' + date: Mon, 24 Aug 2020 21:25:33 GMT + elapsed-time: '5' + expires: '-1' + pragma: no-cache + request-id: 58aa209c-e650-11ea-a838-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found + url: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 422AF819242118DEA0FE1AD480D442DC + method: GET + uri: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + content-length: '0' + date: Mon, 24 Aug 2020 21:25:33 GMT + elapsed-time: '4' + expires: '-1' + pragma: no-cache + request-id: 58b27ad8-e650-11ea-9b64-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found + url: https://search8e5d1ec7.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_documents_existing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_documents_existing.yaml new file mode 100644 index 000000000000..688da6b57a3c --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_documents_existing.yaml @@ -0,0 +1,170 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - BB14E6881849CAC82DB32284793F0904 + method: GET + uri: https://search8f411ed5.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search8f411ed5.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D8487443083C9C\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '1165' + content-type: application/json; odata.metadata=minimal + date: Mon, 24 Aug 2020 21:25:48 GMT + elapsed-time: '36' + etag: W/"0x8D8487443083C9C" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 61a3e095-e650-11ea-afd4-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8f411ed5.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 +- request: + body: '{"value": [{"hotelId": "3", "rating": 1, "@search.action": "merge"}, {"hotelId": + "4", "rating": 2, "@search.action": "merge"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Content-Length: + - '127' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - BB14E6881849CAC82DB32284793F0904 + method: POST + uri: https://search8f411ed5.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '190' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:25:49 GMT + elapsed-time: '69' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 61c75cc7-e650-11ea-9946-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8f411ed5.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - BB14E6881849CAC82DB32284793F0904 + method: GET + uri: https://search8f411ed5.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF10" + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '127' + content-type: text/plain + date: Mon, 24 Aug 2020 21:25:52 GMT + elapsed-time: '4' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 63b5af1e-e650-11ea-a60b-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8f411ed5.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - BB14E6881849CAC82DB32284793F0904 + method: GET + uri: https://search8f411ed5.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"3","hotelName":"EconoStay","description":"Very popular + hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '438' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:25:52 GMT + elapsed-time: '26' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 63cead87-e650-11ea-ac26-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8f411ed5.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - BB14E6881849CAC82DB32284793F0904 + method: GET + uri: https://search8f411ed5.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good + hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":2,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '422' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:25:52 GMT + elapsed-time: '4' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 63dc08b2-e650-11ea-9876-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8f411ed5.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_documents_missing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_documents_missing.yaml new file mode 100644 index 000000000000..c829f17245ae --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_documents_missing.yaml @@ -0,0 +1,165 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2C6634A450DBBD125113D2210DDBCF6F + method: GET + uri: https://search705e1e64.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search705e1e64.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D848744DA6E615\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '1166' + content-type: application/json; odata.metadata=minimal + date: Mon, 24 Aug 2020 21:26:08 GMT + elapsed-time: '1607' + etag: W/"0x8D848744DA6E615" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 6c40431c-e650-11ea-8a7d-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search705e1e64.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 +- request: + body: '{"value": [{"hotelId": "1000", "rating": 1, "@search.action": "merge"}, + {"hotelId": "4", "rating": 2, "@search.action": "merge"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Content-Length: + - '130' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2C6634A450DBBD125113D2210DDBCF6F + method: POST + uri: https://search705e1e64.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":false,"errorMessage":"Document not + found.","statusCode":404},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '225' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:26:08 GMT + elapsed-time: '91' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 6d99ae1d-e650-11ea-8f94-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 207 + message: Multi-Status + url: https://search705e1e64.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2C6634A450DBBD125113D2210DDBCF6F + method: GET + uri: https://search705e1e64.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF10" + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '127' + content-type: text/plain + date: Mon, 24 Aug 2020 21:26:12 GMT + elapsed-time: '3' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 6f8c6b62-e650-11ea-bd63-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search705e1e64.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2C6634A450DBBD125113D2210DDBCF6F + method: GET + uri: https://search705e1e64.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + content-length: '0' + date: Mon, 24 Aug 2020 21:26:12 GMT + elapsed-time: '3' + expires: '-1' + pragma: no-cache + request-id: 6faa1f71-e650-11ea-b7be-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found + url: https://search705e1e64.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2C6634A450DBBD125113D2210DDBCF6F + method: GET + uri: https://search705e1e64.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good + hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":2,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '422' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:26:12 GMT + elapsed-time: '9' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 6fb11e70-e650-11ea-92d5-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search705e1e64.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_or_upload_documents.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_or_upload_documents.yaml new file mode 100644 index 000000000000..3b25e0ccd99a --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_merge_or_upload_documents.yaml @@ -0,0 +1,169 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 171E932E3BBFEE28F2510E72AD8A5893 + method: GET + uri: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchadd71f2f.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D84874597A151A\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '1165' + content-type: application/json; odata.metadata=minimal + date: Mon, 24 Aug 2020 21:26:27 GMT + elapsed-time: '1176' + etag: W/"0x8D84874597A151A" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 780cf375-e650-11ea-a41f-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 +- request: + body: '{"value": [{"hotelId": "1000", "rating": 1, "@search.action": "mergeOrUpload"}, + {"hotelId": "4", "rating": 2, "@search.action": "mergeOrUpload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Content-Length: + - '146' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 171E932E3BBFEE28F2510E72AD8A5893 + method: POST + uri: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '196' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:26:27 GMT + elapsed-time: '81' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 78f12d4f-e650-11ea-ab74-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 171E932E3BBFEE28F2510E72AD8A5893 + method: GET + uri: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF11" + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '127' + content-type: text/plain + date: Mon, 24 Aug 2020 21:26:30 GMT + elapsed-time: '20' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 7ae10ba1-e650-11ea-af0c-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 171E932E3BBFEE28F2510E72AD8A5893 + method: GET + uri: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"1000","hotelName":null,"description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":1,"location":null,"address":null,"rooms":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '257' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:26:30 GMT + elapsed-time: '23' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 7afd128a-e650-11ea-955e-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 171E932E3BBFEE28F2510E72AD8A5893 + method: GET + uri: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good + hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":2,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '422' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:26:30 GMT + elapsed-time: '7' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 7b0752ba-e650-11ea-a244-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchadd71f2f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_index.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_upload_documents_existing.yaml similarity index 66% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_index.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_upload_documents_existing.yaml index e1be7ad466e5..118422f9e432 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_index.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_upload_documents_existing.yaml @@ -5,31 +5,101 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 094C5091C3BFA239AA6E652B4F4BCF9E + - 9CD88D01D7D0BF39E9B3BF55C8A7764C method: GET - uri: https://search32fc0fa1.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + uri: https://searchaf8d1f4a.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search32fc0fa1.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EC95653038C1\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchaf8d1f4a.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D84874650E7E43\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' headers: cache-control: no-cache content-encoding: gzip - content-length: '1125' + content-length: '1165' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:12 GMT - elapsed-time: '55' - etag: W/"0x8D7EC95653038C1" + date: Mon, 24 Aug 2020 21:26:45 GMT + elapsed-time: '36' + etag: W/"0x8D84874650E7E43" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 82e74360-8a71-11ea-889b-8c8590507855 + request-id: 83a85481-e650-11ea-b967-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search32fc0fa1.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + url: https://searchaf8d1f4a.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}, {"hotelId": "3", "rating": 4, "rooms": [], + "hotelName": "Redmond Hotel", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Content-Length: + - '214' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 9CD88D01D7D0BF39E9B3BF55C8A7764C + method: POST + uri: https://searchaf8d1f4a.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '196' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:26:46 GMT + elapsed-time: '76' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 83c873b2-e650-11ea-b1b2-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchaf8d1f4a.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 9CD88D01D7D0BF39E9B3BF55C8A7764C + method: GET + uri: https://searchaf8d1f4a.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF11" + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '127' + content-type: text/plain + date: Mon, 24 Aug 2020 21:26:49 GMT + elapsed-time: '6' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 85b74740-e650-11ea-9166-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchaf8d1f4a.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_upload_documents_new.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_upload_documents_new.yaml new file mode 100644 index 000000000000..4330b6604aad --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_batching_client_live_async.test_upload_documents_new.yaml @@ -0,0 +1,169 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4CB59F7222951B900FA4614EC07B7262 + method: GET + uri: https://search174a1d29.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search174a1d29.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D848746FCBDAA8\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '1166' + content-type: application/json; odata.metadata=minimal + date: Mon, 24 Aug 2020 21:27:03 GMT + elapsed-time: '22' + etag: W/"0x8D848746FCBDAA8" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 8e597f38-e650-11ea-8a77-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search174a1d29.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}, {"hotelId": "1001", "rating": 4, "rooms": + [], "hotelName": "Redmond Hotel", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Content-Length: + - '217' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4CB59F7222951B900FA4614EC07B7262 + method: POST + uri: https://search174a1d29.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"1001","status":true,"errorMessage":null,"statusCode":201}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '193' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:27:04 GMT + elapsed-time: '95' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 8e77b8ba-e650-11ea-b91a-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search174a1d29.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4CB59F7222951B900FA4614EC07B7262 + method: GET + uri: https://search174a1d29.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF12" + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '127' + content-type: text/plain + date: Mon, 24 Aug 2020 21:27:07 GMT + elapsed-time: '76' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 906b9955-e650-11ea-9ba2-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search174a1d29.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4CB59F7222951B900FA4614EC07B7262 + method: GET + uri: https://search174a1d29.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"1000","hotelName":"Azure Inn","description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":5,"location":null,"address":null,"rooms":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '267' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:27:07 GMT + elapsed-time: '24' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 908effda-e650-11ea-b321-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search174a1d29.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4CB59F7222951B900FA4614EC07B7262 + method: GET + uri: https://search174a1d29.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"1001","hotelName":"Redmond Hotel","description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":4,"location":null,"address":null,"rooms":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '268' + content-type: application/json; odata.metadata=none + date: Mon, 24 Aug 2020 21:27:07 GMT + elapsed-time: '5' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 90982799-e650-11ea-8c88-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search174a1d29.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_delete_documents_existing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_delete_documents_existing.yaml similarity index 65% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_delete_documents_existing.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_delete_documents_existing.yaml index d58b3e780199..0b1cf113b36a 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_delete_documents_existing.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_delete_documents_existing.yaml @@ -10,11 +10,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 2786DDE4C12B551D17578A94A8CAD1CC + - 3391A6F18E3308B06AB697FF9DC50B5C method: POST - uri: https://search37b1157f.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://search94f31ef0.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' @@ -23,30 +23,30 @@ interactions: content-encoding: gzip content-length: '190' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:26:44 GMT - elapsed-time: '77' + date: Thu, 13 Aug 2020 00:48:46 GMT + elapsed-time: '75' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: e30156a6-8a70-11ea-889b-8c8590507855 + request-id: be679720-dcfe-11ea-a578-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search37b1157f.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + url: https://search94f31ef0.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 2786DDE4C12B551D17578A94A8CAD1CC + - 3391A6F18E3308B06AB697FF9DC50B5C method: GET - uri: https://search37b1157f.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search94f31ef0.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF8" @@ -55,71 +55,71 @@ interactions: content-encoding: gzip content-length: '126' content-type: text/plain - date: Wed, 29 Apr 2020 23:26:46 GMT - elapsed-time: '2' + date: Thu, 13 Aug 2020 00:48:49 GMT + elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: e4e804f6-8a70-11ea-889b-8c8590507855 + request-id: c057f98c-dcfe-11ea-b80f-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search37b1157f.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + url: https://search94f31ef0.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 2786DDE4C12B551D17578A94A8CAD1CC + - 3391A6F18E3308B06AB697FF9DC50B5C method: GET - uri: https://search37b1157f.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + uri: https://search94f31ef0.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache content-length: '0' - date: Wed, 29 Apr 2020 23:26:46 GMT - elapsed-time: '4' + date: Thu, 13 Aug 2020 00:48:49 GMT + elapsed-time: '3' expires: '-1' pragma: no-cache - request-id: e4ec7fc2-8a70-11ea-889b-8c8590507855 + request-id: c05f4fa8-dcfe-11ea-b06b-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 404 message: Not Found - url: https://search37b1157f.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + url: https://search94f31ef0.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 2786DDE4C12B551D17578A94A8CAD1CC + - 3391A6F18E3308B06AB697FF9DC50B5C method: GET - uri: https://search37b1157f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://search94f31ef0.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache content-length: '0' - date: Wed, 29 Apr 2020 23:26:46 GMT - elapsed-time: '3' + date: Thu, 13 Aug 2020 00:48:49 GMT + elapsed-time: '4' expires: '-1' pragma: no-cache - request-id: e4f0cc26-8a70-11ea-889b-8c8590507855 + request-id: c065aff7-dcfe-11ea-aaf8-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 404 message: Not Found - url: https://search37b1157f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + url: https://search94f31ef0.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_delete_documents_missing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_delete_documents_missing.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_delete_documents_missing.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_delete_documents_missing.yaml index 8e7494fef5fb..3aa08f1d9aa2 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_delete_documents_missing.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_delete_documents_missing.yaml @@ -10,11 +10,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C3AE890D3C892CC8F95D58D7DB853379 + - 498FBD9B0ED3F70206830E2CC5468850 method: POST - uri: https://search2224150e.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://search75f51e7f.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' @@ -23,30 +23,30 @@ interactions: content-encoding: gzip content-length: '193' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:26:57 GMT - elapsed-time: '107' + date: Thu, 13 Aug 2020 00:49:02 GMT + elapsed-time: '127' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: eb538018-8a70-11ea-889b-8c8590507855 + request-id: c816b2f5-dcfe-11ea-8373-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search2224150e.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + url: https://search75f51e7f.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C3AE890D3C892CC8F95D58D7DB853379 + - 498FBD9B0ED3F70206830E2CC5468850 method: GET - uri: https://search2224150e.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search75f51e7f.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF9" @@ -55,71 +55,71 @@ interactions: content-encoding: gzip content-length: '126' content-type: text/plain - date: Wed, 29 Apr 2020 23:27:01 GMT - elapsed-time: '3' + date: Thu, 13 Aug 2020 00:49:05 GMT + elapsed-time: '12' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: ed3c47fc-8a70-11ea-889b-8c8590507855 + request-id: ca127f02-dcfe-11ea-855f-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search2224150e.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + url: https://search75f51e7f.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C3AE890D3C892CC8F95D58D7DB853379 + - 498FBD9B0ED3F70206830E2CC5468850 method: GET - uri: https://search2224150e.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://search75f51e7f.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache content-length: '0' - date: Wed, 29 Apr 2020 23:27:01 GMT - elapsed-time: '4' + date: Thu, 13 Aug 2020 00:49:05 GMT + elapsed-time: '10' expires: '-1' pragma: no-cache - request-id: ed40a586-8a70-11ea-889b-8c8590507855 + request-id: ca1c8757-dcfe-11ea-810f-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 404 message: Not Found - url: https://search2224150e.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + url: https://search75f51e7f.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C3AE890D3C892CC8F95D58D7DB853379 + - 498FBD9B0ED3F70206830E2CC5468850 method: GET - uri: https://search2224150e.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://search75f51e7f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache content-length: '0' - date: Wed, 29 Apr 2020 23:27:01 GMT - elapsed-time: '17' + date: Thu, 13 Aug 2020 00:49:05 GMT + elapsed-time: '7' expires: '-1' pragma: no-cache - request-id: ed44f6b8-8a70-11ea-889b-8c8590507855 + request-id: ca247946-dcfe-11ea-8e8e-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 404 message: Not Found - url: https://search2224150e.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + url: https://search75f51e7f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_documents_existing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_documents_existing.yaml similarity index 72% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_documents_existing.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_documents_existing.yaml index 1b20e123c65c..a121b5946df2 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_documents_existing.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_documents_existing.yaml @@ -10,11 +10,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 997EA709A1A4230F4F928B43047A5B90 + - 2DBF2F900348DFBBD4C811F627BA1355 method: POST - uri: https://search2308151c.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://search76d91e8d.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' @@ -23,30 +23,30 @@ interactions: content-encoding: gzip content-length: '190' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:28:43 GMT - elapsed-time: '93' + date: Thu, 13 Aug 2020 00:49:18 GMT + elapsed-time: '152' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 2a1fec32-8a71-11ea-889b-8c8590507855 + request-id: d1e6a842-dcfe-11ea-b0e4-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search2308151c.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + url: https://search76d91e8d.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 997EA709A1A4230F4F928B43047A5B90 + - 2DBF2F900348DFBBD4C811F627BA1355 method: GET - uri: https://search2308151c.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search76d91e8d.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF10" @@ -55,30 +55,30 @@ interactions: content-encoding: gzip content-length: '127' content-type: text/plain - date: Wed, 29 Apr 2020 23:28:45 GMT - elapsed-time: '4' + date: Thu, 13 Aug 2020 00:49:22 GMT + elapsed-time: '8' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 2c058994-8a71-11ea-889b-8c8590507855 + request-id: d3e0ce66-dcfe-11ea-93ba-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search2308151c.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + url: https://search76d91e8d.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 997EA709A1A4230F4F928B43047A5B90 + - 2DBF2F900348DFBBD4C811F627BA1355 method: GET - uri: https://search2308151c.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + uri: https://search76d91e8d.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 response: body: string: '{"hotelId":"3","hotelName":"EconoStay","description":"Very popular @@ -88,30 +88,30 @@ interactions: content-encoding: gzip content-length: '438' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:28:45 GMT - elapsed-time: '11' + date: Thu, 13 Aug 2020 00:49:22 GMT + elapsed-time: '9' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 2c09faec-8a71-11ea-889b-8c8590507855 + request-id: d3e9cd56-dcfe-11ea-916e-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search2308151c.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + url: https://search76d91e8d.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 997EA709A1A4230F4F928B43047A5B90 + - 2DBF2F900348DFBBD4C811F627BA1355 method: GET - uri: https://search2308151c.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://search76d91e8d.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good @@ -121,17 +121,17 @@ interactions: content-encoding: gzip content-length: '422' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:28:45 GMT + date: Thu, 13 Aug 2020 00:49:22 GMT elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 2c0f8278-8a71-11ea-889b-8c8590507855 + request-id: d3f120e8-dcfe-11ea-a7ce-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search2308151c.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + url: https://search76d91e8d.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_documents_missing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_documents_missing.yaml similarity index 63% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_documents_missing.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_documents_missing.yaml index 214ddd7d8fa2..cd6583be688f 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_documents_missing.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_documents_missing.yaml @@ -10,11 +10,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1B247C95470A5FEF7DE61B9207A271A9 + - 066D569909AEA1532B1852FFFF421EDD method: POST - uri: https://searchdde14ab.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://search583e1e1c.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":false,"errorMessage":"Document not @@ -24,30 +24,30 @@ interactions: content-encoding: gzip content-length: '225' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:28:57 GMT - elapsed-time: '202' + date: Thu, 13 Aug 2020 00:49:34 GMT + elapsed-time: '117' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 32e4ec96-8a71-11ea-889b-8c8590507855 + request-id: db89da53-dcfe-11ea-91ec-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 207 message: Multi-Status - url: https://searchdde14ab.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + url: https://search583e1e1c.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1B247C95470A5FEF7DE61B9207A271A9 + - 066D569909AEA1532B1852FFFF421EDD method: GET - uri: https://searchdde14ab.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search583e1e1c.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF10" @@ -56,57 +56,57 @@ interactions: content-encoding: gzip content-length: '127' content-type: text/plain - date: Wed, 29 Apr 2020 23:29:01 GMT - elapsed-time: '4' + date: Thu, 13 Aug 2020 00:49:37 GMT + elapsed-time: '8' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 34dc2c26-8a71-11ea-889b-8c8590507855 + request-id: dd83e4c1-dcfe-11ea-9ba2-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchdde14ab.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + url: https://search583e1e1c.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1B247C95470A5FEF7DE61B9207A271A9 + - 066D569909AEA1532B1852FFFF421EDD method: GET - uri: https://searchdde14ab.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://search583e1e1c.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache content-length: '0' - date: Wed, 29 Apr 2020 23:29:01 GMT + date: Thu, 13 Aug 2020 00:49:37 GMT elapsed-time: '3' expires: '-1' pragma: no-cache - request-id: 34e0f814-8a71-11ea-889b-8c8590507855 + request-id: dd8c67bf-dcfe-11ea-9e5d-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 404 message: Not Found - url: https://searchdde14ab.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + url: https://search583e1e1c.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1B247C95470A5FEF7DE61B9207A271A9 + - 066D569909AEA1532B1852FFFF421EDD method: GET - uri: https://searchdde14ab.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://search583e1e1c.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good @@ -116,17 +116,17 @@ interactions: content-encoding: gzip content-length: '422' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:29:01 GMT - elapsed-time: '8' + date: Thu, 13 Aug 2020 00:49:37 GMT + elapsed-time: '12' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 34e5f63e-8a71-11ea-889b-8c8590507855 + request-id: dd931559-dcfe-11ea-8b4b-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchdde14ab.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + url: https://search583e1e1c.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_or_upload_documents.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_or_upload_documents.yaml similarity index 71% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_or_upload_documents.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_or_upload_documents.yaml index 5f0e9b56e4be..661f92ce7bc8 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_merge_or_upload_documents.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_merge_or_upload_documents.yaml @@ -10,11 +10,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - DF3A01F67870E9C3EA75AA1D1DCE0A9C + - ACFBBBE58E2E9AC328B5DD625631F637 method: POST - uri: https://search37e51576.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://search95271ee7.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' @@ -23,30 +23,30 @@ interactions: content-encoding: gzip content-length: '196' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:29:12 GMT - elapsed-time: '88' + date: Thu, 13 Aug 2020 00:49:51 GMT + elapsed-time: '99' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 3c2fa872-8a71-11ea-889b-8c8590507855 + request-id: e533126e-dcfe-11ea-9a3e-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search37e51576.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + url: https://search95271ee7.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - DF3A01F67870E9C3EA75AA1D1DCE0A9C + - ACFBBBE58E2E9AC328B5DD625631F637 method: GET - uri: https://search37e51576.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search95271ee7.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF11" @@ -55,30 +55,30 @@ interactions: content-encoding: gzip content-length: '127' content-type: text/plain - date: Wed, 29 Apr 2020 23:29:16 GMT - elapsed-time: '4' + date: Thu, 13 Aug 2020 00:49:54 GMT + elapsed-time: '5' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 3e151c4e-8a71-11ea-889b-8c8590507855 + request-id: e727809e-dcfe-11ea-bd06-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search37e51576.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + url: https://search95271ee7.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - DF3A01F67870E9C3EA75AA1D1DCE0A9C + - ACFBBBE58E2E9AC328B5DD625631F637 method: GET - uri: https://search37e51576.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://search95271ee7.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '{"hotelId":"1000","hotelName":null,"description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":1,"location":null,"address":null,"rooms":[]}' @@ -87,30 +87,30 @@ interactions: content-encoding: gzip content-length: '257' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:29:16 GMT - elapsed-time: '6' + date: Thu, 13 Aug 2020 00:49:54 GMT + elapsed-time: '7' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 3e19a96c-8a71-11ea-889b-8c8590507855 + request-id: e730b480-dcfe-11ea-bd43-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search37e51576.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + url: https://search95271ee7.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - DF3A01F67870E9C3EA75AA1D1DCE0A9C + - ACFBBBE58E2E9AC328B5DD625631F637 method: GET - uri: https://search37e51576.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://search95271ee7.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good @@ -120,17 +120,17 @@ interactions: content-encoding: gzip content-length: '422' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:29:16 GMT - elapsed-time: '5' + date: Thu, 13 Aug 2020 00:49:54 GMT + elapsed-time: '7' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 3e1e857c-8a71-11ea-889b-8c8590507855 + request-id: e7390f74-dcfe-11ea-aa41-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search37e51576.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + url: https://search95271ee7.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_upload_documents_existing.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_upload_documents_existing.yaml similarity index 75% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_upload_documents_existing.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_upload_documents_existing.yaml index 073a180694d7..08fd599f2a7e 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_upload_documents_existing.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_upload_documents_existing.yaml @@ -11,11 +11,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F47F7007381641D41B993D937AF79882 + - D08C4C8C1931295AF7863839E9A38C93 method: POST - uri: https://search399b1591.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://search96dd1f02.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' @@ -24,17 +24,17 @@ interactions: content-encoding: gzip content-length: '196' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:29:44 GMT - elapsed-time: '87' + date: Thu, 13 Aug 2020 00:50:07 GMT + elapsed-time: '91' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 4e984b4a-8a71-11ea-889b-8c8590507855 + request-id: ee777705-dcfe-11ea-afdc-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search399b1591.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + url: https://search96dd1f02.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_upload_documents_new.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_upload_documents_new.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_upload_documents_new.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_upload_documents_new.yaml index 554118c0269b..7008e8579ba4 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_upload_documents_new.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_index_document_live_async.test_upload_documents_new.yaml @@ -11,11 +11,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 0A3266A57EF6CCD9A3923E5ED929B490 + - 22744D005A681EF9B4F46F6B9CF06B15 method: POST - uri: https://searchd1e61370.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://search21ce1.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"1001","status":true,"errorMessage":null,"statusCode":201}]}' @@ -24,30 +24,30 @@ interactions: content-encoding: gzip content-length: '193' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:29:56 GMT - elapsed-time: '285' + date: Thu, 13 Aug 2020 00:50:19 GMT + elapsed-time: '93' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 55e1e26c-8a71-11ea-889b-8c8590507855 + request-id: f6491888-dcfe-11ea-be2a-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchd1e61370.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + url: https://search21ce1.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 0A3266A57EF6CCD9A3923E5ED929B490 + - 22744D005A681EF9B4F46F6B9CF06B15 method: GET - uri: https://searchd1e61370.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search21ce1.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF12" @@ -56,30 +56,30 @@ interactions: content-encoding: gzip content-length: '127' content-type: text/plain - date: Wed, 29 Apr 2020 23:30:00 GMT - elapsed-time: '4' + date: Thu, 13 Aug 2020 00:50:23 GMT + elapsed-time: '5' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 57f58fcc-8a71-11ea-889b-8c8590507855 + request-id: f83cb019-dcfe-11ea-9940-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchd1e61370.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + url: https://search21ce1.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 0A3266A57EF6CCD9A3923E5ED929B490 + - 22744D005A681EF9B4F46F6B9CF06B15 method: GET - uri: https://searchd1e61370.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://search21ce1.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '{"hotelId":"1000","hotelName":"Azure Inn","description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":5,"location":null,"address":null,"rooms":[]}' @@ -88,30 +88,30 @@ interactions: content-encoding: gzip content-length: '267' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:30:00 GMT - elapsed-time: '7' + date: Thu, 13 Aug 2020 00:50:23 GMT + elapsed-time: '8' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 57fa16c8-8a71-11ea-889b-8c8590507855 + request-id: f843b20e-dcfe-11ea-ae05-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchd1e61370.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + url: https://search21ce1.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=none User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 0A3266A57EF6CCD9A3923E5ED929B490 + - 22744D005A681EF9B4F46F6B9CF06B15 method: GET - uri: https://searchd1e61370.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 + uri: https://search21ce1.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 response: body: string: '{"hotelId":"1001","hotelName":"Redmond Hotel","description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":4,"location":null,"address":null,"rooms":[]}' @@ -120,17 +120,17 @@ interactions: content-encoding: gzip content-length: '268' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:30:00 GMT + date: Thu, 13 Aug 2020 00:50:23 GMT elapsed-time: '4' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 57fef116-8a71-11ea-889b-8c8590507855 + request-id: f84c8cf9-dcfe-11ea-9d53-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchd1e61370.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 + url: https://search21ce1.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_autocomplete.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_autocomplete.yaml similarity index 70% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_autocomplete.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_autocomplete.yaml index a85f05a28ae3..79ca923d4561 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_autocomplete.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_autocomplete.yaml @@ -9,11 +9,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 74E424E128C2B04981151C353961D673 + - C36EFCF13553CBE5D03786B0CBF22E7F method: POST - uri: https://search42ca1023.search.windows.net/indexes('drgqefsg')/docs/search.post.autocomplete?api-version=2020-06-30 + uri: https://search62221634.search.windows.net/indexes('drgqefsg')/docs/search.post.autocomplete?api-version=2020-06-30 response: body: string: '{"value":[{"text":"motel","queryPlusText":"motel"}]}' @@ -22,17 +22,17 @@ interactions: content-encoding: gzip content-length: '163' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:26:32 GMT - elapsed-time: '64' + date: Thu, 13 Aug 2020 00:50:35 GMT + elapsed-time: '169' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: dc60bb98-8a70-11ea-889b-8c8590507855 + request-id: ffae0b31-dcfe-11ea-86fb-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search42ca1023.search.windows.net/indexes('drgqefsg')/docs/search.post.autocomplete?api-version=2020-06-30 + url: https://search62221634.search.windows.net/indexes('drgqefsg')/docs/search.post.autocomplete?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_counts.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_counts.yaml similarity index 87% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_counts.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_counts.yaml index 9caebe3eeb7e..297207f2df9c 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_counts.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_counts.yaml @@ -9,14 +9,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 748B4ADAF1B19F896323F9333355C5BF + - CCFA1BDF8F6ADBAF6985E11467AC55D4 method: POST - uri: https://search97b31221.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://searchd5601832.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -29,12 +29,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -42,7 +42,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -63,21 +63,21 @@ interactions: headers: cache-control: no-cache content-encoding: gzip - content-length: '2377' + content-length: '2378' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:36 GMT - elapsed-time: '91' + date: Thu, 13 Aug 2020 00:50:48 GMT + elapsed-time: '80' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 02404c5c-8a71-11ea-889b-8c8590507855 + request-id: 076bfa6f-dcff-11ea-a4d0-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search97b31221.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://searchd5601832.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 - request: body: '{"count": true, "search": "hotel"}' headers: @@ -88,14 +88,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 748B4ADAF1B19F896323F9333355C5BF + - CCFA1BDF8F6ADBAF6985E11467AC55D4 method: POST - uri: https://search97b31221.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://searchd5601832.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"@odata.count":7,"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"@odata.count":7,"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -108,12 +108,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -121,7 +121,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -142,19 +142,19 @@ interactions: headers: cache-control: no-cache content-encoding: gzip - content-length: '2388' + content-length: '2387' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:36 GMT - elapsed-time: '8' + date: Thu, 13 Aug 2020 00:50:48 GMT + elapsed-time: '7' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 025ce056-8a71-11ea-889b-8c8590507855 + request-id: 0791457d-dcff-11ea-b32e-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search97b31221.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://searchd5601832.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_coverage.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_coverage.yaml similarity index 86% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_coverage.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_coverage.yaml index ec17e72c1dae..b89af6da91b1 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_coverage.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_coverage.yaml @@ -9,14 +9,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 621610911B3D9D8BC6F4D01ACBF7CEDF + - D9D7518865F29F9D18A16E99021502D3 method: POST - uri: https://searchbcc312d1.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search6a118e2.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -29,12 +29,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -42,7 +42,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -63,21 +63,21 @@ interactions: headers: cache-control: no-cache content-encoding: gzip - content-length: '2377' + content-length: '2378' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:47 GMT - elapsed-time: '19' + date: Thu, 13 Aug 2020 00:51:15 GMT + elapsed-time: '131' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 09345ed6-8a71-11ea-889b-8c8590507855 + request-id: 17dfce43-dcff-11ea-ae68-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchbcc312d1.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://search6a118e2.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 - request: body: '{"minimumCoverage": 50.0, "search": "hotel"}' headers: @@ -88,14 +88,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 621610911B3D9D8BC6F4D01ACBF7CEDF + - D9D7518865F29F9D18A16E99021502D3 method: POST - uri: https://searchbcc312d1.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search6a118e2.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"@search.coverage":100.0,"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"@search.coverage":100.0,"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -108,12 +108,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -121,7 +121,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -142,19 +142,19 @@ interactions: headers: cache-control: no-cache content-encoding: gzip - content-length: '2389' + content-length: '2391' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:47 GMT + date: Thu, 13 Aug 2020 00:51:15 GMT elapsed-time: '6' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 0948655c-8a71-11ea-889b-8c8590507855 + request-id: 18115069-dcff-11ea-b642-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchbcc312d1.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://search6a118e2.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_facets_none.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_facets_none.yaml similarity index 67% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_facets_none.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_facets_none.yaml index 3e149ec8f780..0b3e25bb223b 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_facets_none.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_facets_none.yaml @@ -9,20 +9,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B014CAE409517E3739DCEE8A22A1F630 + - 3FD25918E9CC3953396A9195454BF9B4 method: POST - uri: https://searchf724140a.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search53351a1b.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.2423066,"hotelName":"Countryside Hotel","description":"Save + string: '{"value":[{"@search.score":2.3832736,"hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center - and more.","category":"Budget"},{"@search.score":0.19169211,"hotelName":"EconoStay","description":"Very - popular hotel in town","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Express - Rooms","description":"Pretty good hotel","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Comfy - Place","description":"Another good hotel","category":"Budget"},{"@search.score":0.15335369,"hotelName":"Fancy + and more.","category":"Budget"},{"@search.score":1.0225849,"hotelName":"EconoStay","description":"Very + popular hotel in town","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Express + Rooms","description":"Pretty good hotel","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Comfy + Place","description":"Another good hotel","category":"Budget"},{"@search.score":0.7987757,"hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -30,19 +30,19 @@ interactions: headers: cache-control: no-cache content-encoding: gzip - content-length: '609' + content-length: '611' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:27:58 GMT - elapsed-time: '69' + date: Thu, 13 Aug 2020 00:51:29 GMT + elapsed-time: '79' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 0f4de288-8a71-11ea-889b-8c8590507855 + request-id: 1f9076c6-dcff-11ea-8c83-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchf724140a.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://search53351a1b.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_facets_result.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_facets_result.yaml similarity index 73% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_facets_result.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_facets_result.yaml index 8bc9ba1ba329..6eba846e4f5c 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_facets_result.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_facets_result.yaml @@ -9,20 +9,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6DF34EBCEF728149C24DAA6B4F57A090 + - E865F201C870227D90656F0155CD2A85 method: POST - uri: https://search20bd14f9.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search88e11b0a.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"@search.facets":{"category":[{"count":4,"value":"Budget"},{"count":1,"value":"Luxury"}]},"value":[{"@search.score":0.2423066,"hotelName":"Countryside + string: '{"@search.facets":{"category":[{"count":4,"value":"Budget"},{"count":1,"value":"Luxury"}]},"value":[{"@search.score":2.3832736,"hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling - alley, fitness center and more.","category":"Budget"},{"@search.score":0.19169211,"hotelName":"EconoStay","description":"Very - popular hotel in town","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Express - Rooms","description":"Pretty good hotel","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Comfy - Place","description":"Another good hotel","category":"Budget"},{"@search.score":0.15335369,"hotelName":"Fancy + alley, fitness center and more.","category":"Budget"},{"@search.score":1.0225849,"hotelName":"EconoStay","description":"Very + popular hotel in town","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Express + Rooms","description":"Pretty good hotel","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Comfy + Place","description":"Another good hotel","category":"Budget"},{"@search.score":0.7987757,"hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -32,17 +32,17 @@ interactions: content-encoding: gzip content-length: '646' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:28:09 GMT - elapsed-time: '76' + date: Thu, 13 Aug 2020 00:51:40 GMT + elapsed-time: '112' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 15c6c256-8a71-11ea-889b-8c8590507855 + request-id: 267399d7-dcff-11ea-8bfd-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search20bd14f9.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://search88e11b0a.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_filter.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_filter.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_filter.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_filter.yaml index 12c3a1eb6790..246fc3d77294 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_filter.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_filter.yaml @@ -10,36 +10,36 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E6523D6B24E3D5FF5244EA40EE2C8867 + - 9A2A7B65F906D3662A24B969D97BC484 method: POST - uri: https://search9776120b.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://searchd523181c.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.19169211,"hotelName":"Express Rooms","description":"Pretty - good hotel","category":"Budget"},{"@search.score":0.19169211,"hotelName":"EconoStay","description":"Very - popular hotel in town","category":"Budget"},{"@search.score":0.2423066,"hotelName":"Countryside + string: '{"value":[{"@search.score":1.0225849,"hotelName":"Express Rooms","description":"Pretty + good hotel","category":"Budget"},{"@search.score":1.0225849,"hotelName":"EconoStay","description":"Very + popular hotel in town","category":"Budget"},{"@search.score":2.3832736,"hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling - alley, fitness center and more.","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Comfy + alley, fitness center and more.","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Comfy Place","description":"Another good hotel","category":"Budget"}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '441' + content-length: '442' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:28:19 GMT - elapsed-time: '59' + date: Thu, 13 Aug 2020 00:51:51 GMT + elapsed-time: '128' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 1c93fe8c-8a71-11ea-889b-8c8590507855 + request-id: 2d06810b-dcff-11ea-b52b-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search9776120b.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://searchd523181c.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_simple.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_simple.yaml similarity index 86% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_simple.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_simple.yaml index 33fd52d18e58..2f2f040fda9e 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_get_search_simple.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_get_search_simple.yaml @@ -9,14 +9,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7AB8FFBA7B9EDE0DF1F968DDEDB0DE83 + - 63E7EE361C80BC2A62B1D2E078439FE1 method: POST - uri: https://search97bd120f.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://searchd56a1820.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -29,12 +29,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -42,7 +42,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -63,21 +63,21 @@ interactions: headers: cache-control: no-cache content-encoding: gzip - content-length: '2377' + content-length: '2378' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:28:31 GMT - elapsed-time: '125' + date: Thu, 13 Aug 2020 00:52:04 GMT + elapsed-time: '101' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 2345b16c-8a71-11ea-889b-8c8590507855 + request-id: 34445953-dcff-11ea-8a2d-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search97bd120f.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://searchd56a1820.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 - request: body: '{"search": "motel"}' headers: @@ -88,16 +88,16 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7AB8FFBA7B9EDE0DF1F968DDEDB0DE83 + - 63E7EE361C80BC2A62B1D2E078439FE1 method: POST - uri: https://search97bd120f.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://searchd56a1820.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":1.2368374,"hotelId":"2","hotelName":"Roach + string: '{"value":[{"@search.score":8.376183,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.24176063,"hotelId":"9","hotelName":"Secret + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.8858137,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -118,19 +118,19 @@ interactions: headers: cache-control: no-cache content-encoding: gzip - content-length: '1271' + content-length: '1269' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:28:31 GMT - elapsed-time: '7' + date: Thu, 13 Aug 2020 00:52:04 GMT + elapsed-time: '6' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 236960f8-8a71-11ea-889b-8c8590507855 + request-id: 346d3535-dcff-11ea-bc81-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search97bd120f.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + url: https://searchd56a1820.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_suggest.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_suggest.yaml similarity index 72% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_suggest.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_suggest.yaml index 0c18edad7137..e88ea75507ce 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_index_live_async.test_suggest.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_client_search_live_async.test_suggest.yaml @@ -9,11 +9,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7399C73616B0BBA23C477AA593479766 + - 3DC7D1871A3DCDFAD969610FEF56E754 method: POST - uri: https://searchf6640e13.search.windows.net/indexes('drgqefsg')/docs/search.post.suggest?api-version=2020-06-30 + uri: https://searchf7671424.search.windows.net/indexes('drgqefsg')/docs/search.post.suggest?api-version=2020-06-30 response: body: string: '{"value":[{"@search.text":"Cheapest hotel in town. Infact, a motel.","hotelId":"2"},{"@search.text":"Secret @@ -23,17 +23,17 @@ interactions: content-encoding: gzip content-length: '216' content-type: application/json; odata.metadata=none - date: Wed, 29 Apr 2020 23:29:27 GMT - elapsed-time: '76' + date: Thu, 13 Aug 2020 00:52:16 GMT + elapsed-time: '52' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 44aeb0c4-8a71-11ea-889b-8c8590507855 + request-id: 3bc59e59-dcff-11ea-9d78-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchf6640e13.search.windows.net/indexes('drgqefsg')/docs/search.post.suggest?api-version=2020-06-30 + url: https://searchf7671424.search.windows.net/indexes('drgqefsg')/docs/search.post.suggest?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_datasource_async.yaml similarity index 66% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_datasource_async.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_datasource_async.yaml index b445497d0865..8bdcb726ccdf 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_datasource_async.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_datasource_async.yaml @@ -11,30 +11,30 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - A4A43DF80FCD8A1D7FC1AEE02327E6B9 + - EFC4B188C8D10EBFAB62ED35CBA650BB method: POST - uri: https://search386b1565.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchb0841f28.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search386b1565.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95A74EC6BF\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchb0841f28.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2327FCCA36\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '370' + content-length: '391' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:59 GMT - elapsed-time: '32' - etag: W/"0x8D7EC95A74EC6BF" + date: Thu, 13 Aug 2020 00:52:30 GMT + elapsed-time: '57' + etag: W/"0x8D83F2327FCCA36" expires: '-1' - location: https://search386b1565.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://searchb0841f28.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: c2e8e3ec-8a71-11ea-889b-8c8590507855 + request-id: 43a9a2ba-dcff-11ea-a39b-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search386b1565.search.windows.net/datasources?api-version=2020-06-30 + url: https://searchb0841f28.search.windows.net/datasources?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_or_update_datasource_async.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_datasource_async.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_or_update_datasource_async.yaml index 47d61b2aeb37..88bbe1f1340e 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_datasource_async.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_or_update_datasource_async.yaml @@ -11,64 +11,64 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F19957B5A218B7469E9FA58A5466BFB5 + - 12E8412EFF59E0322E8D3380F735F498 method: POST - uri: https://search251c1987.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchfed3234a.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search251c1987.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95AE9030E5\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchfed3234a.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F232FFBB0F2\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '370' + content-length: '391' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:11 GMT - elapsed-time: '63' - etag: W/"0x8D7EC95AE9030E5" + date: Thu, 13 Aug 2020 00:52:43 GMT + elapsed-time: '50' + etag: W/"0x8D83F232FFBB0F2" expires: '-1' - location: https://search251c1987.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://searchfed3234a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: ca249688-8a71-11ea-889b-8c8590507855 + request-id: 4ba6d9bf-dcff-11ea-b1ae-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search251c1987.search.windows.net/datasources?api-version=2020-06-30 + url: https://searchfed3234a.search.windows.net/datasources?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F19957B5A218B7469E9FA58A5466BFB5 + - 12E8412EFF59E0322E8D3380F735F498 method: GET - uri: https://search251c1987.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchfed3234a.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search251c1987.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D7EC95AE9030E5\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}]}' + string: '{"@odata.context":"https://searchfed3234a.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F232FFBB0F2\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '365' + content-length: '375' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:11 GMT - elapsed-time: '10' + date: Thu, 13 Aug 2020 00:52:43 GMT + elapsed-time: '18' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: ca3d3058-8a71-11ea-889b-8c8590507855 + request-id: 4bc990bb-dcff-11ea-9f13-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search251c1987.search.windows.net/datasources?api-version=2020-06-30 + url: https://searchfed3234a.search.windows.net/datasources?api-version=2020-06-30 - request: body: '{"name": "sample-datasource", "description": "updated", "type": "azureblob", "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, @@ -83,96 +83,96 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F19957B5A218B7469E9FA58A5466BFB5 + - 12E8412EFF59E0322E8D3380F735F498 method: PUT - uri: https://search251c1987.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://searchfed3234a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search251c1987.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95AE9F4EDD\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchfed3234a.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2330124A4F\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '365' + content-length: '375' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:11 GMT - elapsed-time: '36' - etag: W/"0x8D7EC95AE9F4EDD" + date: Thu, 13 Aug 2020 00:52:43 GMT + elapsed-time: '31' + etag: W/"0x8D83F2330124A4F" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: ca42a4ac-8a71-11ea-889b-8c8590507855 + request-id: 4bd42600-dcff-11ea-b93e-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search251c1987.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + url: https://searchfed3234a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F19957B5A218B7469E9FA58A5466BFB5 + - 12E8412EFF59E0322E8D3380F735F498 method: GET - uri: https://search251c1987.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchfed3234a.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search251c1987.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D7EC95AE9F4EDD\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}]}' + string: '{"@odata.context":"https://searchfed3234a.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F2330124A4F\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '371' + content-length: '381' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:11 GMT - elapsed-time: '41' + date: Thu, 13 Aug 2020 00:52:43 GMT + elapsed-time: '24' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: ca4c4804-8a71-11ea-889b-8c8590507855 + request-id: 4be059d0-dcff-11ea-bdcf-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search251c1987.search.windows.net/datasources?api-version=2020-06-30 + url: https://searchfed3234a.search.windows.net/datasources?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F19957B5A218B7469E9FA58A5466BFB5 + - 12E8412EFF59E0322E8D3380F735F498 method: GET - uri: https://search251c1987.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://searchfed3234a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search251c1987.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95AE9F4EDD\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchfed3234a.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2330124A4F\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '365' + content-length: '375' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:11 GMT + date: Thu, 13 Aug 2020 00:52:43 GMT elapsed-time: '7' - etag: W/"0x8D7EC95AE9F4EDD" + etag: W/"0x8D83F2330124A4F" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: ca566f96-8a71-11ea-889b-8c8590507855 + request-id: 4bea1834-dcff-11ea-baea-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search251c1987.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + url: https://searchfed3234a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_or_update_datasource_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_or_update_datasource_if_unchanged.yaml new file mode 100644 index 000000000000..7346dab984bb --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_create_or_update_datasource_if_unchanged.yaml @@ -0,0 +1,124 @@ +interactions: +- request: + body: '{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4215BA0DB3F8B75773F60A6FE9968482 + method: POST + uri: https://search802607.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search802607.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2337E81DC2\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '389' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:52:56 GMT + elapsed-time: '120' + etag: W/"0x8D83F2337E81DC2" + expires: '-1' + location: https://search802607.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 538a66c3-dcff-11ea-aa67-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search802607.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "sample-datasource", "description": "updated", "type": "azureblob", + "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '345' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4215BA0DB3F8B75773F60A6FE9968482 + method: PUT + uri: https://search802607.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search802607.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2337F5B4CB\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '374' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:52:56 GMT + elapsed-time: '57' + etag: W/"0x8D83F2337F5B4CB" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 53b62250-dcff-11ea-9165-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search802607.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 +- request: + body: '{"name": "sample-datasource", "description": "changed", "type": "azureblob", + "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}, "@odata.etag": "\"0x8D83F2337E81DC2\""}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '385' + Content-Type: + - application/json + If-Match: + - '"0x8D83F2337E81DC2"' + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4215BA0DB3F8B75773F60A6FE9968482 + method: PUT + uri: https://search802607.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"The precondition given in one of the + request headers evaluated to false. No change was made to the resource from + this request."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '160' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:52:56 GMT + elapsed-time: '7' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 53c6b39d-dcff-11ea-b451-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 412 + message: Precondition Failed + url: https://search802607.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_delete_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_delete_datasource_async.yaml new file mode 100644 index 000000000000..c7e3b30d2d8d --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_delete_datasource_async.yaml @@ -0,0 +1,130 @@ +interactions: +- request: + body: '{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F4F584FFE6B1E7000429074FC1C1CC4 + method: POST + uri: https://searchb0601f27.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchb0601f27.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F233F7E9279\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:53:09 GMT + elapsed-time: '62' + etag: W/"0x8D83F233F7E9279" + expires: '-1' + location: https://searchb0601f27.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 5b2914f4-dcff-11ea-8aa3-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchb0601f27.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F4F584FFE6B1E7000429074FC1C1CC4 + method: GET + uri: https://searchb0601f27.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchb0601f27.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F233F7E9279\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '376' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:53:09 GMT + elapsed-time: '20' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 5b4ca63b-dcff-11ea-8ea8-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchb0601f27.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F4F584FFE6B1E7000429074FC1C1CC4 + method: DELETE + uri: https://searchb0601f27.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + date: Thu, 13 Aug 2020 00:53:09 GMT + elapsed-time: '21' + expires: '-1' + pragma: no-cache + request-id: 5b56e05d-dcff-11ea-ab29-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 204 + message: No Content + url: https://searchb0601f27.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F4F584FFE6B1E7000429074FC1C1CC4 + method: GET + uri: https://searchb0601f27.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchb0601f27.search.windows.net/$metadata#datasources","value":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '202' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:53:09 GMT + elapsed-time: '5' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 5b602d57-dcff-11ea-a7b6-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchb0601f27.search.windows.net/datasources?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_delete_datasource_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_delete_datasource_if_unchanged.yaml new file mode 100644 index 000000000000..23c1f1b6753e --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_delete_datasource_if_unchanged.yaml @@ -0,0 +1,116 @@ +interactions: +- request: + body: '{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 68EC3F568CD5F6FB5353B9C067FA7E0C + method: POST + uri: https://search950921e4.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search950921e4.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F23483838D3\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:53:24 GMT + elapsed-time: '38' + etag: W/"0x8D83F23483838D3" + expires: '-1' + location: https://search950921e4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 63e538ef-dcff-11ea-a77f-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search950921e4.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "sample-datasource", "description": "updated", "type": "azureblob", + "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '345' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 68EC3F568CD5F6FB5353B9C067FA7E0C + method: PUT + uri: https://search950921e4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search950921e4.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2348497A07\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '375' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:53:24 GMT + elapsed-time: '58' + etag: W/"0x8D83F2348497A07" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 64068505-dcff-11ea-bbb0-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search950921e4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + If-Match: + - '"0x8D83F23483838D3"' + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 68EC3F568CD5F6FB5353B9C067FA7E0C + method: DELETE + uri: https://search950921e4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"The precondition given in one of the + request headers evaluated to false. No change was made to the resource from + this request."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '160' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:53:24 GMT + elapsed-time: '4' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 64170340-dcff-11ea-b745-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 412 + message: Precondition Failed + url: https://search950921e4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_get_datasource_async.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_datasource_async.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_get_datasource_async.yaml index 3938e3e30096..4fe0e9d38779 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_datasource_async.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_get_datasource_async.yaml @@ -11,63 +11,63 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3C11009E981E0448385CCC14CFCA14D8 + - C015684207FC0D0112E8CAB2A466FE98 method: POST - uri: https://searchfa0d1431.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search54ec1df4.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchfa0d1431.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95BD275436\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search54ec1df4.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F234F0A768C\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '370' + content-length: '391' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:36 GMT - elapsed-time: '52' - etag: W/"0x8D7EC95BD275436" + date: Thu, 13 Aug 2020 00:53:35 GMT + elapsed-time: '100' + etag: W/"0x8D83F234F0A768C" expires: '-1' - location: https://searchfa0d1431.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search54ec1df4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d8bafb42-8a71-11ea-889b-8c8590507855 + request-id: 6ab0743f-dcff-11ea-b5a0-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://searchfa0d1431.search.windows.net/datasources?api-version=2020-06-30 + url: https://search54ec1df4.search.windows.net/datasources?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3C11009E981E0448385CCC14CFCA14D8 + - C015684207FC0D0112E8CAB2A466FE98 method: GET - uri: https://searchfa0d1431.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search54ec1df4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchfa0d1431.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95BD275436\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search54ec1df4.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F234F0A768C\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '359' + content-length: '369' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:36 GMT - elapsed-time: '5' - etag: W/"0x8D7EC95BD275436" + date: Thu, 13 Aug 2020 00:53:35 GMT + elapsed-time: '7' + etag: W/"0x8D83F234F0A768C" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d8d38216-8a71-11ea-889b-8c8590507855 + request-id: 6ad8904f-dcff-11ea-aaf4-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchfa0d1431.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + url: https://search54ec1df4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_list_datasource_async.yaml similarity index 59% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_datasource_async.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_list_datasource_async.yaml index f3ddb2c48573..998ad6e7a978 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_datasource_async.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_data_source_live_async.test_list_datasource_async.yaml @@ -11,32 +11,32 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EB95AE283A4776332B8DEC0FB9C57ECE + - DA1A34D0726A478EE76A688BEC77153D method: POST - uri: https://search101414ad.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search74a71e70.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search101414ad.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95C3D255DF\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search74a71e70.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2356EE2F36\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '370' + content-length: '391' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:46 GMT - elapsed-time: '30' - etag: W/"0x8D7EC95C3D255DF" + date: Thu, 13 Aug 2020 00:53:48 GMT + elapsed-time: '64' + etag: W/"0x8D83F2356EE2F36" expires: '-1' - location: https://search101414ad.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search74a71e70.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: df6b8b96-8a71-11ea-889b-8c8590507855 + request-id: 729c9dd6-dcff-11ea-a026-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search101414ad.search.windows.net/datasources?api-version=2020-06-30 + url: https://search74a71e70.search.windows.net/datasources?api-version=2020-06-30 - request: body: '{"name": "another-sample", "type": "azureblob", "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, @@ -49,62 +49,62 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EB95AE283A4776332B8DEC0FB9C57ECE + - DA1A34D0726A478EE76A688BEC77153D method: POST - uri: https://search101414ad.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search74a71e70.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search101414ad.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95C3DB0A09\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search74a71e70.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2357000CC6\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '367' + content-length: '388' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:46 GMT - elapsed-time: '31' - etag: W/"0x8D7EC95C3DB0A09" + date: Thu, 13 Aug 2020 00:53:48 GMT + elapsed-time: '35' + etag: W/"0x8D83F2357000CC6" expires: '-1' - location: https://search101414ad.search.windows.net/datasources('another-sample')?api-version=2020-06-30 + location: https://search74a71e70.search.windows.net/datasources('another-sample')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: df7e60d6-8a71-11ea-889b-8c8590507855 + request-id: 72c10dd8-dcff-11ea-894e-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search101414ad.search.windows.net/datasources?api-version=2020-06-30 + url: https://search74a71e70.search.windows.net/datasources?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EB95AE283A4776332B8DEC0FB9C57ECE + - DA1A34D0726A478EE76A688BEC77153D method: GET - uri: https://search101414ad.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search74a71e70.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search101414ad.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D7EC95C3DB0A09\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null},{"@odata.etag":"\"0x8D7EC95C3D255DF\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}]}' + string: '{"@odata.context":"https://search74a71e70.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F2357000CC6\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null},{"@odata.etag":"\"0x8D83F2356EE2F36\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '389' + content-length: '401' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:46 GMT - elapsed-time: '13' + date: Thu, 13 Aug 2020 00:53:48 GMT + elapsed-time: '18' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: df86edd2-8a71-11ea-889b-8c8590507855 + request-id: 72ce8aca-dcff-11ea-9a6b-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search101414ad.search.windows.net/datasources?api-version=2020-06-30 + url: https://search74a71e70.search.windows.net/datasources?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_analyze_text.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_analyze_text.yaml similarity index 54% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_analyze_text.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_analyze_text.yaml index afbd22836c9e..643bc4f8407e 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_analyze_text.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_analyze_text.yaml @@ -9,30 +9,30 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F43051603FFFF10DD5382D3E0CEA346A + - F6C2C4D066098909C6A895C0C49371E1 method: POST - uri: https://search64f01102.search.windows.net/indexes('drgqefsg')/search.analyze?api-version=2020-06-30 + uri: https://search4cbf15dc.search.windows.net/indexes('drgqefsg')/search.analyze?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search64f01102.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.AnalyzeResult","tokens":[{"token":"one''s","startOffset":0,"endOffset":5,"position":0},{"token":"two","startOffset":7,"endOffset":10,"position":1}]}' + string: '{"@odata.context":"https://search4cbf15dc.search.windows.net/$metadata#Microsoft.Azure.Search.V2020_06_30.AnalyzeResult","tokens":[{"token":"one''s","startOffset":0,"endOffset":5,"position":0},{"token":"two","startOffset":7,"endOffset":10,"position":1}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '306' + content-length: '297' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:30:17 GMT - elapsed-time: '58' + date: Thu, 13 Aug 2020 00:54:02 GMT + elapsed-time: '63' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 62cb6048-8a71-11ea-889b-8c8590507855 + request-id: 7a8f5061-dcff-11ea-8e88-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search64f01102.search.windows.net/indexes('drgqefsg')/search.analyze?api-version=2020-06-30 + url: https://search4cbf15dc.search.windows.net/indexes('drgqefsg')/search.analyze?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_datasource_async.yaml new file mode 100644 index 000000000000..4475d12c9b7c --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_datasource_async.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D85D783D552374AA4A0206F9E41D5EB6 + method: POST + uri: https://search55981a3f.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search55981a3f.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F242A325627\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:59:43 GMT + elapsed-time: '121' + etag: W/"0x8D83F242A325627" + expires: '-1' + location: https://search55981a3f.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 45d40484-dd00-11ea-984d-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search55981a3f.search.windows.net/datasources?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_index.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_index.yaml new file mode 100644 index 000000000000..834c66e727a3 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_index.yaml @@ -0,0 +1,43 @@ +interactions: +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}, {"name": "baseRate", "type": "Edm.Double", + "key": false, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}], "scoringProfiles": [{"name": "MyProfile"}], + "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '457' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 95399229D38240B2EDDA4E03045E1350 + method: POST + uri: https://search4bde15af.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search4bde15af.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F23672BD063\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '967' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:54:16 GMT + elapsed-time: '952' + etag: W/"0x8D83F23672BD063" + expires: '-1' + location: https://search4bde15af.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 82563aa4-dcff-11ea-bd8c-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search4bde15af.search.windows.net/indexes?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_indexer.yaml new file mode 100644 index 000000000000..d9f22d89c279 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_indexer.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B7C1C35242D19B34FEC7CDBA398B63FD + method: POST + uri: https://search78781686.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search78781686.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2474DBDBCD\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:01:48 GMT + elapsed-time: '82' + etag: W/"0x8D83F2474DBDBCD" + expires: '-1' + location: https://search78781686.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 9085f067-dd00-11ea-8292-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search78781686.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B7C1C35242D19B34FEC7CDBA398B63FD + method: POST + uri: https://search78781686.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search78781686.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F247572E035\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:01:49 GMT + elapsed-time: '832' + etag: W/"0x8D83F247572E035" + expires: '-1' + location: https://search78781686.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 90acc34b-dd00-11ea-9869-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search78781686.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B7C1C35242D19B34FEC7CDBA398B63FD + method: POST + uri: https://search78781686.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:01:50 GMT + elapsed-time: '547' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 9146b6d9-dd00-11ea-80ea-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://search78781686.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_datasource_async.yaml new file mode 100644 index 000000000000..ee264a101190 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_datasource_async.yaml @@ -0,0 +1,178 @@ +interactions: +- request: + body: '{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 906C2AB6265E1FF77E55BB5F3363D162 + method: POST + uri: https://search72cd1e61.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search72cd1e61.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F243204F4B1\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:59:56 GMT + elapsed-time: '50' + etag: W/"0x8D83F243204F4B1" + expires: '-1' + location: https://search72cd1e61.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 4db168ca-dd00-11ea-b0d8-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search72cd1e61.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 906C2AB6265E1FF77E55BB5F3363D162 + method: GET + uri: https://search72cd1e61.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search72cd1e61.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F243204F4B1\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '375' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:59:56 GMT + elapsed-time: '11' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 4dd296e3-dd00-11ea-8784-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search72cd1e61.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "sample-datasource", "description": "updated", "type": "azureblob", + "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '345' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 906C2AB6265E1FF77E55BB5F3363D162 + method: PUT + uri: https://search72cd1e61.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search72cd1e61.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2432191C9C\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '375' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:59:56 GMT + elapsed-time: '37' + etag: W/"0x8D83F2432191C9C" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 4ddab5ec-dd00-11ea-ace6-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search72cd1e61.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 906C2AB6265E1FF77E55BB5F3363D162 + method: GET + uri: https://search72cd1e61.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search72cd1e61.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F2432191C9C\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '381' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:59:56 GMT + elapsed-time: '27' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 4de7d8a2-dd00-11ea-889a-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search72cd1e61.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 906C2AB6265E1FF77E55BB5F3363D162 + method: GET + uri: https://search72cd1e61.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search72cd1e61.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2432191C9C\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '375' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:59:56 GMT + elapsed-time: '7' + etag: W/"0x8D83F2432191C9C" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 4df26691-dd00-11ea-a189-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search72cd1e61.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_datasource_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_datasource_if_unchanged.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_datasource_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_datasource_if_unchanged.yaml index 956b6c5c0649..a7346ad183f4 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_datasource_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_datasource_if_unchanged.yaml @@ -11,39 +11,32 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EB07460BE71D34ECEB27F2F290910C52 + - BFB5A586FD4628C66469444C62BC3AEF method: POST - uri: https://searche2561c44.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search520c211e.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searche2561c44.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED71E13EFC4E\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search520c211e.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F243A2EEADA\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '370' + content-length: '391' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:26 GMT - elapsed-time: '69' - etag: W/"0x8D7ED71E13EFC4E" + date: Thu, 13 Aug 2020 01:00:10 GMT + elapsed-time: '53' + etag: W/"0x8D83F243A2EEADA" expires: '-1' - location: https://searche2561c44.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search520c211e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: fd279352-8b4d-11ea-900d-2816a845e8c6 + request-id: 55da68e9-dd00-11ea-86df-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searche2561c44.search.windows.net - - /datasources - - api-version=2020-06-30 - - '' + url: https://search520c211e.search.windows.net/datasources?api-version=2020-06-30 - request: body: '{"name": "sample-datasource", "description": "updated", "type": "azureblob", "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, @@ -58,44 +51,37 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EB07460BE71D34ECEB27F2F290910C52 + - BFB5A586FD4628C66469444C62BC3AEF method: PUT - uri: https://searche2561c44.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search520c211e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searche2561c44.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED71E1512811\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search520c211e.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F243A3F8FB6\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '365' + content-length: '375' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:26 GMT - elapsed-time: '66' - etag: W/"0x8D7ED71E1512811" + date: Thu, 13 Aug 2020 01:00:10 GMT + elapsed-time: '31' + etag: W/"0x8D83F243A3F8FB6" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: fd59a3da-8b4d-11ea-8749-2816a845e8c6 + request-id: 56001e49-dd00-11ea-a071-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searche2561c44.search.windows.net - - /datasources('sample-datasource') - - api-version=2020-06-30 - - '' + url: https://search520c211e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 - request: body: '{"name": "sample-datasource", "description": "changed", "type": "azureblob", "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, - "container": {"name": "searchcontainer"}, "@odata.etag": "\"0x8D7ED71E13EFC4E\""}' + "container": {"name": "searchcontainer"}, "@odata.etag": "\"0x8D83F243A2EEADA\""}' headers: Accept: - application/json;odata.metadata=minimal @@ -104,15 +90,15 @@ interactions: Content-Type: - application/json If-Match: - - '"0x8D7ED71E13EFC4E"' + - '"0x8D83F243A2EEADA"' Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EB07460BE71D34ECEB27F2F290910C52 + - BFB5A586FD4628C66469444C62BC3AEF method: PUT - uri: https://searche2561c44.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search520c211e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -123,23 +109,16 @@ interactions: content-language: en content-length: '160' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:26 GMT + date: Thu, 13 Aug 2020 01:00:10 GMT elapsed-time: '5' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: fd6bc01c-8b4d-11ea-a9e1-2816a845e8c6 + request-id: 560d5a3b-dd00-11ea-8383-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 412 message: Precondition Failed - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searche2561c44.search.windows.net - - /datasources('sample-datasource') - - api-version=2020-06-30 - - '' + url: https://search520c211e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_index.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_index.yaml new file mode 100644 index 000000000000..4055d28d23bf --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_index.yaml @@ -0,0 +1,89 @@ +interactions: +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}, {"name": "baseRate", "type": "Edm.Double", + "key": false, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}], "scoringProfiles": [], "corsOptions": + {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '436' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 099C7C310759D390F9ADDA7047584A65 + method: PUT + uri: https://search3b9d19d1.search.windows.net/indexes('hotels')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search3b9d19d1.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F23702990E6\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '893' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:54:31 GMT + elapsed-time: '770' + etag: W/"0x8D83F23702990E6" + expires: '-1' + location: https://search3b9d19d1.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 8b6e8e7d-dcff-11ea-bc47-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search3b9d19d1.search.windows.net/indexes('hotels')?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}, {"name": "baseRate", "type": "Edm.Double", + "key": false, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}], "scoringProfiles": [{"name": "MyProfile"}], + "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '457' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 099C7C310759D390F9ADDA7047584A65 + method: PUT + uri: https://search3b9d19d1.search.windows.net/indexes('hotels')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search3b9d19d1.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F2370500BB6\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '576' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:54:31 GMT + elapsed-time: '188' + etag: W/"0x8D83F2370500BB6" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 8bfe2fa7-dcff-11ea-a717-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search3b9d19d1.search.windows.net/indexes('hotels')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexer.yaml new file mode 100644 index 000000000000..e1f8273b9457 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexer.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 8D4EE3BB65D8EF9F8E358A5A63881F81 + method: POST + uri: https://search707b1aa8.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search707b1aa8.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F247DB2AC4B\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:03 GMT + elapsed-time: '98' + etag: W/"0x8D83F247DB2AC4B" + expires: '-1' + location: https://search707b1aa8.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 995b0bb5-dd00-11ea-b228-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search707b1aa8.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 8D4EE3BB65D8EF9F8E358A5A63881F81 + method: POST + uri: https://search707b1aa8.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search707b1aa8.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F247E3B2F11\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:04 GMT + elapsed-time: '749' + etag: W/"0x8D83F247E3B2F11" + expires: '-1' + location: https://search707b1aa8.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 9983ace4-dd00-11ea-a9ec-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search707b1aa8.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 8D4EE3BB65D8EF9F8E358A5A63881F81 + method: POST + uri: https://search707b1aa8.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:04 GMT + elapsed-time: '291' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 9a10695e-dd00-11ea-b93b-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://search707b1aa8.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexer_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexer_if_unchanged.yaml new file mode 100644 index 000000000000..83ff628c10b9 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexer_if_unchanged.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 13E81950C540FFAF4CE186246671B5E0 + method: POST + uri: https://searchef9b1fe2.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchef9b1fe2.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2486E0FB97\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:18 GMT + elapsed-time: '49' + etag: W/"0x8D83F2486E0FB97" + expires: '-1' + location: https://searchef9b1fe2.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: a28d484f-dd00-11ea-ae57-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchef9b1fe2.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 13E81950C540FFAF4CE186246671B5E0 + method: POST + uri: https://searchef9b1fe2.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchef9b1fe2.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F24877E90D2\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:19 GMT + elapsed-time: '903' + etag: W/"0x8D83F24877E90D2" + expires: '-1' + location: https://searchef9b1fe2.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: a2af7466-dd00-11ea-80f0-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchef9b1fe2.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 13E81950C540FFAF4CE186246671B5E0 + method: POST + uri: https://searchef9b1fe2.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:20 GMT + elapsed-time: '563' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: a353f0eb-dd00-11ea-9e27-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://searchef9b1fe2.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexes_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexes_if_unchanged.yaml similarity index 55% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexes_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexes_if_unchanged.yaml index a25c904ed403..8f68be79f4d4 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexes_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_indexes_if_unchanged.yaml @@ -1,121 +1,107 @@ interactions: - request: body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [{"name": "MyProfile"}], "corsOptions": {"allowedOrigins": - ["*"], "maxAgeInSeconds": 60}}' + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [{"name": "MyProfile"}], + "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '260' + - '302' Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 27AABAAAD5E1BA1E8445B009D9CDC8D7 + - 7F65B962AE917B111164468A9F41032F method: POST - uri: https://search8e901b09.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searchefa91fe3.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search8e901b09.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED71A617AE43\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchefa91fe3.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F23789F6AFE\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' headers: cache-control: no-cache - content-length: '890' + content-length: '961' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:47:47 GMT - elapsed-time: '560' - etag: W/"0x8D7ED71A617AE43" + date: Thu, 13 Aug 2020 00:54:45 GMT + elapsed-time: '747' + etag: W/"0x8D83F23789F6AFE" expires: '-1' - location: https://search8e901b09.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://searchefa91fe3.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: c1c3fbc8-8b4d-11ea-87ee-2816a845e8c6 + request-id: 93e8e7ff-dcff-11ea-b766-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - search8e901b09.search.windows.net - - /indexes - - api-version=2020-06-30 - - '' + url: https://searchefa91fe3.search.windows.net/indexes?api-version=2020-06-30 - request: body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [], "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": - 60}}' + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [], "corsOptions": + {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '239' + - '281' Content-Type: - application/json Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 27AABAAAD5E1BA1E8445B009D9CDC8D7 + - 7F65B962AE917B111164468A9F41032F method: PUT - uri: https://search8e901b09.search.windows.net/indexes('hotels')?api-version=2020-06-30 + uri: https://searchefa91fe3.search.windows.net/indexes('hotels')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search8e901b09.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED71A636ADAA\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchefa91fe3.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F2378C0185D\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' headers: cache-control: no-cache content-encoding: gzip - content-length: '506' + content-length: '544' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:47:47 GMT - elapsed-time: '129' - etag: W/"0x8D7ED71A636ADAA" + date: Thu, 13 Aug 2020 00:54:45 GMT + elapsed-time: '140' + etag: W/"0x8D83F2378C0185D" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: c23832f0-8b4d-11ea-be09-2816a845e8c6 + request-id: 9474e5d4-dcff-11ea-893a-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - search8e901b09.search.windows.net - - /indexes('hotels') - - api-version=2020-06-30 - - '' + url: https://searchefa91fe3.search.windows.net/indexes('hotels')?api-version=2020-06-30 - request: body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [], "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": - 60}, "@odata.etag": "\"0x8D7ED71A617AE43\""}' + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [], "corsOptions": + {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}, "@odata.etag": "\"0x8D83F23789F6AFE\""}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '279' + - '321' Content-Type: - application/json If-Match: - - '"0x8D7ED71A617AE43"' + - '"0x8D83F23789F6AFE"' Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 27AABAAAD5E1BA1E8445B009D9CDC8D7 + - 7F65B962AE917B111164468A9F41032F method: PUT - uri: https://search8e901b09.search.windows.net/indexes('hotels')?api-version=2020-06-30 + uri: https://searchefa91fe3.search.windows.net/indexes('hotels')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -126,23 +112,16 @@ interactions: content-language: en content-length: '160' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:47:47 GMT - elapsed-time: '25' + date: Thu, 13 Aug 2020 00:54:45 GMT + elapsed-time: '53' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: c2543448-8b4d-11ea-b516-2816a845e8c6 + request-id: 94925fe7-dcff-11ea-9679-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 412 message: Precondition Failed - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - search8e901b09.search.windows.net - - /indexes('hotels') - - api-version=2020-06-30 - - '' + url: https://searchefa91fe3.search.windows.net/indexes('hotels')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset_inplace.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset_inplace.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset.yaml index d67e063d6ead..d51568592e5a 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset_inplace.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset.yaml @@ -14,137 +14,137 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 949AB1B55EE17FD30AB635C811264965 + - 600D000E9487249A792984B20E309C6D method: PUT - uri: https://search260a1985.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search8bf31b24.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search260a1985.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E5707C99B8B7\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search8bf31b24.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23E5FDE946\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '588' + content-length: '609' content-type: application/json; odata.metadata=minimal - date: Mon, 20 Apr 2020 21:19:18 GMT - elapsed-time: '52' - etag: W/"0x8D7E5707C99B8B7" + date: Thu, 13 Aug 2020 00:57:48 GMT + elapsed-time: '50' + etag: W/"0x8D83F23E5FDE946" expires: '-1' - location: https://search260a1985.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + location: https://search8bf31b24.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 9844e3e2-834c-11ea-9be4-8c8590507855 + request-id: 01a92148-dd00-11ea-b9ca-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search260a1985.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + url: https://search8bf31b24.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - request: body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": - "organizations"}]}], "@odata.etag": "\"0x8D7E5707C99B8B7\""}' + "organizations"}]}]}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '293' + - '253' Content-Type: - application/json Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 949AB1B55EE17FD30AB635C811264965 + - 600D000E9487249A792984B20E309C6D method: PUT - uri: https://search260a1985.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search8bf31b24.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search260a1985.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E5707CA3CC9F\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search8bf31b24.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23E60C91F1\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '465' + content-length: '476' content-type: application/json; odata.metadata=minimal - date: Mon, 20 Apr 2020 21:19:18 GMT - elapsed-time: '40' - etag: W/"0x8D7E5707CA3CC9F" + date: Thu, 13 Aug 2020 00:57:48 GMT + elapsed-time: '50' + etag: W/"0x8D83F23E60C91F1" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 985fe3c2-834c-11ea-9be4-8c8590507855 + request-id: 01cb8ea1-dd00-11ea-ade3-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search260a1985.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + url: https://search8bf31b24.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 949AB1B55EE17FD30AB635C811264965 + - 600D000E9487249A792984B20E309C6D method: GET - uri: https://search260a1985.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search8bf31b24.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search260a1985.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7E5707CA3CC9F\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://search8bf31b24.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F23E60C91F1\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '522' + content-length: '533' content-type: application/json; odata.metadata=minimal - date: Mon, 20 Apr 2020 21:19:18 GMT - elapsed-time: '20' + date: Thu, 13 Aug 2020 00:57:48 GMT + elapsed-time: '38' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 986a42fe-834c-11ea-9be4-8c8590507855 + request-id: 01da83e7-dd00-11ea-a633-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search260a1985.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search8bf31b24.search.windows.net/skillsets?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 949AB1B55EE17FD30AB635C811264965 + - 600D000E9487249A792984B20E309C6D method: GET - uri: https://search260a1985.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search8bf31b24.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search260a1985.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E5707CA3CC9F\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search8bf31b24.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23E60C91F1\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '519' + content-length: '531' content-type: application/json; odata.metadata=minimal - date: Mon, 20 Apr 2020 21:19:18 GMT - elapsed-time: '24' - etag: W/"0x8D7E5707CA3CC9F" + date: Thu, 13 Aug 2020 00:57:48 GMT + elapsed-time: '28' + etag: W/"0x8D83F23E60C91F1" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 9871506c-834c-11ea-9be4-8c8590507855 + request-id: 01e77b0a-dd00-11ea-a07d-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search260a1985.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + url: https://search8bf31b24.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset_if_unchanged.yaml new file mode 100644 index 000000000000..0de4a0b9c5a8 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset_if_unchanged.yaml @@ -0,0 +1,117 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc1", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '253' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 339D6FB9099428F6F113A3EF49ADBA6F + method: PUT + uri: https://search116e205e.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search116e205e.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23ED4D35EB\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '609' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:58:01 GMT + elapsed-time: '65' + etag: W/"0x8D83F23ED4D35EB" + expires: '-1' + location: https://search116e205e.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 08f55bca-dd00-11ea-8d7e-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search116e205e.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +- request: + body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '253' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 339D6FB9099428F6F113A3EF49ADBA6F + method: PUT + uri: https://search116e205e.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search116e205e.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23ED5F1377\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '476' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:58:01 GMT + elapsed-time: '74' + etag: W/"0x8D83F23ED5F1377" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 091ba2dc-dd00-11ea-9653-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search116e205e.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 339D6FB9099428F6F113A3EF49ADBA6F + method: GET + uri: https://search116e205e.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search116e205e.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F23ED5F1377\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '533' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:58:01 GMT + elapsed-time: '35' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 092d511e-dd00-11ea-8817-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search116e205e.search.windows.net/skillsets?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset_inplace.yaml similarity index 58% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset_inplace.yaml index b49475307b76..46f7764deb6b 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_skillset_inplace.yaml @@ -14,125 +14,32 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B1B1D09F8F6DD926768829455A6A5FD5 + - 4B3A99553A2532B061D6C99EB7B5F6D2 method: PUT - uri: https://search6512164a.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search73bb1e5f.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search6512164a.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E24A4BEF9EC0\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search73bb1e5f.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23F4446779\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '588' + content-length: '609' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:22 GMT - elapsed-time: '59' - etag: W/"0x8D7E24A4BEF9EC0" + date: Thu, 13 Aug 2020 00:58:12 GMT + elapsed-time: '71' + etag: W/"0x8D83F23F4446779" expires: '-1' - location: - - h - - t - - t - - p - - s - - ':' - - / - - / - - s - - e - - a - - r - - c - - h - - '6' - - '5' - - '1' - - '2' - - '1' - - '6' - - '4' - - a - - . - - s - - e - - a - - r - - c - - h - - . - - w - - i - - n - - d - - o - - w - - s - - . - - n - - e - - t - - / - - s - - k - - i - - l - - l - - s - - e - - t - - s - - ( - - '''' - - t - - e - - s - - t - - '-' - - s - - s - - '''' - - ) - - '?' - - a - - p - - i - - '-' - - v - - e - - r - - s - - i - - o - - n - - '=' - - '2' - - '0' - - '1' - - '9' - - '-' - - '0' - - '5' - - '-' - - '0' - - '6' - - '-' - - P - - r - - e - - v - - i - - e - - w + location: https://search73bb1e5f.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 66d397be-8026-11ea-96cc-8c8590507855 + request-id: 0fed102a-dd00-11ea-9e11-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search6512164a.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + url: https://search73bb1e5f.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - request: body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", @@ -148,96 +55,96 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B1B1D09F8F6DD926768829455A6A5FD5 + - 4B3A99553A2532B061D6C99EB7B5F6D2 method: PUT - uri: https://search6512164a.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search73bb1e5f.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search6512164a.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E24A4BFDD235\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search73bb1e5f.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23F45421CD\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '465' + content-length: '476' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:22 GMT - elapsed-time: '67' - etag: W/"0x8D7E24A4BFDD235" + date: Thu, 13 Aug 2020 00:58:12 GMT + elapsed-time: '57' + etag: W/"0x8D83F23F45421CD" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 66ed4ea2-8026-11ea-96cc-8c8590507855 + request-id: 1013325d-dd00-11ea-afae-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search6512164a.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + url: https://search73bb1e5f.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B1B1D09F8F6DD926768829455A6A5FD5 + - 4B3A99553A2532B061D6C99EB7B5F6D2 method: GET - uri: https://search6512164a.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search73bb1e5f.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search6512164a.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7E24A4BFDD235\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://search73bb1e5f.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F23F45421CD\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '522' + content-length: '533' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:22 GMT - elapsed-time: '48' + date: Thu, 13 Aug 2020 00:58:12 GMT + elapsed-time: '41' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 66fc4a06-8026-11ea-96cc-8c8590507855 + request-id: 10221b6e-dd00-11ea-9df8-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search6512164a.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search73bb1e5f.search.windows.net/skillsets?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B1B1D09F8F6DD926768829455A6A5FD5 + - 4B3A99553A2532B061D6C99EB7B5F6D2 method: GET - uri: https://search6512164a.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search73bb1e5f.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search6512164a.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E24A4BFDD235\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search73bb1e5f.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23F45421CD\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '519' + content-length: '530' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:22 GMT - elapsed-time: '17' - etag: W/"0x8D7E24A4BFDD235" + date: Thu, 13 Aug 2020 00:58:12 GMT + elapsed-time: '23' + etag: W/"0x8D83F23F45421CD" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 6707d362-8026-11ea-96cc-8c8590507855 + request-id: 102e599e-dd00-11ea-8783-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search6512164a.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + url: https://search73bb1e5f.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_synonym_map.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_synonym_map.yaml new file mode 100644 index 000000000000..d01574a14b36 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_or_update_synonym_map.yaml @@ -0,0 +1,186 @@ +interactions: +- request: + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "U\nS\nA\n,\n \nU\nn\ni\nt\ne\nd\n + \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '261' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2213FC4056BE41681D288ED62037F1B9 + method: POST + uri: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23B5FD2C9F\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '406' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:28 GMT + elapsed-time: '36' + etag: W/"0x8D83F23B5FD2C9F" + expires: '-1' + location: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d1a989b4-dcff-11ea-8f8f-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2213FC4056BE41681D288ED62037F1B9 + method: GET + uri: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83F23B5FD2C9F\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '385' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:28 GMT + elapsed-time: '8' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d1c98827-dcff-11ea-974c-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '125' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2213FC4056BE41681D288ED62037F1B9 + method: PUT + uri: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23B60E6DD3\"","name":"test-syn-map","format":"solr","synonyms":"W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '335' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:28 GMT + elapsed-time: '15' + etag: W/"0x8D83F23B60E6DD3" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d1d15f92-dcff-11ea-8928-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2213FC4056BE41681D288ED62037F1B9 + method: GET + uri: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83F23B60E6DD3\"","name":"test-syn-map","format":"solr","synonyms":"W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA","encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '339' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:28 GMT + elapsed-time: '15' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d1dae9c8-dcff-11ea-9161-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2213FC4056BE41681D288ED62037F1B9 + method: GET + uri: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23B60E6DD3\"","name":"test-syn-map","format":"solr","synonyms":"W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '335' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:28 GMT + elapsed-time: '6' + etag: W/"0x8D83F23B60E6DD3" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d1e38818-dcff-11ea-8cd1-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_skillset.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_skillset.yaml similarity index 52% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_skillset.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_skillset.yaml index 0b7308e47d4d..9dd9f03ee015 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_skillset.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_skillset.yaml @@ -11,155 +11,62 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3A944C60AD0CFDB46ACAB43B837B1D1A + - EF67F019320A950DE6995FD1A346DB62 method: POST - uri: https://search99711228.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search8fce1702.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search99711228.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E24A5315AC9C\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search8fce1702.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F23FC939FAE\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '587' + content-length: '608' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:34 GMT - elapsed-time: '96' - etag: W/"0x8D7E24A5315AC9C" + date: Thu, 13 Aug 2020 00:58:25 GMT + elapsed-time: '51' + etag: W/"0x8D83F23FC939FAE" expires: '-1' - location: - - h - - t - - t - - p - - s - - ':' - - / - - / - - s - - e - - a - - r - - c - - h - - '9' - - '9' - - '7' - - '1' - - '1' - - '2' - - '2' - - '8' - - . - - s - - e - - a - - r - - c - - h - - . - - w - - i - - n - - d - - o - - w - - s - - . - - n - - e - - t - - / - - s - - k - - i - - l - - l - - s - - e - - t - - s - - ( - - '''' - - t - - e - - s - - t - - '-' - - s - - s - - '''' - - ) - - '?' - - a - - p - - i - - '-' - - v - - e - - r - - s - - i - - o - - n - - '=' - - '2' - - '0' - - '1' - - '9' - - '-' - - '0' - - '5' - - '-' - - '0' - - '6' - - '-' - - P - - r - - e - - v - - i - - e - - w + location: https://search8fce1702.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 6decb18e-8026-11ea-96cc-8c8590507855 + request-id: 1840e48d-dd00-11ea-93e4-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search99711228.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search8fce1702.search.windows.net/skillsets?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3A944C60AD0CFDB46ACAB43B837B1D1A + - EF67F019320A950DE6995FD1A346DB62 method: GET - uri: https://search99711228.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search8fce1702.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search99711228.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7E24A5315AC9C\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://search8fce1702.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F23FC939FAE\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '520' + content-length: '532' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:34 GMT - elapsed-time: '26' + date: Thu, 13 Aug 2020 00:58:26 GMT + elapsed-time: '41' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 6e11cbcc-8026-11ea-96cc-8c8590507855 + request-id: 1861a40c-dd00-11ea-9c8d-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search99711228.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search8fce1702.search.windows.net/skillsets?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_synonym_map.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_synonym_map.yaml new file mode 100644 index 000000000000..fa944ba66c51 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_create_synonym_map.yaml @@ -0,0 +1,43 @@ +interactions: +- request: + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "U\nS\nA\n,\n \nU\nn\ni\nt\ne\nd\n + \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '261' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D0860E3F9B12119CBC83332866F54068 + method: POST + uri: https://searchd8241851.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchd8241851.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23BE18A142\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '406' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:41 GMT + elapsed-time: '78' + etag: W/"0x8D83F23BE18A142" + expires: '-1' + location: https://searchd8241851.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d9c0c5cd-dcff-11ea-b14c-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchd8241851.search.windows.net/synonymmaps?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_datasource_async.yaml similarity index 62% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_datasource_async.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_datasource_async.yaml index 65fc5c89e2da..8bcb6c8d6000 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_datasource_async.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_datasource_async.yaml @@ -11,120 +11,120 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 06B8336C26C304192C7B26FC455ACC25 + - 51662CDBAE331E85ACE88D0A3AA62EB7 method: POST - uri: https://search38471564.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search55741a3e.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search38471564.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC95B60E12E6\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search55741a3e.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F24442234B1\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '370' + content-length: '391' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:24 GMT - elapsed-time: '54' - etag: W/"0x8D7EC95B60E12E6" + date: Thu, 13 Aug 2020 01:00:25 GMT + elapsed-time: '59' + etag: W/"0x8D83F24442234B1" expires: '-1' - location: https://search38471564.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search55741a3e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d1a45d3a-8a71-11ea-889b-8c8590507855 + request-id: 5fd16b75-dd00-11ea-9283-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search38471564.search.windows.net/datasources?api-version=2020-06-30 + url: https://search55741a3e.search.windows.net/datasources?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 06B8336C26C304192C7B26FC455ACC25 + - 51662CDBAE331E85ACE88D0A3AA62EB7 method: GET - uri: https://search38471564.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search55741a3e.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search38471564.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D7EC95B60E12E6\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}]}' + string: '{"@odata.context":"https://search55741a3e.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F24442234B1\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '366' + content-length: '375' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:24 GMT - elapsed-time: '11' + date: Thu, 13 Aug 2020 01:00:26 GMT + elapsed-time: '31' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d1ba8768-8a71-11ea-889b-8c8590507855 + request-id: 5ff1ed2c-dd00-11ea-a76f-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search38471564.search.windows.net/datasources?api-version=2020-06-30 + url: https://search55741a3e.search.windows.net/datasources?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 06B8336C26C304192C7B26FC455ACC25 + - 51662CDBAE331E85ACE88D0A3AA62EB7 method: DELETE - uri: https://search38471564.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search55741a3e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache - date: Wed, 29 Apr 2020 23:33:24 GMT - elapsed-time: '59' + date: Thu, 13 Aug 2020 01:00:26 GMT + elapsed-time: '34' expires: '-1' pragma: no-cache - request-id: d1c01214-8a71-11ea-889b-8c8590507855 + request-id: 5fff1776-dd00-11ea-b656-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 204 message: No Content - url: https://search38471564.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + url: https://search55741a3e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 06B8336C26C304192C7B26FC455ACC25 + - 51662CDBAE331E85ACE88D0A3AA62EB7 method: GET - uri: https://search38471564.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search55741a3e.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search38471564.search.windows.net/$metadata#datasources","value":[]}' + string: '{"@odata.context":"https://search55741a3e.search.windows.net/$metadata#datasources","value":[]}' headers: cache-control: no-cache content-encoding: gzip content-length: '202' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:33:24 GMT - elapsed-time: '4' + date: Thu, 13 Aug 2020 01:00:27 GMT + elapsed-time: '7' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d1cc9e80-8a71-11ea-889b-8c8590507855 + request-id: 600abdaa-dd00-11ea-a881-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search38471564.search.windows.net/datasources?api-version=2020-06-30 + url: https://search55741a3e.search.windows.net/datasources?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_datasource_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_datasource_if_unchanged.yaml similarity index 61% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_datasource_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_datasource_if_unchanged.yaml index 6a840a8ea75e..f5e2337d8f5f 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_datasource_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_datasource_if_unchanged.yaml @@ -11,39 +11,32 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EAB9451773DF47CC4948501A01AA8C5D + - E0F8D3906E0EAB547C193077FD5D8887 method: POST - uri: https://searchd88c1821.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search17be1cfb.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd88c1821.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED71EDA34383\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search17be1cfb.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F244C91F360\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '370' + content-length: '391' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:46 GMT - elapsed-time: '52' - etag: W/"0x8D7ED71EDA34383" + date: Thu, 13 Aug 2020 01:00:40 GMT + elapsed-time: '51' + etag: W/"0x8D83F244C91F360" expires: '-1' - location: https://searchd88c1821.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search17be1cfb.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 09913646-8b4e-11ea-bf52-2816a845e8c6 + request-id: 683de72f-dd00-11ea-8bc5-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchd88c1821.search.windows.net - - /datasources - - api-version=2020-06-30 - - '' + url: https://search17be1cfb.search.windows.net/datasources?api-version=2020-06-30 - request: body: '{"name": "sample-datasource", "description": "updated", "type": "azureblob", "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, @@ -58,53 +51,46 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EAB9451773DF47CC4948501A01AA8C5D + - E0F8D3906E0EAB547C193077FD5D8887 method: PUT - uri: https://searchd88c1821.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search17be1cfb.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd88c1821.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED71EDB1C519\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search17be1cfb.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F244C9E0382\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '365' + content-length: '375' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:46 GMT - elapsed-time: '47' - etag: W/"0x8D7ED71EDB1C519" + date: Thu, 13 Aug 2020 01:00:40 GMT + elapsed-time: '32' + etag: W/"0x8D83F244C9E0382" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 09bdcd08-8b4e-11ea-96c1-2816a845e8c6 + request-id: 6860153a-dd00-11ea-8ba4-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchd88c1821.search.windows.net - - /datasources('sample-datasource') - - api-version=2020-06-30 - - '' + url: https://search17be1cfb.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal If-Match: - - '"0x8D7ED71EDA34383"' + - '"0x8D83F244C91F360"' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EAB9451773DF47CC4948501A01AA8C5D + - E0F8D3906E0EAB547C193077FD5D8887 method: DELETE - uri: https://searchd88c1821.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search17be1cfb.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -115,23 +101,16 @@ interactions: content-language: en content-length: '160' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:47 GMT + date: Thu, 13 Aug 2020 01:00:40 GMT elapsed-time: '5' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 09ccb6c2-8b4e-11ea-974c-2816a845e8c6 + request-id: 686c0e56-dd00-11ea-afbe-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 412 message: Precondition Failed - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchd88c1821.search.windows.net - - /datasources('sample-datasource') - - api-version=2020-06-30 - - '' + url: https://search17be1cfb.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexer.yaml new file mode 100644 index 000000000000..f43f6fa32455 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexer.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B9512745CCBDB089289E03A87F624557 + method: POST + uri: https://search785d1685.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search785d1685.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F248F250E49\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:32 GMT + elapsed-time: '49' + etag: W/"0x8D83F248F250E49" + expires: '-1' + location: https://search785d1685.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: aad1f12b-dd00-11ea-b826-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search785d1685.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B9512745CCBDB089289E03A87F624557 + method: POST + uri: https://search785d1685.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search785d1685.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F248FADDF49\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:32 GMT + elapsed-time: '741' + etag: W/"0x8D83F248FADDF49" + expires: '-1' + location: https://search785d1685.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: aaf34406-dd00-11ea-8196-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search785d1685.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B9512745CCBDB089289E03A87F624557 + method: POST + uri: https://search785d1685.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:33 GMT + elapsed-time: '160' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: ab7ff5c3-dd00-11ea-8373-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://search785d1685.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexer_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexer_if_unchanged.yaml new file mode 100644 index 000000000000..d688b0d4ce44 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexer_if_unchanged.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - CF503015E1A531813404B3C503EC2643 + method: POST + uri: https://searchc1b61bbf.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchc1b61bbf.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F2497101B38\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:45 GMT + elapsed-time: '50' + etag: W/"0x8D83F2497101B38" + expires: '-1' + location: https://searchc1b61bbf.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: b2bad13f-dd00-11ea-9183-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchc1b61bbf.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - CF503015E1A531813404B3C503EC2643 + method: POST + uri: https://searchc1b61bbf.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchc1b61bbf.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F24979541F6\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:46 GMT + elapsed-time: '735' + etag: W/"0x8D83F24979541F6" + expires: '-1' + location: https://searchc1b61bbf.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: b2de6013-dd00-11ea-9ee5-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchc1b61bbf.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - CF503015E1A531813404B3C503EC2643 + method: POST + uri: https://searchc1b61bbf.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:02:47 GMT + elapsed-time: '142' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: b369c50b-dd00-11ea-a554-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://searchc1b61bbf.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexes.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexes.yaml similarity index 56% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexes.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexes.yaml index d53f6c73fca5..12db8c992e5f 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexes.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexes.yaml @@ -5,56 +5,56 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - A267E470BFF120455C4300D9DF89C73B + - EAB85C4DC88E310CC1A4F960639838CF method: DELETE - uri: https://search86db11ac.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + uri: https://search785e1686.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache - date: Wed, 29 Apr 2020 23:30:55 GMT - elapsed-time: '220' + date: Thu, 13 Aug 2020 00:54:58 GMT + elapsed-time: '217' expires: '-1' pragma: no-cache - request-id: 78b527f4-8a71-11ea-889b-8c8590507855 + request-id: 9c39c50c-dcff-11ea-b28a-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 204 message: No Content - url: https://search86db11ac.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + url: https://search785e1686.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - A267E470BFF120455C4300D9DF89C73B + - EAB85C4DC88E310CC1A4F960639838CF method: GET - uri: https://search86db11ac.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search785e1686.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86db11ac.search.windows.net/$metadata#indexes","value":[]}' + string: '{"@odata.context":"https://search785e1686.search.windows.net/$metadata#indexes","value":[]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '199' + content-length: '200' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:00 GMT - elapsed-time: '17' + date: Thu, 13 Aug 2020 00:55:03 GMT + elapsed-time: '20' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 7be25078-8a71-11ea-889b-8c8590507855 + request-id: 9f6f7a88-dcff-11ea-a292-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search86db11ac.search.windows.net/indexes?api-version=2020-06-30 + url: https://search785e1686.search.windows.net/indexes?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexes_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexes_if_unchanged.yaml similarity index 56% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexes_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexes_if_unchanged.yaml index a95f99b43f1e..239eb26e4a30 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexes_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_indexes_if_unchanged.yaml @@ -1,112 +1,98 @@ interactions: - request: body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [{"name": "MyProfile"}], "corsOptions": {"allowedOrigins": - ["*"], "maxAgeInSeconds": 60}}' + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [{"name": "MyProfile"}], + "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '260' + - '302' Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 80AE7802DD95A3AC15F78D806265235E + - 383621903236555DBCB3A4E192B192CC method: POST - uri: https://search912f16e6.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searchc1c41bc0.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search912f16e6.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED71B008B075\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchc1c41bc0.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F238C04822F\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' headers: cache-control: no-cache - content-length: '890' + content-length: '961' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:03 GMT - elapsed-time: '571' - etag: W/"0x8D7ED71B008B075" + date: Thu, 13 Aug 2020 00:55:17 GMT + elapsed-time: '742' + etag: W/"0x8D83F238C04822F" expires: '-1' - location: https://search912f16e6.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://searchc1c41bc0.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: cba6183e-8b4d-11ea-9e27-2816a845e8c6 + request-id: a74c9fc9-dcff-11ea-b558-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - search912f16e6.search.windows.net - - /indexes - - api-version=2020-06-30 - - '' + url: https://searchc1c41bc0.search.windows.net/indexes?api-version=2020-06-30 - request: body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [], "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": - 60}}' + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [], "corsOptions": + {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '239' + - '281' Content-Type: - application/json Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 80AE7802DD95A3AC15F78D806265235E + - 383621903236555DBCB3A4E192B192CC method: PUT - uri: https://search912f16e6.search.windows.net/indexes('hotels')?api-version=2020-06-30 + uri: https://searchc1c41bc0.search.windows.net/indexes('hotels')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search912f16e6.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED71B02BA833\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchc1c41bc0.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F238C264116\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' headers: cache-control: no-cache content-encoding: gzip - content-length: '506' + content-length: '545' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:03 GMT - elapsed-time: '129' - etag: W/"0x8D7ED71B02BA833" + date: Thu, 13 Aug 2020 00:55:17 GMT + elapsed-time: '162' + etag: W/"0x8D83F238C264116" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: cc2b40f4-8b4d-11ea-aba8-2816a845e8c6 + request-id: a7d809d1-dcff-11ea-ba17-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - search912f16e6.search.windows.net - - /indexes('hotels') - - api-version=2020-06-30 - - '' + url: https://searchc1c41bc0.search.windows.net/indexes('hotels')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal If-Match: - - '"0x8D7ED71B008B075"' + - '"0x8D83F238C04822F"' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 80AE7802DD95A3AC15F78D806265235E + - 383621903236555DBCB3A4E192B192CC method: DELETE - uri: https://search912f16e6.search.windows.net/indexes('hotels')?api-version=2020-06-30 + uri: https://searchc1c41bc0.search.windows.net/indexes('hotels')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -117,23 +103,16 @@ interactions: content-language: en content-length: '160' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:03 GMT - elapsed-time: '15' + date: Thu, 13 Aug 2020 00:55:17 GMT + elapsed-time: '18' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: cc49635c-8b4d-11ea-9b7f-2816a845e8c6 + request-id: a7f8588f-dcff-11ea-8424-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 412 message: Precondition Failed - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - search912f16e6.search.windows.net - - /indexes('hotels') - - api-version=2020-06-30 - - '' + url: https://searchc1c41bc0.search.windows.net/indexes('hotels')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_skillset.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_skillset.yaml similarity index 54% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_skillset.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_skillset.yaml index 1c15c2ee3fe2..0c5b9044785c 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_skillset.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_skillset.yaml @@ -11,213 +11,120 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - FF7C90F7E91B46FA97FDC79B2C54A4F3 + - 6D8FD86BA807F3D514173071F0A88684 method: POST - uri: https://search99551227.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search8fb21701.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search99551227.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E24CB8674E6C\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search8fb21701.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F2404EEE839\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '587' + content-length: '608' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:25:43 GMT - elapsed-time: '79' - etag: W/"0x8D7E24CB8674E6C" + date: Thu, 13 Aug 2020 00:58:40 GMT + elapsed-time: '65' + etag: W/"0x8D83F2404EEE839" expires: '-1' - location: - - h - - t - - t - - p - - s - - ':' - - / - - / - - s - - e - - a - - r - - c - - h - - '9' - - '9' - - '5' - - '5' - - '1' - - '2' - - '2' - - '7' - - . - - s - - e - - a - - r - - c - - h - - . - - w - - i - - n - - d - - o - - w - - s - - . - - n - - e - - t - - / - - s - - k - - i - - l - - l - - s - - e - - t - - s - - ( - - '''' - - t - - e - - s - - t - - '-' - - s - - s - - '''' - - ) - - '?' - - a - - p - - i - - '-' - - v - - e - - r - - s - - i - - o - - n - - '=' - - '2' - - '0' - - '1' - - '9' - - '-' - - '0' - - '5' - - '-' - - '0' - - '6' - - '-' - - P - - r - - e - - v - - i - - e - - w + location: https://search8fb21701.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d3a2d29a-8028-11ea-9358-8c8590507855 + request-id: 209abcab-dd00-11ea-8091-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search99551227.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search8fb21701.search.windows.net/skillsets?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - FF7C90F7E91B46FA97FDC79B2C54A4F3 + - 6D8FD86BA807F3D514173071F0A88684 method: GET - uri: https://search99551227.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search8fb21701.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search99551227.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7E24CB8674E6C\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://search8fb21701.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F2404EEE839\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '521' + content-length: '532' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:25:43 GMT - elapsed-time: '24' + date: Thu, 13 Aug 2020 00:58:40 GMT + elapsed-time: '38' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d3c4ebfa-8028-11ea-9358-8c8590507855 + request-id: 20bd222b-dd00-11ea-9a03-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search99551227.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search8fb21701.search.windows.net/skillsets?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - FF7C90F7E91B46FA97FDC79B2C54A4F3 + - 6D8FD86BA807F3D514173071F0A88684 method: DELETE - uri: https://search99551227.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search8fb21701.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache - date: Thu, 16 Apr 2020 21:25:43 GMT - elapsed-time: '26' + date: Thu, 13 Aug 2020 00:58:40 GMT + elapsed-time: '38' expires: '-1' pragma: no-cache - request-id: d3ccab60-8028-11ea-9358-8c8590507855 + request-id: 20c9591d-dd00-11ea-a1bc-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 204 message: No Content - url: https://search99551227.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + url: https://search8fb21701.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - FF7C90F7E91B46FA97FDC79B2C54A4F3 + - 6D8FD86BA807F3D514173071F0A88684 method: GET - uri: https://search99551227.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search8fb21701.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search99551227.search.windows.net/$metadata#skillsets","value":[]}' + string: '{"@odata.context":"https://search8fb21701.search.windows.net/$metadata#skillsets","value":[]}' headers: cache-control: no-cache content-encoding: gzip content-length: '202' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:25:48 GMT - elapsed-time: '12' + date: Thu, 13 Aug 2020 00:58:46 GMT + elapsed-time: '18' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d6d09380-8028-11ea-9358-8c8590507855 + request-id: 23d0932e-dd00-11ea-b0c1-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search99551227.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search8fb21701.search.windows.net/skillsets?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_skillset_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_skillset_if_unchanged.yaml similarity index 60% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_skillset_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_skillset_if_unchanged.yaml index 05c260cbac2c..ac3ccc507803 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_skillset_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_skillset_if_unchanged.yaml @@ -11,39 +11,32 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 657C58F25F5510BEB3AB19482A2E8DD3 + - B524C957CFAAC3DE231B1059A0BECE76 method: POST - uri: https://searcha9e81761.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchdf571c3b.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searcha9e81761.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7ED71D4C7EB65\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchdf571c3b.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24104BA111\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '587' + content-length: '608' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:05 GMT - elapsed-time: '46' - etag: W/"0x8D7ED71D4C7EB65" + date: Thu, 13 Aug 2020 00:58:59 GMT + elapsed-time: '65' + etag: W/"0x8D83F24104BA111" expires: '-1' - location: https://searcha9e81761.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + location: https://searchdf571c3b.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f0c0d15a-8b4d-11ea-a53c-2816a845e8c6 + request-id: 2bf4d9a7-dd00-11ea-8393-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searcha9e81761.search.windows.net - - /skillsets - - api-version=2020-06-30 - - '' + url: https://searchdf571c3b.search.windows.net/skillsets?api-version=2020-06-30 - request: body: '{"name": "test-ss", "description": "updated", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", @@ -59,53 +52,46 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 657C58F25F5510BEB3AB19482A2E8DD3 + - B524C957CFAAC3DE231B1059A0BECE76 method: PUT - uri: https://searcha9e81761.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searchdf571c3b.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searcha9e81761.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7ED71D4DADAA4\"","name":"test-ss","description":"updated","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchdf571c3b.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24105D3073\"","name":"test-ss","description":"updated","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '466' + content-length: '478' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:05 GMT + date: Thu, 13 Aug 2020 00:58:59 GMT elapsed-time: '64' - etag: W/"0x8D7ED71D4DADAA4" + etag: W/"0x8D83F24105D3073" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f0e2e652-8b4d-11ea-ad8e-2816a845e8c6 + request-id: 2c19bb70-dd00-11ea-a8fd-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searcha9e81761.search.windows.net - - /skillsets('test-ss') - - api-version=2020-06-30 - - '' + url: https://searchdf571c3b.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal If-Match: - - '"0x8D7ED71D4C7EB65"' + - '"0x8D83F24104BA111"' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 657C58F25F5510BEB3AB19482A2E8DD3 + - B524C957CFAAC3DE231B1059A0BECE76 method: DELETE - uri: https://searcha9e81761.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searchdf571c3b.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -116,23 +102,16 @@ interactions: content-language: en content-length: '160' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:49:05 GMT - elapsed-time: '9' + date: Thu, 13 Aug 2020 00:58:59 GMT + elapsed-time: '17' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: f0f5521a-8b4d-11ea-bb06-2816a845e8c6 + request-id: 2c2b65e7-dd00-11ea-8555-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 412 message: Precondition Failed - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searcha9e81761.search.windows.net - - /skillsets('test-ss') - - api-version=2020-06-30 - - '' + url: https://searchdf571c3b.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_synonym_map.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_synonym_map.yaml new file mode 100644 index 000000000000..87a8c09b1670 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_synonym_map.yaml @@ -0,0 +1,136 @@ +interactions: +- request: + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "U\nS\nA\n,\n \nU\nn\ni\nt\ne\nd\n + \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '261' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 122BF6EF082501F87DA86458A2CCFA80 + method: POST + uri: https://searchd8051850.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchd8051850.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23C6013CC7\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '406' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:55 GMT + elapsed-time: '83' + etag: W/"0x8D83F23C6013CC7" + expires: '-1' + location: https://searchd8051850.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e1a81c52-dcff-11ea-b6b8-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchd8051850.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 122BF6EF082501F87DA86458A2CCFA80 + method: GET + uri: https://searchd8051850.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchd8051850.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83F23C6013CC7\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '385' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:55 GMT + elapsed-time: '11' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e1ce2039-dcff-11ea-8d92-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchd8051850.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 122BF6EF082501F87DA86458A2CCFA80 + method: DELETE + uri: https://searchd8051850.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + date: Thu, 13 Aug 2020 00:56:55 GMT + elapsed-time: '19' + expires: '-1' + pragma: no-cache + request-id: e1d67cd7-dcff-11ea-b523-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 204 + message: No Content + url: https://searchd8051850.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 122BF6EF082501F87DA86458A2CCFA80 + method: GET + uri: https://searchd8051850.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchd8051850.search.windows.net/$metadata#synonymmaps","value":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '204' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:56:55 GMT + elapsed-time: '6' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e1df2d86-dcff-11ea-b381-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchd8051850.search.windows.net/synonymmaps?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_synonym_map_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_synonym_map_if_unchanged.yaml new file mode 100644 index 000000000000..3505364a1a65 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_delete_synonym_map_if_unchanged.yaml @@ -0,0 +1,119 @@ +interactions: +- request: + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "U\nS\nA\n,\n \nU\nn\ni\nt\ne\nd\n + \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '261' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - F48E595CDA022E19CFA34C6BE3710645 + method: POST + uri: https://search38bc1d8a.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search38bc1d8a.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23CDE1996D\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '406' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:07 GMT + elapsed-time: '44' + etag: W/"0x8D83F23CDE1996D" + expires: '-1' + location: https://search38bc1d8a.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e98c5d1c-dcff-11ea-a199-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search38bc1d8a.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '125' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - F48E595CDA022E19CFA34C6BE3710645 + method: PUT + uri: https://search38bc1d8a.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search38bc1d8a.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23CDEE6D02\"","name":"test-syn-map","format":"solr","synonyms":"W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '334' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:07 GMT + elapsed-time: '30' + etag: W/"0x8D83F23CDEE6D02" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e9ae0fe8-dcff-11ea-9b97-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search38bc1d8a.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + If-Match: + - '"0x8D83F23CDE1996D"' + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - F48E595CDA022E19CFA34C6BE3710645 + method: DELETE + uri: https://search38bc1d8a.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"The precondition given in one of the + request headers evaluated to false. No change was made to the resource from + this request."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '160' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:08 GMT + elapsed-time: '5' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e9bb255a-dcff-11ea-ac92-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 412 + message: Precondition Failed + url: https://search38bc1d8a.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_datasource_async.yaml new file mode 100644 index 000000000000..9109409d3e59 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_datasource_async.yaml @@ -0,0 +1,73 @@ +interactions: +- request: + body: '{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - A601EE52AD702E8D82702BF3051A5FC8 + method: POST + uri: https://search8bb190b.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search8bb190b.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F24542C395E\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '390' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:00:53 GMT + elapsed-time: '33' + etag: W/"0x8D83F24542C395E" + expires: '-1' + location: https://search8bb190b.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 6fdbd1f5-dd00-11ea-8f4e-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search8bb190b.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - A601EE52AD702E8D82702BF3051A5FC8 + method: GET + uri: https://search8bb190b.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search8bb190b.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F24542C395E\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '368' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:00:53 GMT + elapsed-time: '9' + etag: W/"0x8D83F24542C395E" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 6ffa4d3a-dd00-11ea-9b62-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search8bb190b.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_index.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_index.yaml new file mode 100644 index 000000000000..9c1f4584cc8b --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_index.yaml @@ -0,0 +1,35 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D79E2310FBC2684126EB22618BC6F54E + method: GET + uri: https://searchc3d147b.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchc3d147b.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F2391D0DFCA\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '1165' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:55:31 GMT + elapsed-time: '55' + etag: W/"0x8D83F2391D0DFCA" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: afc24a1a-dcff-11ea-9fce-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchc3d147b.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_index_statistics.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_index_statistics.yaml new file mode 100644 index 000000000000..df6bd3cd41e3 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_index_statistics.yaml @@ -0,0 +1,34 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 92E163BBACC014A37BEE27A9A99E394B + method: GET + uri: https://search9691925.search.windows.net/indexes('drgqefsg')/search.stats?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search9691925.search.windows.net/$metadata#Microsoft.Azure.Search.V2020_06_30.IndexStatistics","documentCount":0,"storageSize":0}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '255' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:55:44 GMT + elapsed-time: '30' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: b78703a2-dcff-11ea-80e9-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search9691925.search.windows.net/indexes('drgqefsg')/search.stats?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_indexer.yaml new file mode 100644 index 000000000000..501f0b5bb5ea --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_indexer.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 795DD59BC0153093498AD1B9337FEBE6 + method: POST + uri: https://search366f1552.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search366f1552.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F249FC5F01D\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:00 GMT + elapsed-time: '72' + etag: W/"0x8D83F249FC5F01D" + expires: '-1' + location: https://search366f1552.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: bb6d3e44-dd00-11ea-bb74-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search366f1552.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 795DD59BC0153093498AD1B9337FEBE6 + method: POST + uri: https://search366f1552.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search366f1552.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F24A041C667\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:01 GMT + elapsed-time: '663' + etag: W/"0x8D83F24A041C667" + expires: '-1' + location: https://search366f1552.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: bb93f7e3-dd00-11ea-b2a4-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search366f1552.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 795DD59BC0153093498AD1B9337FEBE6 + method: POST + uri: https://search366f1552.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:01 GMT + elapsed-time: '171' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: bc143140-dd00-11ea-b41e-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://search366f1552.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_indexer_status.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_indexer_status.yaml new file mode 100644 index 000000000000..c7e1b5e5a011 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_indexer_status.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 45475694F5DDFE10468BAC415901CD96 + method: POST + uri: https://searchd7791855.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchd7791855.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F24A8895C4A\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:15 GMT + elapsed-time: '92' + etag: W/"0x8D83F24A8895C4A" + expires: '-1' + location: https://searchd7791855.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: c4324032-dd00-11ea-8031-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchd7791855.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 45475694F5DDFE10468BAC415901CD96 + method: POST + uri: https://searchd7791855.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchd7791855.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F24A90C38AA\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:16 GMT + elapsed-time: '705' + etag: W/"0x8D83F24A90C38AA" + expires: '-1' + location: https://searchd7791855.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: c45942c3-dd00-11ea-b154-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchd7791855.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 45475694F5DDFE10468BAC415901CD96 + method: POST + uri: https://searchd7791855.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:16 GMT + elapsed-time: '139' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: c4de829e-dd00-11ea-8801-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://searchd7791855.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_service_statistics.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_service_statistics.yaml new file mode 100644 index 000000000000..db12edec53b6 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_service_statistics.yaml @@ -0,0 +1,34 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 9668DBB06986BDAE69C5806FCE628E21 + method: GET + uri: https://search3d4a19fe.search.windows.net/servicestats?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search3d4a19fe.search.windows.net/$metadata#Microsoft.Azure.Search.V2020_06_30.ServiceStatistics","counters":{"documentCount":{"usage":0,"quota":null},"indexesCount":{"usage":0,"quota":3},"indexersCount":{"usage":0,"quota":3},"dataSourcesCount":{"usage":0,"quota":3},"storageSize":{"usage":0,"quota":52428800},"synonymMaps":{"usage":0,"quota":3}},"limits":{"maxFieldsPerIndex":1000,"maxFieldNestingDepthPerIndex":10,"maxComplexCollectionFieldsPerIndex":40,"maxComplexObjectsInCollectionsPerDocument":3000}}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '414' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:55:52 GMT + elapsed-time: '66' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: bc6186dc-dcff-11ea-b374-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search3d4a19fe.search.windows.net/servicestats?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_skillset.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_skillset.yaml similarity index 55% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_skillset.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_skillset.yaml index b6acc9c8997a..36c1527cfb63 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_skillset.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_skillset.yaml @@ -11,188 +11,95 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C91B40DCD141C4903F6BF6DDE5C216B8 + - 14D17245A53F167F958B2AE7A7E0219A method: POST - uri: https://search64c210f4.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search4c9115ce.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search64c210f4.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E24A617C32B0\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search4c9115ce.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24186A2371\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '587' + content-length: '608' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:58 GMT - elapsed-time: '71' - etag: W/"0x8D7E24A617C32B0" + date: Thu, 13 Aug 2020 00:59:13 GMT + elapsed-time: '98' + etag: W/"0x8D83F24186A2371" expires: '-1' - location: - - h - - t - - t - - p - - s - - ':' - - / - - / - - s - - e - - a - - r - - c - - h - - '6' - - '4' - - c - - '2' - - '1' - - '0' - - f - - '4' - - . - - s - - e - - a - - r - - c - - h - - . - - w - - i - - n - - d - - o - - w - - s - - . - - n - - e - - t - - / - - s - - k - - i - - l - - l - - s - - e - - t - - s - - ( - - '''' - - t - - e - - s - - t - - '-' - - s - - s - - '''' - - ) - - '?' - - a - - p - - i - - '-' - - v - - e - - r - - s - - i - - o - - n - - '=' - - '2' - - '0' - - '1' - - '9' - - '-' - - '0' - - '5' - - '-' - - '0' - - '6' - - '-' - - P - - r - - e - - v - - i - - e - - w + location: https://search4c9115ce.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 7c5e0c7c-8026-11ea-96cc-8c8590507855 + request-id: 340f2cfc-dd00-11ea-8f0e-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search64c210f4.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search4c9115ce.search.windows.net/skillsets?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C91B40DCD141C4903F6BF6DDE5C216B8 + - 14D17245A53F167F958B2AE7A7E0219A method: GET - uri: https://search64c210f4.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search4c9115ce.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search64c210f4.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7E24A617C32B0\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://search4c9115ce.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F24186A2371\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '520' + content-length: '532' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:58 GMT + date: Thu, 13 Aug 2020 00:59:13 GMT elapsed-time: '35' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 7c7848c6-8026-11ea-96cc-8c8590507855 + request-id: 34380192-dd00-11ea-aac6-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search64c210f4.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search4c9115ce.search.windows.net/skillsets?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C91B40DCD141C4903F6BF6DDE5C216B8 + - 14D17245A53F167F958B2AE7A7E0219A method: GET - uri: https://search64c210f4.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search4c9115ce.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search64c210f4.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E24A617C32B0\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search4c9115ce.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24186A2371\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '518' + content-length: '529' content-type: application/json; odata.metadata=minimal - date: Thu, 16 Apr 2020 21:08:58 GMT - elapsed-time: '15' - etag: W/"0x8D7E24A617C32B0" + date: Thu, 13 Aug 2020 00:59:13 GMT + elapsed-time: '25' + etag: W/"0x8D83F24186A2371" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 7c81aa2e-8026-11ea-96cc-8c8590507855 + request-id: 3443553a-dd00-11ea-baa4-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search64c210f4.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + url: https://search4c9115ce.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_skillsets.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_skillsets.yaml similarity index 58% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_skillsets.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_skillsets.yaml index 8ad4c29f6196..b51f3935428f 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_skillsets.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_skillsets.yaml @@ -12,32 +12,32 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E7DFF42D4A68C86549EE3712ACA7DDF9 + - CB68CD9B6F3625D1D289F317F3C567E6 method: POST - uri: https://search76291167.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search62d21641.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search76291167.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E6369AF5F4FB\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search62d21641.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F2420EC82E5\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '590' + content-length: '611' content-type: application/json; odata.metadata=minimal - date: Tue, 21 Apr 2020 20:57:29 GMT - elapsed-time: '113' - etag: W/"0x8D7E6369AF5F4FB" + date: Thu, 13 Aug 2020 00:59:27 GMT + elapsed-time: '57' + etag: W/"0x8D83F2420EC82E5" expires: '-1' - location: https://search76291167.search.windows.net/skillsets('test-ss-1')?api-version=2020-06-30 + location: https://search62d21641.search.windows.net/skillsets('test-ss-1')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: b5c0a93a-8412-11ea-a894-8c8590507855 + request-id: 3c990817-dd00-11ea-8ebe-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search76291167.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search62d21641.search.windows.net/skillsets?api-version=2020-06-30 - request: body: '{"name": "test-ss-2", "description": "desc2", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", @@ -51,62 +51,62 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E7DFF42D4A68C86549EE3712ACA7DDF9 + - CB68CD9B6F3625D1D289F317F3C567E6 method: POST - uri: https://search76291167.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search62d21641.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search76291167.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7E6369B020510\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search62d21641.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F2420FB2B8F\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '590' + content-length: '611' content-type: application/json; odata.metadata=minimal - date: Tue, 21 Apr 2020 20:57:29 GMT - elapsed-time: '48' - etag: W/"0x8D7E6369B020510" + date: Thu, 13 Aug 2020 00:59:27 GMT + elapsed-time: '52' + etag: W/"0x8D83F2420FB2B8F" expires: '-1' - location: https://search76291167.search.windows.net/skillsets('test-ss-2')?api-version=2020-06-30 + location: https://search62d21641.search.windows.net/skillsets('test-ss-2')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: b5e29ae0-8412-11ea-a894-8c8590507855 + request-id: 3cbabc68-dd00-11ea-8823-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search76291167.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search62d21641.search.windows.net/skillsets?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E7DFF42D4A68C86549EE3712ACA7DDF9 + - CB68CD9B6F3625D1D289F317F3C567E6 method: GET - uri: https://search76291167.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search62d21641.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search76291167.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7E6369AF5F4FB\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null},{"@odata.etag":"\"0x8D7E6369B020510\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://search62d21641.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F2420EC82E5\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null},{"@odata.etag":"\"0x8D83F2420FB2B8F\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '555' + content-length: '564' content-type: application/json; odata.metadata=minimal - date: Tue, 21 Apr 2020 20:57:29 GMT - elapsed-time: '39' + date: Thu, 13 Aug 2020 00:59:27 GMT + elapsed-time: '68' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: b5ee71bc-8412-11ea-a894-8c8590507855 + request-id: 3cca1069-dd00-11ea-82c2-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search76291167.search.windows.net/skillsets?api-version=2020-06-30 + url: https://search62d21641.search.windows.net/skillsets?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_synonym_map.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_synonym_map.yaml new file mode 100644 index 000000000000..9559b3ec6ae1 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_synonym_map.yaml @@ -0,0 +1,114 @@ +interactions: +- request: + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "U\nS\nA\n,\n \nU\nn\ni\nt\ne\nd\n + \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '261' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D695A90301927C42D00A388DEB723C1C + method: POST + uri: https://search914b171d.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search914b171d.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23D5EC904B\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '406' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:21 GMT + elapsed-time: '40' + etag: W/"0x8D83F23D5EC904B" + expires: '-1' + location: https://search914b171d.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: f199c54e-dcff-11ea-80e4-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search914b171d.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D695A90301927C42D00A388DEB723C1C + method: GET + uri: https://search914b171d.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search914b171d.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83F23D5EC904B\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '385' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:21 GMT + elapsed-time: '9' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: f1b96779-dcff-11ea-b0d4-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search914b171d.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D695A90301927C42D00A388DEB723C1C + method: GET + uri: https://search914b171d.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search914b171d.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23D5EC904B\"","name":"test-syn-map","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '380' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:21 GMT + elapsed-time: '7' + etag: W/"0x8D83F23D5EC904B" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: f1c1817e-dcff-11ea-9486-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search914b171d.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_synonym_maps.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_synonym_maps.yaml new file mode 100644 index 000000000000..04520fbeff9f --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_get_synonym_maps.yaml @@ -0,0 +1,118 @@ +interactions: +- request: + body: '{"name": "test-syn-map-1", "format": "solr", "synonyms": "U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '263' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2ABDBD348C117419E9A46F5819AD2028 + method: POST + uri: https://searcha8db1790.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searcha8db1790.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23DD96908D\"","name":"test-syn-map-1","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '408' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:34 GMT + elapsed-time: '37' + etag: W/"0x8D83F23DD96908D" + expires: '-1' + location: https://searcha8db1790.search.windows.net/synonymmaps('test-syn-map-1')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: f9447a4b-dcff-11ea-8158-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searcha8db1790.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: '{"name": "test-syn-map-2", "format": "solr", "synonyms": "W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '127' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2ABDBD348C117419E9A46F5819AD2028 + method: POST + uri: https://searcha8db1790.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searcha8db1790.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83F23DDA1B624\"","name":"test-syn-map-2","format":"solr","synonyms":"W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '272' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:34 GMT + elapsed-time: '26' + etag: W/"0x8D83F23DDA1B624" + expires: '-1' + location: https://searcha8db1790.search.windows.net/synonymmaps('test-syn-map-2')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: f9634c7b-dcff-11ea-bf56-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searcha8db1790.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2ABDBD348C117419E9A46F5819AD2028 + method: GET + uri: https://searcha8db1790.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searcha8db1790.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83F23DD96908D\"","name":"test-syn-map-1","format":"solr","synonyms":"U\nS\nA\n,\n + \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n,\n \nU\nn\ni\nt\ne\nd\n \nS\nt\na\nt\ne\ns\n + \no\nf\n \nA\nm\ne\nr\ni\nc\na\n\n\nW\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n \nW\na\ns\nh\n.\n + \n=\n>\n \nW\nA","encryptionKey":null},{"@odata.etag":"\"0x8D83F23DDA1B624\"","name":"test-syn-map-2","format":"solr","synonyms":"W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA","encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '411' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 00:57:34 GMT + elapsed-time: '37' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: f96dcdb3-dcff-11ea-89ce-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searcha8db1790.search.windows.net/synonymmaps?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_datasource_async.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_datasource_async.yaml new file mode 100644 index 000000000000..a224bb16a53f --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_datasource_async.yaml @@ -0,0 +1,110 @@ +interactions: +- request: + body: '{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCE84900C1A6AA2A6242A5D4C8EEF034 + method: POST + uri: https://search238d1987.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search238d1987.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F245C355B2B\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:01:07 GMT + elapsed-time: '78' + etag: W/"0x8D83F245C355B2B" + expires: '-1' + location: https://search238d1987.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 77dd00bd-dd00-11ea-abb3-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search238d1987.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "another-sample", "type": "azureblob", "credentials": {"connectionString": + "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, + "container": {"name": "searchcontainer"}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '316' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCE84900C1A6AA2A6242A5D4C8EEF034 + method: POST + uri: https://search238d1987.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search238d1987.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F245C41B985\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '388' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:01:07 GMT + elapsed-time: '36' + etag: W/"0x8D83F245C41B985" + expires: '-1' + location: https://search238d1987.search.windows.net/datasources('another-sample')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 78031f8b-dd00-11ea-a378-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search238d1987.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCE84900C1A6AA2A6242A5D4C8EEF034 + method: GET + uri: https://search238d1987.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search238d1987.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F245C41B985\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null},{"@odata.etag":"\"0x8D83F245C355B2B\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '401' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:01:07 GMT + elapsed-time: '17' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 781016df-dd00-11ea-9497-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search238d1987.search.windows.net/datasources?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexer.yaml new file mode 100644 index 000000000000..903a52295a5c --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexer.yaml @@ -0,0 +1,195 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D3B8BCEFD42861937E1270046C293673 + method: POST + uri: https://search4ce515ce.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search4ce515ce.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F24B088B828\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:28 GMT + elapsed-time: '57' + etag: W/"0x8D83F24B088B828" + expires: '-1' + location: https://search4ce515ce.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: cc343c7d-dd00-11ea-9ff8-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search4ce515ce.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D3B8BCEFD42861937E1270046C293673 + method: POST + uri: https://search4ce515ce.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search4ce515ce.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F24B1113AFE\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:29 GMT + elapsed-time: '731' + etag: W/"0x8D83F24B1113AFE" + expires: '-1' + location: https://search4ce515ce.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: cc57e2d0-dd00-11ea-a064-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search4ce515ce.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: 'b''{"name": "another-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '320' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D3B8BCEFD42861937E1270046C293673 + method: POST + uri: https://search4ce515ce.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search4ce515ce.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F24B132ABC3\"","name":"another-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '392' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:29 GMT + elapsed-time: '57' + etag: W/"0x8D83F24B132ABC3" + expires: '-1' + location: https://search4ce515ce.search.windows.net/datasources('another-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: cce30bfd-dd00-11ea-959c-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search4ce515ce.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "another-index", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '135' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D3B8BCEFD42861937E1270046C293673 + method: POST + uri: https://search4ce515ce.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search4ce515ce.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F24B1C67B51\"","name":"another-index","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '636' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:30 GMT + elapsed-time: '803' + etag: W/"0x8D83F24B1C67B51" + expires: '-1' + location: https://search4ce515ce.search.windows.net/indexes('another-index')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: cd04852f-dd00-11ea-83e2-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search4ce515ce.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D3B8BCEFD42861937E1270046C293673 + method: POST + uri: https://search4ce515ce.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:31 GMT + elapsed-time: '177' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: cd996f6b-dd00-11ea-9a46-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://search4ce515ce.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexes.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexes.yaml similarity index 90% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexes.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexes.yaml index 251238e6efed..17b692664d0c 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexes.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexes.yaml @@ -5,30 +5,30 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 98F882124BE28E7E0EA564B871D89281 + - DB8E95945D354C3755989DB76EBD9E76 method: GET - uri: https://search651710f5.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search4ce615cf.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search651710f5.search.windows.net/$metadata#indexes","value":[{"@odata.etag":"\"0x8D7EC9573E8092C\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}]}' + string: '{"@odata.context":"https://search4ce615cf.search.windows.net/$metadata#indexes","value":[{"@odata.etag":"\"0x8D83F23A60070D1\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '1114' + content-length: '1154' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:37 GMT - elapsed-time: '80' + date: Thu, 13 Aug 2020 00:56:05 GMT + elapsed-time: '55' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 919d4616-8a71-11ea-889b-8c8590507855 + request-id: c409d305-dcff-11ea-9802-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search651710f5.search.windows.net/indexes?api-version=2020-06-30 + url: https://search4ce615cf.search.windows.net/indexes?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexes_empty.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexes_empty.yaml similarity index 61% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexes_empty.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexes_empty.yaml index 2497965fca0a..b1a92fd27175 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexes_empty.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_list_indexes_empty.yaml @@ -5,30 +5,30 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3047B2B0CC7B88CC2CE6D80B142582F2 + - 7F8A294BF96A6330A6CD8830EDF5EE3E method: GET - uri: https://searchd36d1383.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searchd858185d.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd36d1383.search.windows.net/$metadata#indexes","value":[]}' + string: '{"@odata.context":"https://searchd858185d.search.windows.net/$metadata#indexes","value":[]}' headers: cache-control: no-cache content-encoding: gzip content-length: '200' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:42 GMT - elapsed-time: '44' + date: Thu, 13 Aug 2020 00:56:14 GMT + elapsed-time: '41' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 958d78d6-8a71-11ea-889b-8c8590507855 + request-id: c989b624-dcff-11ea-bdcd-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchd36d1383.search.windows.net/indexes?api-version=2020-06-30 + url: https://searchd858185d.search.windows.net/indexes?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_reset_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_reset_indexer.yaml new file mode 100644 index 000000000000..ddcb83a5aead --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_reset_indexer.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2BCFCA84EB1E7A4AA133D3E59CC1BFFE + method: POST + uri: https://search63011635.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search63011635.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F24B95A5796\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:42 GMT + elapsed-time: '78' + etag: W/"0x8D83F24B95A5796" + expires: '-1' + location: https://search63011635.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d505292d-dd00-11ea-9495-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search63011635.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2BCFCA84EB1E7A4AA133D3E59CC1BFFE + method: POST + uri: https://search63011635.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search63011635.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F24B9DF3030\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:43 GMT + elapsed-time: '720' + etag: W/"0x8D83F24B9DF3030" + expires: '-1' + location: https://search63011635.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d52942db-dd00-11ea-a8ff-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search63011635.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 2BCFCA84EB1E7A4AA133D3E59CC1BFFE + method: POST + uri: https://search63011635.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:44 GMT + elapsed-time: '146' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: d5b1e9f8-dd00-11ea-afe8-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://search63011635.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_run_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_run_indexer.yaml new file mode 100644 index 000000000000..6ae135b6ec03 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_live_async.test_run_indexer.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: 'b''{"name": "sample-datasource", "type": "azureblob", "credentials": {"connectionString": + "connection_string"}, "container": {"name": "searchcontainer"}}''' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '319' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4F0E3039E0DEA951BAF0200D808273AF + method: POST + uri: https://search37521567.search.windows.net/datasources?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search37521567.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F24C1C8DD71\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '391' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:57 GMT + elapsed-time: '58' + etag: W/"0x8D83F24C1C8DD71" + expires: '-1' + location: https://search37521567.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: dd786c38-dd00-11ea-9928-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search37521567.search.windows.net/datasources?api-version=2020-06-30 +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '128' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4F0E3039E0DEA951BAF0200D808273AF + method: POST + uri: https://search37521567.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search37521567.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F24C24DDD34\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: no-cache + content-length: '629' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:57 GMT + elapsed-time: '704' + etag: W/"0x8D83F24C24DDD34" + expires: '-1' + location: https://search37521567.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: dd98b9cf-dd00-11ea-9b07-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search37521567.search.windows.net/indexes?api-version=2020-06-30 +- request: + body: '{"name": "sample-indexer", "dataSourceName": "sample-datasource", "targetIndexName": + "hotels", "disabled": false}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '113' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 4F0E3039E0DEA951BAF0200D808273AF + method: POST + uri: https://search37521567.search.windows.net/indexers?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"Error with data source: Credentials + provided in the connection string are invalid or have expired.\r\nAs a result + of a one-time maintenance activity, your search service went through a change + of the IP address for its API endpoint. This caused indexers that depend on + network access rules on the data source to stop working. In order to address + this issue, please update the network access rules in your data source to + use the new IP address. We apologize for the inconvenience.\r\nFor more information + on troubleshooting connection issues to Azure Storage accounts, please see + https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source + definition in order to proceed."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '723' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:03:58 GMT + elapsed-time: '157' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: de2006c6-dd00-11ea-89a3-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 400 + message: Bad Request + url: https://search37521567.search.windows.net/indexers?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset.yaml new file mode 100644 index 000000000000..f6b980595a69 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset.yaml @@ -0,0 +1,150 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc1", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '253' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - F728559CB86780C6832706DCCD5A0A1E + method: PUT + uri: https://search971e1eee.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search971e1eee.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24CABCD82C\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '609' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:12 GMT + elapsed-time: '70' + etag: W/"0x8D83F24CABCD82C" + expires: '-1' + location: https://search971e1eee.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e666c3b0-dd00-11ea-88b0-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search971e1eee.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +- request: + body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '253' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - F728559CB86780C6832706DCCD5A0A1E + method: PUT + uri: https://search971e1eee.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search971e1eee.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24CACD7CFF\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '475' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:12 GMT + elapsed-time: '69' + etag: W/"0x8D83F24CACD7CFF" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e68adf8d-dd00-11ea-b5fc-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search971e1eee.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - F728559CB86780C6832706DCCD5A0A1E + method: GET + uri: https://search971e1eee.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search971e1eee.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F24CACD7CFF\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '532' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:12 GMT + elapsed-time: '50' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e69baa11-dd00-11ea-babe-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search971e1eee.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - F728559CB86780C6832706DCCD5A0A1E + method: GET + uri: https://search971e1eee.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search971e1eee.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24CACD7CFF\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '530' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:12 GMT + elapsed-time: '26' + etag: W/"0x8D83F24CACD7CFF" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: e6a9dfda-dd00-11ea-b953-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search971e1eee.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset_if_unchanged.yaml new file mode 100644 index 000000000000..1f0ff61902fe --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset_if_unchanged.yaml @@ -0,0 +1,117 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc1", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '253' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 01403115EE5BE1BA6A55848DFE606F30 + method: PUT + uri: https://search4ddb2428.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search4ddb2428.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24D3086636\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '609' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:25 GMT + elapsed-time: '67' + etag: W/"0x8D83F24D3086636" + expires: '-1' + location: https://search4ddb2428.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: eeb19926-dd00-11ea-ad0b-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search4ddb2428.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +- request: + body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '253' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 01403115EE5BE1BA6A55848DFE606F30 + method: PUT + uri: https://search4ddb2428.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search4ddb2428.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24D31A91F4\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '475' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:25 GMT + elapsed-time: '69' + etag: W/"0x8D83F24D31A91F4" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: eed6ffcc-dd00-11ea-9ef5-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search4ddb2428.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 01403115EE5BE1BA6A55848DFE606F30 + method: GET + uri: https://search4ddb2428.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search4ddb2428.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F24D31A91F4\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '532' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:25 GMT + elapsed-time: '39' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: eee88770-dd00-11ea-a1b1-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search4ddb2428.search.windows.net/skillsets?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset_inplace.yaml similarity index 52% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset_inplace.yaml index 6f499a6d98d1..a162fbdfd337 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_skillset_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_or_update_skillset_inplace.yaml @@ -14,176 +14,137 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 44D0AAF55BE852CA16BF1BD860CFB5D1 + - 4A0750E462F357A0A780F0FBF480DA03 method: PUT - uri: https://searchab6c1b84.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search9d362229.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchab6c1b84.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7ED71C3B43149\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search9d362229.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24DB5A5E22\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-length: '588' + content-length: '609' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:35 GMT - elapsed-time: '63' - etag: W/"0x8D7ED71C3B43149" + date: Thu, 13 Aug 2020 01:04:40 GMT + elapsed-time: '51' + etag: W/"0x8D83F24DB5A5E22" expires: '-1' - location: https://searchab6c1b84.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + location: https://search9d362229.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: dfa970b6-8b4d-11ea-aba9-2816a845e8c6 + request-id: f705a28c-dd00-11ea-8d58-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchab6c1b84.search.windows.net - - /skillsets('test-ss') - - api-version=2020-06-30 - - '' + url: https://search9d362229.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - request: body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": - "organizations"}]}], "@odata.etag": "\"0x8D7ED71C3B43149\""}' + "organizations"}]}]}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '293' + - '253' Content-Type: - application/json Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 44D0AAF55BE852CA16BF1BD860CFB5D1 + - 4A0750E462F357A0A780F0FBF480DA03 method: PUT - uri: https://searchab6c1b84.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search9d362229.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchab6c1b84.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7ED71C3C23D9E\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search9d362229.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24DB69CA42\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '464' + content-length: '476' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:35 GMT - elapsed-time: '39' - etag: W/"0x8D7ED71C3C23D9E" + date: Thu, 13 Aug 2020 01:04:40 GMT + elapsed-time: '72' + etag: W/"0x8D83F24DB69CA42" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: dfcf0940-8b4d-11ea-833a-2816a845e8c6 + request-id: f728b9c1-dd00-11ea-95a7-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchab6c1b84.search.windows.net - - /skillsets('test-ss') - - api-version=2020-06-30 - - '' + url: https://search9d362229.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 44D0AAF55BE852CA16BF1BD860CFB5D1 + - 4A0750E462F357A0A780F0FBF480DA03 method: GET - uri: https://searchab6c1b84.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search9d362229.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchab6c1b84.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7ED71C3C23D9E\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://search9d362229.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F24DB69CA42\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '521' + content-length: '533' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:35 GMT - elapsed-time: '22' + date: Thu, 13 Aug 2020 01:04:40 GMT + elapsed-time: '39' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: dfdc6bd2-8b4d-11ea-90dd-2816a845e8c6 + request-id: f73b1489-dd00-11ea-9b57-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchab6c1b84.search.windows.net - - /skillsets - - api-version=2020-06-30 - - '' + url: https://search9d362229.search.windows.net/skillsets?api-version=2020-06-30 - request: - body: '{"name": "test-ss", "description": "desc1", "skills": [{"@odata.type": - "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", - "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": - "organizations"}]}], "@odata.etag": "\"0x8D7ED71C3B43149\""}' + body: null headers: Accept: - application/json;odata.metadata=minimal - Content-Length: - - '293' - Content-Type: - - application/json - If-Match: - - '"0x8D7ED71C3B43149"' - Prefer: - - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 44D0AAF55BE852CA16BF1BD860CFB5D1 - method: PUT - uri: https://searchab6c1b84.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + - 4A0750E462F357A0A780F0FBF480DA03 + method: GET + uri: https://search9d362229.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"error":{"code":"","message":"The precondition given in one of the - request headers evaluated to false. No change was made to the resource from - this request."}}' + string: '{"@odata.context":"https://search9d362229.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24DB69CA42\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: no-cache - content-language: en - content-length: '160' + content-encoding: gzip + content-length: '531' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:35 GMT - elapsed-time: '12' + date: Thu, 13 Aug 2020 01:04:40 GMT + elapsed-time: '26' + etag: W/"0x8D83F24DB69CA42" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: dfe78992-8b4d-11ea-beb5-2816a845e8c6 + request-id: f747ce17-dd00-11ea-b09f-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding status: - code: 412 - message: Precondition Failed - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchab6c1b84.search.windows.net - - /skillsets('test-ss') - - api-version=2020-06-30 - - '' + code: 200 + message: OK + url: https://search9d362229.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_skillset.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_skillset.yaml new file mode 100644 index 000000000000..e0ae14c9cd9a --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_create_skillset.yaml @@ -0,0 +1,72 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": + "organizations", "targetName": "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '252' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - ED631490CDB800ED48D1F3C3950D1DFA + method: POST + uri: https://search75151acc.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search75151acc.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24E55B079E\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '608' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:57 GMT + elapsed-time: '72' + etag: W/"0x8D83F24E55B079E" + expires: '-1' + location: https://search75151acc.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 010544f3-dd01-11ea-b7ba-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search75151acc.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - ED631490CDB800ED48D1F3C3950D1DFA + method: GET + uri: https://search75151acc.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search75151acc.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F24E55B079E\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '532' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:04:57 GMT + elapsed-time: '75' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 01293148-dd01-11ea-9e49-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search75151acc.search.windows.net/skillsets?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_delete_skillset.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_delete_skillset.yaml new file mode 100644 index 000000000000..c3ed547c5783 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_delete_skillset.yaml @@ -0,0 +1,130 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": + "organizations", "targetName": "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '252' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 621229908D76975B3C4F008D681E8839 + method: POST + uri: https://search74f91acb.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search74f91acb.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24ED731E80\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '608' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:10 GMT + elapsed-time: '59' + etag: W/"0x8D83F24ED731E80" + expires: '-1' + location: https://search74f91acb.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 091d9b16-dd01-11ea-9905-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search74f91acb.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 621229908D76975B3C4F008D681E8839 + method: GET + uri: https://search74f91acb.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search74f91acb.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F24ED731E80\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '531' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:10 GMT + elapsed-time: '59' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 0940af75-dd01-11ea-87af-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search74f91acb.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 621229908D76975B3C4F008D681E8839 + method: DELETE + uri: https://search74f91acb.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: no-cache + date: Thu, 13 Aug 2020 01:05:10 GMT + elapsed-time: '55' + expires: '-1' + pragma: no-cache + request-id: 094f8542-dd01-11ea-9899-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 204 + message: No Content + url: https://search74f91acb.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 621229908D76975B3C4F008D681E8839 + method: GET + uri: https://search74f91acb.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search74f91acb.search.windows.net/$metadata#skillsets","value":[]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '201' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:16 GMT + elapsed-time: '20' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 0c5b64dc-dd01-11ea-92be-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search74f91acb.search.windows.net/skillsets?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_delete_skillset_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_delete_skillset_if_unchanged.yaml new file mode 100644 index 000000000000..4e2e17b293e7 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_delete_skillset_if_unchanged.yaml @@ -0,0 +1,117 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": + "organizations", "targetName": "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '252' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 619EA1EF2B621E53FCE6DF512BDD0FC5 + method: POST + uri: https://searchf5e02005.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchf5e02005.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24F8A205A1\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '608' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:28 GMT + elapsed-time: '82' + etag: W/"0x8D83F24F8A205A1" + expires: '-1' + location: https://searchf5e02005.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 144d97f9-dd01-11ea-9b3e-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searchf5e02005.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: '{"name": "test-ss", "description": "updated", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '255' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 619EA1EF2B621E53FCE6DF512BDD0FC5 + method: PUT + uri: https://searchf5e02005.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchf5e02005.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24F8B802A0\"","name":"test-ss","description":"updated","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '477' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:28 GMT + elapsed-time: '63' + etag: W/"0x8D83F24F8B802A0" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 1474dc40-dd01-11ea-bebe-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searchf5e02005.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + If-Match: + - '"0x8D83F24F8A205A1"' + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 619EA1EF2B621E53FCE6DF512BDD0FC5 + method: DELETE + uri: https://searchf5e02005.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"The precondition given in one of the + request headers evaluated to false. No change was made to the resource from + this request."}}' + headers: + cache-control: no-cache + content-language: en + content-length: '160' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:28 GMT + elapsed-time: '21' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 1485ca48-dd01-11ea-91c4-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 412 + message: Precondition Failed + url: https://searchf5e02005.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_get_skillset.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_get_skillset.yaml new file mode 100644 index 000000000000..c329caf15d51 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_get_skillset.yaml @@ -0,0 +1,105 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": + "organizations", "targetName": "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '252' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F2EAA31E1A259AF520F0D32E81F091F + method: POST + uri: https://search267a1998.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search267a1998.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24FFFF3608\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '608' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:40 GMT + elapsed-time: '111' + etag: W/"0x8D83F24FFFF3608" + expires: '-1' + location: https://search267a1998.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 1ba14cbe-dd01-11ea-844d-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search267a1998.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F2EAA31E1A259AF520F0D32E81F091F + method: GET + uri: https://search267a1998.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search267a1998.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F24FFFF3608\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '530' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:42 GMT + elapsed-time: '39' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 1bcdfcd5-dd01-11ea-aa01-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search267a1998.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F2EAA31E1A259AF520F0D32E81F091F + method: GET + uri: https://search267a1998.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search267a1998.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F24FFFF3608\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '528' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:42 GMT + elapsed-time: '26' + etag: W/"0x8D83F24FFFF3608" + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 1bdaa92e-dd01-11ea-b1c7-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search267a1998.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_get_skillsets.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_get_skillsets.yaml new file mode 100644 index 000000000000..af05b0954e62 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_skillset_live_async.test_get_skillsets.yaml @@ -0,0 +1,112 @@ +interactions: +- request: + body: '{"name": "test-ss-1", "description": "desc1", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '255' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 5980FBC34D3C9727DE47E1A7A92BE27D + method: POST + uri: https://search40851a0b.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search40851a0b.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F25074753F5\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '611' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:53 GMT + elapsed-time: '67' + etag: W/"0x8D83F25074753F5" + expires: '-1' + location: https://search40851a0b.search.windows.net/skillsets('test-ss-1')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 22ee0e3d-dd01-11ea-9009-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search40851a0b.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: '{"name": "test-ss-2", "description": "desc2", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '255' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 5980FBC34D3C9727DE47E1A7A92BE27D + method: POST + uri: https://search40851a0b.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search40851a0b.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F2507581FE7\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '611' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:53 GMT + elapsed-time: '54' + etag: W/"0x8D83F2507581FE7" + expires: '-1' + location: https://search40851a0b.search.windows.net/skillsets('test-ss-2')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 231585bc-dd01-11ea-bf61-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://search40851a0b.search.windows.net/skillsets?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 5980FBC34D3C9727DE47E1A7A92BE27D + method: GET + uri: https://search40851a0b.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search40851a0b.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F25074753F5\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null},{"@odata.etag":"\"0x8D83F2507581FE7\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '564' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 01:05:53 GMT + elapsed-time: '46' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 232643cb-dd01-11ea-87c6-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://search40851a0b.search.windows.net/skillsets?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_synonym_map.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_or_update_synonym_map.yaml similarity index 57% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_synonym_map.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_or_update_synonym_map.yaml index 96ac45935eb1..d91852134700 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_synonym_map.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_or_update_synonym_map.yaml @@ -1,75 +1,75 @@ interactions: - request: body: '{"name": "test-syn-map", "format": "solr", "synonyms": "USA, United States, - United States of America"}' + United States of America\nWashington, Wash. => WA"}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '102' + - '127' Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1EB3C43FAD17D88EF8BB4EEA004D98D3 + - D64ED2F02D9822D49497F8FA69EB30FE method: POST - uri: https://searchab401799.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchab401799.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC9580AF6E73\"","name":"test-syn-map","format":"solr","synonyms":"USA, - United States, United States of America","encryptionKey":null}' + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADD628202E\"","name":"test-syn-map","format":"solr","synonyms":"USA, + United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: no-cache - content-length: '247' + content-length: '272' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:54 GMT - elapsed-time: '54' - etag: W/"0x8D7EC9580AF6E73" + date: Thu, 13 Aug 2020 17:25:12 GMT + elapsed-time: '26' + etag: W/"0x8D83FADD628202E" expires: '-1' - location: https://searchab401799.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + location: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 9c465bb6-8a71-11ea-889b-8c8590507855 + request-id: f1e5ead3-dd89-11ea-97fe-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://searchab401799.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1EB3C43FAD17D88EF8BB4EEA004D98D3 + - D64ED2F02D9822D49497F8FA69EB30FE method: GET - uri: https://searchab401799.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchab401799.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC9580AF6E73\"","name":"test-syn-map","format":"solr","synonyms":"USA, - United States, United States of America","encryptionKey":null}]}' + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FADD628202E\"","name":"test-syn-map","format":"solr","synonyms":"USA, + United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '315' + content-length: '336' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:54 GMT - elapsed-time: '9' + date: Thu, 13 Aug 2020 17:25:12 GMT + elapsed-time: '12' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 9c5d47c2-8a71-11ea-889b-8c8590507855 + request-id: f20a3a44-dd89-11ea-9d8c-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchab401799.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 - request: body: '{"name": "test-syn-map", "format": "solr", "synonyms": "Washington, Wash. => WA"}' @@ -83,99 +83,99 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1EB3C43FAD17D88EF8BB4EEA004D98D3 + - D64ED2F02D9822D49497F8FA69EB30FE method: PUT - uri: https://searchab401799.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchab401799.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC9580BBF3DC\"","name":"test-syn-map","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADD639B09D\"","name":"test-syn-map","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '302' + content-length: '303' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:54 GMT - elapsed-time: '20' - etag: W/"0x8D7EC9580BBF3DC" + date: Thu, 13 Aug 2020 17:25:12 GMT + elapsed-time: '23' + etag: W/"0x8D83FADD639B09D" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 9c62687e-8a71-11ea-889b-8c8590507855 + request-id: f2122b49-dd89-11ea-90b0-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchab401799.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + url: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1EB3C43FAD17D88EF8BB4EEA004D98D3 + - D64ED2F02D9822D49497F8FA69EB30FE method: GET - uri: https://searchab401799.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchab401799.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC9580BBF3DC\"","name":"test-syn-map","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FADD639B09D\"","name":"test-syn-map","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip content-length: '307' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:54 GMT + date: Thu, 13 Aug 2020 17:25:12 GMT elapsed-time: '10' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 9c69b82c-8a71-11ea-889b-8c8590507855 + request-id: f21b8ea9-dd89-11ea-bea2-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchab401799.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://search5e99218c.search.windows.net/synonymmaps?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1EB3C43FAD17D88EF8BB4EEA004D98D3 + - D64ED2F02D9822D49497F8FA69EB30FE method: GET - uri: https://searchab401799.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchab401799.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC9580BBF3DC\"","name":"test-syn-map","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search5e99218c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADD639B09D\"","name":"test-syn-map","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '302' + content-length: '303' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:54 GMT - elapsed-time: '7' - etag: W/"0x8D7EC9580BBF3DC" + date: Thu, 13 Aug 2020 17:25:12 GMT + elapsed-time: '6' + etag: W/"0x8D83FADD639B09D" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: 9c6f0854-8a71-11ea-889b-8c8590507855 + request-id: f2258ac0-dd89-11ea-9f34-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchab401799.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + url: https://search5e99218c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_synonym_map_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_or_update_synonym_map_if_unchanged.yaml similarity index 94% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_synonym_map_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_or_update_synonym_map_if_unchanged.yaml index d14d33baeabe..6e3bb4b0978e 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_synonym_map_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_or_update_synonym_map_if_unchanged.yaml @@ -10,7 +10,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 1F470418E60BD2366ACB8D27D1F361CA method: POST @@ -57,7 +57,7 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 1F470418E60BD2366ACB8D27D1F361CA method: PUT @@ -107,7 +107,7 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 1F470418E60BD2366ACB8D27D1F361CA method: PUT diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_synonym_map.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_synonym_map.yaml similarity index 61% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_synonym_map.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_synonym_map.yaml index a49a8debe70b..2efbf0a0e61a 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_synonym_map.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_create_synonym_map.yaml @@ -10,64 +10,64 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 98706CBE973D216459997E8D1CD455D0 + - 14DF6A1BA00781A3CF66B77487C0D34B method: POST - uri: https://searchd3391377.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search23141d6a.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd3391377.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC95876239BF\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search23141d6a.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADE027012F\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: no-cache content-length: '272' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:06 GMT - elapsed-time: '59' - etag: W/"0x8D7EC95876239BF" + date: Thu, 13 Aug 2020 17:25:28 GMT + elapsed-time: '43' + etag: W/"0x8D83FADE027012F" expires: '-1' - location: https://searchd3391377.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + location: https://search23141d6a.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: a2f824a8-8a71-11ea-889b-8c8590507855 + request-id: fbdf86a7-dd89-11ea-a3d4-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://searchd3391377.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://search23141d6a.search.windows.net/synonymmaps?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 98706CBE973D216459997E8D1CD455D0 + - 14DF6A1BA00781A3CF66B77487C0D34B method: GET - uri: https://searchd3391377.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search23141d6a.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd3391377.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC95876239BF\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search23141d6a.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FADE027012F\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '337' + content-length: '336' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:06 GMT - elapsed-time: '10' + date: Thu, 13 Aug 2020 17:25:28 GMT + elapsed-time: '14' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: a30fc6b2-8a71-11ea-889b-8c8590507855 + request-id: fc08fa00-dd89-11ea-8a18-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchd3391377.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://search23141d6a.search.windows.net/synonymmaps?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_synonym_map.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_delete_synonym_map.yaml similarity index 60% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_synonym_map.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_delete_synonym_map.yaml index d29956f77ce2..19e742af7fa9 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_synonym_map.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_delete_synonym_map.yaml @@ -10,122 +10,122 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E68F8C2BAE2BDB711153395E8AF5DBA2 + - 40A64EC9C5D2C20AAA19BEF42D7C5F1E method: POST - uri: https://searchd31a1376.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search22f51d69.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd31a1376.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC958EB24C8F\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search22f51d69.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADEA1ABBDC\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: no-cache content-length: '272' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:17 GMT - elapsed-time: '42' - etag: W/"0x8D7EC958EB24C8F" + date: Thu, 13 Aug 2020 17:25:46 GMT + elapsed-time: '27' + etag: W/"0x8D83FADEA1ABBDC" expires: '-1' - location: https://searchd31a1376.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + location: https://search22f51d69.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: aa49623a-8a71-11ea-889b-8c8590507855 + request-id: 05deb7de-dd8a-11ea-bbc3-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://searchd31a1376.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://search22f51d69.search.windows.net/synonymmaps?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E68F8C2BAE2BDB711153395E8AF5DBA2 + - 40A64EC9C5D2C20AAA19BEF42D7C5F1E method: GET - uri: https://searchd31a1376.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search22f51d69.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd31a1376.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC958EB24C8F\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search22f51d69.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FADEA1ABBDC\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip content-length: '336' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:17 GMT - elapsed-time: '9' + date: Thu, 13 Aug 2020 17:25:46 GMT + elapsed-time: '14' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: aa5fb71a-8a71-11ea-889b-8c8590507855 + request-id: 05fda668-dd8a-11ea-91d0-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchd31a1376.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://search22f51d69.search.windows.net/synonymmaps?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E68F8C2BAE2BDB711153395E8AF5DBA2 + - 40A64EC9C5D2C20AAA19BEF42D7C5F1E method: DELETE - uri: https://searchd31a1376.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search22f51d69.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: string: '' headers: cache-control: no-cache - date: Wed, 29 Apr 2020 23:32:17 GMT - elapsed-time: '16' + date: Thu, 13 Aug 2020 17:25:46 GMT + elapsed-time: '14' expires: '-1' pragma: no-cache - request-id: aa64bfda-8a71-11ea-889b-8c8590507855 + request-id: 0606323e-dd8a-11ea-a1e4-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 204 message: No Content - url: https://searchd31a1376.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + url: https://search22f51d69.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E68F8C2BAE2BDB711153395E8AF5DBA2 + - 40A64EC9C5D2C20AAA19BEF42D7C5F1E method: GET - uri: https://searchd31a1376.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search22f51d69.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd31a1376.search.windows.net/$metadata#synonymmaps","value":[]}' + string: '{"@odata.context":"https://search22f51d69.search.windows.net/$metadata#synonymmaps","value":[]}' headers: cache-control: no-cache content-encoding: gzip content-length: '204' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:17 GMT - elapsed-time: '6' + date: Thu, 13 Aug 2020 17:25:46 GMT + elapsed-time: '23' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: aa6b2b86-8a71-11ea-889b-8c8590507855 + request-id: 060f7be7-dd8a-11ea-86e5-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://searchd31a1376.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://search22f51d69.search.windows.net/synonymmaps?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_synonym_map_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_delete_synonym_map_if_unchanged.yaml similarity index 54% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_synonym_map_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_delete_synonym_map_if_unchanged.yaml index bdfd7f7f89d1..6be102ff69bc 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_synonym_map_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_delete_synonym_map_if_unchanged.yaml @@ -10,101 +10,87 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 379F6C259E39EFF08F01F8D2429FF657 + - C1A06778A3755356CFA9E8922964E7AC method: POST - uri: https://searchf4b018b0.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://searchc5e222a3.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf4b018b0.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7ED71BA2FE792\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://searchc5e222a3.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADF482B178\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: no-cache content-length: '272' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:20 GMT - elapsed-time: '23' - etag: W/"0x8D7ED71BA2FE792" + date: Thu, 13 Aug 2020 17:26:02 GMT + elapsed-time: '49' + etag: W/"0x8D83FADF482B178" expires: '-1' - location: https://searchf4b018b0.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + location: https://searchc5e222a3.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d62a27a6-8b4d-11ea-b123-2816a845e8c6 + request-id: 1041d938-dd8a-11ea-9977-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchf4b018b0.search.windows.net - - /synonymmaps - - api-version=2020-06-30 - - '' + url: https://searchc5e222a3.search.windows.net/synonymmaps?api-version=2020-06-30 - request: - body: '{"name": "test-syn-map", "format": "solr", "synonyms": "Washington, Wash. - => WA"}' + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' headers: Accept: - application/json;odata.metadata=minimal Content-Length: - - '81' + - '125' Content-Type: - application/json Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 379F6C259E39EFF08F01F8D2429FF657 + - C1A06778A3755356CFA9E8922964E7AC method: PUT - uri: https://searchf4b018b0.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://searchc5e222a3.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf4b018b0.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7ED71BA3AE613\"","name":"test-syn-map","format":"solr","synonyms":"Washington, - Wash. => WA","encryptionKey":null}' + string: '{"@odata.context":"https://searchc5e222a3.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADF48DB0B0\"","name":"test-syn-map","format":"solr","synonyms":"W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA","encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip - content-length: '302' + content-length: '334' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:20 GMT - elapsed-time: '17' - etag: W/"0x8D7ED71BA3AE613" + date: Thu, 13 Aug 2020 17:26:02 GMT + elapsed-time: '29' + etag: W/"0x8D83FADF48DB0B0" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d6493314-8b4d-11ea-90af-2816a845e8c6 + request-id: 1064f067-dd8a-11ea-b976-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchf4b018b0.search.windows.net - - /synonymmaps('test-syn-map') - - api-version=2020-06-30 - - '' + url: https://searchc5e222a3.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal If-Match: - - '"0x8D7ED71BA2FE792"' + - '"0x8D83FADF482B178"' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 379F6C259E39EFF08F01F8D2429FF657 + - C1A06778A3755356CFA9E8922964E7AC method: DELETE - uri: https://searchf4b018b0.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://searchc5e222a3.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -115,23 +101,16 @@ interactions: content-language: en content-length: '160' content-type: application/json; odata.metadata=minimal - date: Fri, 01 May 2020 01:48:20 GMT - elapsed-time: '140' + date: Thu, 13 Aug 2020 17:26:03 GMT + elapsed-time: '6' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: d653da30-8b4d-11ea-95d5-2816a845e8c6 + request-id: 10702e8a-dd8a-11ea-8785-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 412 message: Precondition Failed - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - searchf4b018b0.search.windows.net - - /synonymmaps('test-syn-map') - - api-version=2020-06-30 - - '' + url: https://searchc5e222a3.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_synonym_map.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_get_synonym_map.yaml similarity index 61% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_synonym_map.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_get_synonym_map.yaml index 198886875d32..5935d51d3603 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_synonym_map.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_get_synonym_map.yaml @@ -10,98 +10,98 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - DDCE707C06F6DE83869CDD960F1756EC + - A69513BF57E5DA1DBA0A40D4CF7685EB method: POST - uri: https://search9aee1243.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://searchcce11c36.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search9aee1243.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC95958C0C98\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://searchcce11c36.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADFED061D6\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: no-cache content-length: '272' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:29 GMT - elapsed-time: '41' - etag: W/"0x8D7EC95958C0C98" + date: Thu, 13 Aug 2020 17:26:20 GMT + elapsed-time: '26' + etag: W/"0x8D83FADFED061D6" expires: '-1' - location: https://search9aee1243.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + location: https://searchcce11c36.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: b124e6ec-8a71-11ea-889b-8c8590507855 + request-id: 1a958d42-dd8a-11ea-9096-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains status: code: 201 message: Created - url: https://search9aee1243.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://searchcce11c36.search.windows.net/synonymmaps?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - DDCE707C06F6DE83869CDD960F1756EC + - A69513BF57E5DA1DBA0A40D4CF7685EB method: GET - uri: https://search9aee1243.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://searchcce11c36.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search9aee1243.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC95958C0C98\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://searchcce11c36.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FADFED061D6\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: no-cache content-encoding: gzip - content-length: '335' + content-length: '336' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:29 GMT - elapsed-time: '49' + date: Thu, 13 Aug 2020 17:26:20 GMT + elapsed-time: '13' expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: b1391b6c-8a71-11ea-889b-8c8590507855 + request-id: 1ab23cf7-dd8a-11ea-b914-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search9aee1243.search.windows.net/synonymmaps?api-version=2020-06-30 + url: https://searchcce11c36.search.windows.net/synonymmaps?api-version=2020-06-30 - request: body: null headers: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - DDCE707C06F6DE83869CDD960F1756EC + - A69513BF57E5DA1DBA0A40D4CF7685EB method: GET - uri: https://search9aee1243.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://searchcce11c36.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search9aee1243.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC95958C0C98\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://searchcce11c36.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADFED061D6\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: no-cache content-encoding: gzip content-length: '331' content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:32:29 GMT - elapsed-time: '6' - etag: W/"0x8D7EC95958C0C98" + date: Thu, 13 Aug 2020 17:26:20 GMT + elapsed-time: '8' + etag: W/"0x8D83FADFED061D6" expires: '-1' odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" - request-id: b14468aa-8a71-11ea-889b-8c8590507855 + request-id: 1aba7a6d-dd8a-11ea-9dd5-5cf37071153c strict-transport-security: max-age=15724800; includeSubDomains vary: Accept-Encoding status: code: 200 message: OK - url: https://search9aee1243.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + url: https://searchcce11c36.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_get_synonym_maps.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_get_synonym_maps.yaml new file mode 100644 index 000000000000..bc10c76566f6 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_index_client_synonym_map_live_async.test_get_synonym_maps.yaml @@ -0,0 +1,112 @@ +interactions: +- request: + body: '{"name": "test-syn-map-1", "format": "solr", "synonyms": "USA, United States, + United States of America\nWashington, Wash. => WA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '129' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D52B579B1516A986583A90497685C9BA + method: POST + uri: https://searche98a1ca9.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searche98a1ca9.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAE08ED596D\"","name":"test-syn-map-1","format":"solr","synonyms":"USA, + United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '274' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 17:26:37 GMT + elapsed-time: '40' + etag: W/"0x8D83FAE08ED596D" + expires: '-1' + location: https://searche98a1ca9.search.windows.net/synonymmaps('test-syn-map-1')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 24b2ae75-dd8a-11ea-ad79-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searche98a1ca9.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: '{"name": "test-syn-map-2", "format": "solr", "synonyms": "Washington, Wash. + => WA"}' + headers: + Accept: + - application/json;odata.metadata=minimal + Content-Length: + - '83' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D52B579B1516A986583A90497685C9BA + method: POST + uri: https://searche98a1ca9.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searche98a1ca9.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAE08F87FA5\"","name":"test-syn-map-2","format":"solr","synonyms":"Washington, + Wash. => WA","encryptionKey":null}' + headers: + cache-control: no-cache + content-length: '228' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 17:26:37 GMT + elapsed-time: '22' + etag: W/"0x8D83FAE08F87FA5" + expires: '-1' + location: https://searche98a1ca9.search.windows.net/synonymmaps('test-syn-map-2')?api-version=2020-06-30 + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 24cf5e37-dd8a-11ea-b1cc-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + status: + code: 201 + message: Created + url: https://searche98a1ca9.search.windows.net/synonymmaps?api-version=2020-06-30 +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - D52B579B1516A986583A90497685C9BA + method: GET + uri: https://searche98a1ca9.search.windows.net/synonymmaps?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searche98a1ca9.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FAE08ED596D\"","name":"test-syn-map-1","format":"solr","synonyms":"USA, + United States, United States of America\nWashington, Wash. => WA","encryptionKey":null},{"@odata.etag":"\"0x8D83FAE08F87FA5\"","name":"test-syn-map-2","format":"solr","synonyms":"Washington, + Wash. => WA","encryptionKey":null}]}' + headers: + cache-control: no-cache + content-encoding: gzip + content-length: '359' + content-type: application/json; odata.metadata=minimal + date: Thu, 13 Aug 2020 17:26:37 GMT + elapsed-time: '15' + expires: '-1' + odata-version: '4.0' + pragma: no-cache + preference-applied: odata.include-annotations="*" + request-id: 24da81c2-dd8a-11ea-b1b1-5cf37071153c + strict-transport-security: max-age=15724800; includeSubDomains + vary: Accept-Encoding + status: + code: 200 + message: OK + url: https://searche98a1ca9.search.windows.net/synonymmaps?api-version=2020-06-30 +version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_indexer.yaml similarity index 83% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_indexer.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_indexer.yaml index 0ee3da846366..b665d85dec7e 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_indexer.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 744FFCF0491F0B26839B316B16315B14 method: POST - uri: https://search86f511ac.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searcha7b8175d.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86f511ac.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED523B5C3F45\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searcha7b8175d.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED523B5C3F45\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '59' etag: W/"0x8D7ED523B5C3F45" expires: '-1' - location: https://search86f511ac.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://searcha7b8175d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86f511ac.search.windows.net + - searcha7b8175d.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 744FFCF0491F0B26839B316B16315B14 method: POST - uri: https://search86f511ac.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searcha7b8175d.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86f511ac.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED523C16624C\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searcha7b8175d.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED523C16624C\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '1067' etag: W/"0x8D7ED523C16624C" expires: '-1' - location: https://search86f511ac.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://searcha7b8175d.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86f511ac.search.windows.net + - searcha7b8175d.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 744FFCF0491F0B26839B316B16315B14 method: POST - uri: https://search86f511ac.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searcha7b8175d.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86f511ac.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED523C6B487D\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searcha7b8175d.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED523C6B487D\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '477' etag: W/"0x8D7ED523C6B487D" expires: '-1' - location: https://search86f511ac.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://searcha7b8175d.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86f511ac.search.windows.net + - searcha7b8175d.search.windows.net - /indexers - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_or_update_indexer.yaml similarity index 83% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexer.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_or_update_indexer.yaml index 4c492bd9a918..34ecd27568be 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_or_update_indexer.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 33CE7005C1C6B7AD1940F1F955206F0C method: POST - uri: https://search4e7415ce.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searcha8211b7f.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4e7415ce.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5245E6B25F\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searcha8211b7f.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5245E6B25F\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '66' etag: W/"0x8D7ED5245E6B25F" expires: '-1' - location: https://search4e7415ce.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://searcha8211b7f.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search4e7415ce.search.windows.net + - searcha8211b7f.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 33CE7005C1C6B7AD1940F1F955206F0C method: POST - uri: https://search4e7415ce.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searcha8211b7f.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4e7415ce.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5246809D54\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searcha8211b7f.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5246809D54\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '937' etag: W/"0x8D7ED5246809D54" expires: '-1' - location: https://search4e7415ce.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://searcha8211b7f.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search4e7415ce.search.windows.net + - searcha8211b7f.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 33CE7005C1C6B7AD1940F1F955206F0C method: POST - uri: https://search4e7415ce.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searcha8211b7f.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4e7415ce.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5246E0D021\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searcha8211b7f.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5246E0D021\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '497' etag: W/"0x8D7ED5246E0D021" expires: '-1' - location: https://search4e7415ce.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://searcha8211b7f.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search4e7415ce.search.windows.net + - searcha8211b7f.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -137,14 +137,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 33CE7005C1C6B7AD1940F1F955206F0C method: GET - uri: https://search4e7415ce.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searcha8211b7f.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4e7415ce.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5246E0D021\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://searcha8211b7f.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5246E0D021\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: no-cache content-encoding: gzip @@ -166,7 +166,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search4e7415ce.search.windows.net + - searcha8211b7f.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -183,14 +183,14 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 33CE7005C1C6B7AD1940F1F955206F0C method: PUT - uri: https://search4e7415ce.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://searcha8211b7f.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4e7415ce.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED524712E5C1\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searcha8211b7f.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED524712E5C1\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-encoding: gzip @@ -213,7 +213,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search4e7415ce.search.windows.net + - searcha8211b7f.search.windows.net - /indexers('sample-indexer') - api-version=2020-06-30 - '' @@ -223,14 +223,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 33CE7005C1C6B7AD1940F1F955206F0C method: GET - uri: https://search4e7415ce.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searcha8211b7f.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4e7415ce.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED524712E5C1\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://searcha8211b7f.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED524712E5C1\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: no-cache content-encoding: gzip @@ -252,7 +252,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search4e7415ce.search.windows.net + - searcha8211b7f.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -262,14 +262,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 33CE7005C1C6B7AD1940F1F955206F0C method: GET - uri: https://search4e7415ce.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://searcha8211b7f.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4e7415ce.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED524712E5C1\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searcha8211b7f.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED524712E5C1\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-encoding: gzip @@ -292,7 +292,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search4e7415ce.search.windows.net + - searcha8211b7f.search.windows.net - /indexers('sample-indexer') - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexer_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_or_update_indexer_if_unchanged.yaml similarity index 84% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexer_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_or_update_indexer_if_unchanged.yaml index 2bd974199504..98265e999bfa 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_indexer_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_create_or_update_indexer_if_unchanged.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - CC67BBE5FAC0EC61208F4429C9C01592 method: POST - uri: https://search8e821b08.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search323b20b9.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search8e821b08.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE17D9DD041D\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search323b20b9.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE17D9DD041D\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '32' etag: W/"0x8D7EE17D9DD041D" expires: '-1' - location: https://search8e821b08.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search323b20b9.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search8e821b08.search.windows.net + - search323b20b9.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - CC67BBE5FAC0EC61208F4429C9C01592 method: POST - uri: https://search8e821b08.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search323b20b9.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search8e821b08.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EE17DA8617D8\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search323b20b9.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EE17DA8617D8\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '968' etag: W/"0x8D7EE17DA8617D8" expires: '-1' - location: https://search8e821b08.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://search323b20b9.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search8e821b08.search.windows.net + - search323b20b9.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - CC67BBE5FAC0EC61208F4429C9C01592 method: POST - uri: https://search8e821b08.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search323b20b9.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search8e821b08.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17DAB71EF3\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search323b20b9.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17DAB71EF3\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '170' etag: W/"0x8D7EE17DAB71EF3" expires: '-1' - location: https://search8e821b08.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://search323b20b9.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search8e821b08.search.windows.net + - search323b20b9.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -144,14 +144,14 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - CC67BBE5FAC0EC61208F4429C9C01592 method: PUT - uri: https://search8e821b08.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search323b20b9.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search8e821b08.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17DAD7A74B\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search323b20b9.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17DAD7A74B\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-encoding: gzip @@ -174,7 +174,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search8e821b08.search.windows.net + - search323b20b9.search.windows.net - /indexers('sample-indexer') - api-version=2020-06-30 - '' @@ -194,11 +194,11 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - CC67BBE5FAC0EC61208F4429C9C01592 method: PUT - uri: https://search8e821b08.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search323b20b9.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -224,7 +224,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search8e821b08.search.windows.net + - search323b20b9.search.windows.net - /indexers('sample-indexer') - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_delete_indexer.yaml similarity index 82% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexer.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_delete_indexer.yaml index de520083f82d..ba04e4cb9130 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_delete_indexer.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - A7E0BDA1BE1FB2465CBEE33F06D595D9 method: POST - uri: https://search86da11ab.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searcha79d175c.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86da11ab.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5250DC08AE\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searcha79d175c.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5250DC08AE\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '25' etag: W/"0x8D7ED5250DC08AE" expires: '-1' - location: https://search86da11ab.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://searcha79d175c.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86da11ab.search.windows.net + - searcha79d175c.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - A7E0BDA1BE1FB2465CBEE33F06D595D9 method: POST - uri: https://search86da11ab.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searcha79d175c.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86da11ab.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5251897F3E\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searcha79d175c.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5251897F3E\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '1009' etag: W/"0x8D7ED5251897F3E" expires: '-1' - location: https://search86da11ab.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://searcha79d175c.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86da11ab.search.windows.net + - searcha79d175c.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - A7E0BDA1BE1FB2465CBEE33F06D595D9 method: POST - uri: https://search86da11ab.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searcha79d175c.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86da11ab.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5251C6452B\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searcha79d175c.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5251C6452B\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '191' etag: W/"0x8D7ED5251C6452B" expires: '-1' - location: https://search86da11ab.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://searcha79d175c.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86da11ab.search.windows.net + - searcha79d175c.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -137,14 +137,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - A7E0BDA1BE1FB2465CBEE33F06D595D9 method: GET - uri: https://search86da11ab.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searcha79d175c.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86da11ab.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5251C6452B\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://searcha79d175c.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5251C6452B\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: no-cache content-encoding: gzip @@ -166,7 +166,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86da11ab.search.windows.net + - searcha79d175c.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -176,11 +176,11 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - A7E0BDA1BE1FB2465CBEE33F06D595D9 method: DELETE - uri: https://search86da11ab.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://searcha79d175c.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: string: '' @@ -199,7 +199,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86da11ab.search.windows.net + - searcha79d175c.search.windows.net - /indexers('sample-indexer') - api-version=2020-06-30 - '' @@ -209,14 +209,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - A7E0BDA1BE1FB2465CBEE33F06D595D9 method: GET - uri: https://search86da11ab.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searcha79d175c.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86da11ab.search.windows.net/$metadata#indexers","value":[]}' + string: '{"@odata.context":"https://searcha79d175c.search.windows.net/$metadata#indexers","value":[]}' headers: cache-control: no-cache content-encoding: gzip @@ -238,7 +238,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search86da11ab.search.windows.net + - searcha79d175c.search.windows.net - /indexers - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexer_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_delete_indexer_if_unchanged.yaml similarity index 84% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexer_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_delete_indexer_if_unchanged.yaml index bdd2d4b4cbd5..1c9fccd755e4 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_delete_indexer_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_delete_indexer_if_unchanged.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 783079AE343B72D1129A6B85CDBDA067 method: POST - uri: https://search912116e5.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchfbe11c96.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search912116e5.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE17E46EB769\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchfbe11c96.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE17E46EB769\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '29' etag: W/"0x8D7EE17E46EB769" expires: '-1' - location: https://search912116e5.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://searchfbe11c96.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search912116e5.search.windows.net + - searchfbe11c96.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 783079AE343B72D1129A6B85CDBDA067 method: POST - uri: https://search912116e5.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searchfbe11c96.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search912116e5.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EE17E50DDDD6\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchfbe11c96.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EE17E50DDDD6\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '894' etag: W/"0x8D7EE17E50DDDD6" expires: '-1' - location: https://search912116e5.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://searchfbe11c96.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search912116e5.search.windows.net + - searchfbe11c96.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 783079AE343B72D1129A6B85CDBDA067 method: POST - uri: https://search912116e5.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searchfbe11c96.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search912116e5.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17E53FF6AF\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searchfbe11c96.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17E53FF6AF\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '178' etag: W/"0x8D7EE17E53FF6AF" expires: '-1' - location: https://search912116e5.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://searchfbe11c96.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search912116e5.search.windows.net + - searchfbe11c96.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -144,14 +144,14 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 783079AE343B72D1129A6B85CDBDA067 method: PUT - uri: https://search912116e5.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://searchfbe11c96.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search912116e5.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17E55EA9CF\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searchfbe11c96.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17E55EA9CF\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-encoding: gzip @@ -174,7 +174,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search912116e5.search.windows.net + - searchfbe11c96.search.windows.net - /indexers('sample-indexer') - api-version=2020-06-30 - '' @@ -186,11 +186,11 @@ interactions: If-Match: - '"0x8D7EE17E53FF6AF"' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 783079AE343B72D1129A6B85CDBDA067 method: DELETE - uri: https://search912116e5.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://searchfbe11c96.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -216,7 +216,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search912116e5.search.windows.net + - searchfbe11c96.search.windows.net - /indexers('sample-indexer') - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_indexer.yaml similarity index 83% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_indexer.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_indexer.yaml index 277fb96a8369..e5c298c606e4 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_indexer.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 593462469FF1D719FBE14D57F475C267 method: POST - uri: https://search537a1078.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search632a1629.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search537a1078.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED525B68C640\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search632a1629.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED525B68C640\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '33' etag: W/"0x8D7ED525B68C640" expires: '-1' - location: https://search537a1078.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search632a1629.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search537a1078.search.windows.net + - search632a1629.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 593462469FF1D719FBE14D57F475C267 method: POST - uri: https://search537a1078.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search632a1629.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search537a1078.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED525C1CCDAF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search632a1629.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED525C1CCDAF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '1058' etag: W/"0x8D7ED525C1CCDAF" expires: '-1' - location: https://search537a1078.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://search632a1629.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search537a1078.search.windows.net + - search632a1629.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 593462469FF1D719FBE14D57F475C267 method: POST - uri: https://search537a1078.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search632a1629.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search537a1078.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED525C4AC3DD\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search632a1629.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED525C4AC3DD\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '158' etag: W/"0x8D7ED525C4AC3DD" expires: '-1' - location: https://search537a1078.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://search632a1629.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search537a1078.search.windows.net + - search632a1629.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -137,14 +137,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 593462469FF1D719FBE14D57F475C267 method: GET - uri: https://search537a1078.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search632a1629.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search537a1078.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED525C4AC3DD\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search632a1629.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED525C4AC3DD\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-encoding: gzip @@ -167,7 +167,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search537a1078.search.windows.net + - search632a1629.search.windows.net - /indexers('sample-indexer') - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_indexer_status.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_indexer_status.yaml similarity index 61% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_indexer_status.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_indexer_status.yaml index 4b657a0e4515..0aa75370d867 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_indexer_status.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_indexer_status.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 8051098DD96B39E1AD1A3A668AAD41ED method: POST - uri: https://searchd28e137b.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searcha24192c.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd28e137b.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5265E79E5F\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searcha24192c.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5265E79E5F\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '80' etag: W/"0x8D7ED5265E79E5F" expires: '-1' - location: https://searchd28e137b.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://searcha24192c.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - searchd28e137b.search.windows.net + - searcha24192c.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 8051098DD96B39E1AD1A3A668AAD41ED method: POST - uri: https://searchd28e137b.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searcha24192c.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd28e137b.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5266AB38FF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searcha24192c.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5266AB38FF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '1144' etag: W/"0x8D7ED5266AB38FF" expires: '-1' - location: https://searchd28e137b.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://searcha24192c.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - searchd28e137b.search.windows.net + - searcha24192c.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 8051098DD96B39E1AD1A3A668AAD41ED method: POST - uri: https://searchd28e137b.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searcha24192c.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd28e137b.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5266E0F8C5\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searcha24192c.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5266E0F8C5\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '221' etag: W/"0x8D7ED5266E0F8C5" expires: '-1' - location: https://searchd28e137b.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://searcha24192c.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - searchd28e137b.search.windows.net + - searcha24192c.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -137,14 +137,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 8051098DD96B39E1AD1A3A668AAD41ED method: GET - uri: https://searchd28e137b.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 + uri: https://searcha24192c.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd28e137b.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":null,"executionHistory":[],"limits":{"maxRunTime":"PT0S","maxDocumentExtractionSize":0,"maxDocumentContentCharactersToExtract":0}}' + string: '{"@odata.context":"https://searcha24192c.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":null,"executionHistory":[],"limits":{"maxRunTime":"PT0S","maxDocumentExtractionSize":0,"maxDocumentContentCharactersToExtract":0}}' headers: cache-control: no-cache content-encoding: gzip @@ -166,7 +166,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - searchd28e137b.search.windows.net + - searcha24192c.search.windows.net - /indexers('sample-indexer')/search.status - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_synonym_maps.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_synonym_maps.yaml similarity index 93% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_synonym_maps.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_synonym_maps.yaml index cf813df442a7..06195af6cab1 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_synonym_maps.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_get_synonym_maps.yaml @@ -10,7 +10,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Darwin-19.3.0-x86_64-i386-64bit) api-key: - 49925E98B4E6A6E7BB8023C66DCE85A0 method: POST @@ -48,7 +48,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Darwin-19.3.0-x86_64-i386-64bit) api-key: - 49925E98B4E6A6E7BB8023C66DCE85A0 method: POST @@ -81,7 +81,7 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Darwin-19.3.0-x86_64-i386-64bit) api-key: - 49925E98B4E6A6E7BB8023C66DCE85A0 method: GET diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_list_indexer.yaml similarity index 83% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexer.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_list_indexer.yaml index f1815a724a2e..323c26419d72 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_list_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_list_indexer.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - E2F9A0F43525EBB186C916380F592AD1 method: POST - uri: https://search651610f4.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search7a7716a5.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search651610f4.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED52C4646503\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search7a7716a5.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED52C4646503\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '29' etag: W/"0x8D7ED52C4646503" expires: '-1' - location: https://search651610f4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search7a7716a5.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search651610f4.search.windows.net + - search7a7716a5.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - E2F9A0F43525EBB186C916380F592AD1 method: POST - uri: https://search651610f4.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search7a7716a5.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search651610f4.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED52C4C9C8F3\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search7a7716a5.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED52C4C9C8F3\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '501' etag: W/"0x8D7ED52C4C9C8F3" expires: '-1' - location: https://search651610f4.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://search7a7716a5.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search651610f4.search.windows.net + - search7a7716a5.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - E2F9A0F43525EBB186C916380F592AD1 method: POST - uri: https://search651610f4.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search7a7716a5.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search651610f4.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED52C4FA097A\"","name":"another-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search7a7716a5.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED52C4FA097A\"","name":"another-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '371' @@ -114,7 +114,7 @@ interactions: elapsed-time: '32' etag: W/"0x8D7ED52C4FA097A" expires: '-1' - location: https://search651610f4.search.windows.net/datasources('another-datasource')?api-version=2020-06-30 + location: https://search7a7716a5.search.windows.net/datasources('another-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search651610f4.search.windows.net + - search7a7716a5.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -142,14 +142,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - E2F9A0F43525EBB186C916380F592AD1 method: POST - uri: https://search651610f4.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search7a7716a5.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search651610f4.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED52C57E1E8D\"","name":"another-index","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search7a7716a5.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED52C57E1E8D\"","name":"another-index","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '565' @@ -158,7 +158,7 @@ interactions: elapsed-time: '730' etag: W/"0x8D7ED52C57E1E8D" expires: '-1' - location: https://search651610f4.search.windows.net/indexes('another-index')?api-version=2020-06-30 + location: https://search7a7716a5.search.windows.net/indexes('another-index')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -171,7 +171,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search651610f4.search.windows.net + - search7a7716a5.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -186,14 +186,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - E2F9A0F43525EBB186C916380F592AD1 method: POST - uri: https://search651610f4.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search7a7716a5.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search651610f4.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED52C5DC2E27\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search7a7716a5.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED52C5DC2E27\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -202,7 +202,7 @@ interactions: elapsed-time: '540' etag: W/"0x8D7ED52C5DC2E27" expires: '-1' - location: https://search651610f4.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://search7a7716a5.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -215,7 +215,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search651610f4.search.windows.net + - search7a7716a5.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -230,14 +230,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - E2F9A0F43525EBB186C916380F592AD1 method: POST - uri: https://search651610f4.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search7a7716a5.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search651610f4.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED52C60A4B66\"","name":"another-indexer","description":null,"dataSourceName":"another-datasource","skillsetName":null,"targetIndexName":"another-index","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search7a7716a5.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED52C60A4B66\"","name":"another-indexer","description":null,"dataSourceName":"another-datasource","skillsetName":null,"targetIndexName":"another-index","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '371' @@ -246,7 +246,7 @@ interactions: elapsed-time: '191' etag: W/"0x8D7ED52C60A4B66" expires: '-1' - location: https://search651610f4.search.windows.net/indexers('another-indexer')?api-version=2020-06-30 + location: https://search7a7716a5.search.windows.net/indexers('another-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -259,7 +259,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search651610f4.search.windows.net + - search7a7716a5.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -269,14 +269,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - E2F9A0F43525EBB186C916380F592AD1 method: GET - uri: https://search651610f4.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search7a7716a5.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search651610f4.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED52C60A4B66\"","name":"another-indexer","description":null,"dataSourceName":"another-datasource","skillsetName":null,"targetIndexName":"another-index","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null},{"@odata.etag":"\"0x8D7ED52C5DC2E27\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://search7a7716a5.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED52C60A4B66\"","name":"another-indexer","description":null,"dataSourceName":"another-datasource","skillsetName":null,"targetIndexName":"another-index","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null},{"@odata.etag":"\"0x8D7ED52C5DC2E27\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: no-cache content-encoding: gzip @@ -298,7 +298,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search651610f4.search.windows.net + - search7a7716a5.search.windows.net - /indexers - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_reset_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_reset_indexer.yaml similarity index 83% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_reset_indexer.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_reset_indexer.yaml index 835e6bdae465..e6d87ab857a3 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_reset_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_reset_indexer.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - B14D2D6E7CAFAD9A092431020450EC29 method: POST - uri: https://search7658115b.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search916a170c.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search7658115b.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED527A604F84\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search916a170c.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED527A604F84\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '28' etag: W/"0x8D7ED527A604F84" expires: '-1' - location: https://search7658115b.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search916a170c.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search7658115b.search.windows.net + - search916a170c.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - B14D2D6E7CAFAD9A092431020450EC29 method: POST - uri: https://search7658115b.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search916a170c.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search7658115b.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED527AF1D480\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search916a170c.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED527AF1D480\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '825' etag: W/"0x8D7ED527AF1D480" expires: '-1' - location: https://search7658115b.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://search916a170c.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search7658115b.search.windows.net + - search916a170c.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - B14D2D6E7CAFAD9A092431020450EC29 method: POST - uri: https://search7658115b.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search916a170c.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search7658115b.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED527B299070\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search916a170c.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED527B299070\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '215' etag: W/"0x8D7ED527B299070" expires: '-1' - location: https://search7658115b.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://search916a170c.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search7658115b.search.windows.net + - search916a170c.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -137,14 +137,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - B14D2D6E7CAFAD9A092431020450EC29 method: GET - uri: https://search7658115b.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search916a170c.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search7658115b.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED527B299070\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://search916a170c.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED527B299070\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: no-cache content-encoding: gzip @@ -166,7 +166,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search7658115b.search.windows.net + - search916a170c.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -176,11 +176,11 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - B14D2D6E7CAFAD9A092431020450EC29 method: POST - uri: https://search7658115b.search.windows.net/indexers('sample-indexer')/search.reset?api-version=2020-06-30 + uri: https://search916a170c.search.windows.net/indexers('sample-indexer')/search.reset?api-version=2020-06-30 response: body: string: '' @@ -199,7 +199,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search7658115b.search.windows.net + - search916a170c.search.windows.net - /indexers('sample-indexer')/search.reset - api-version=2020-06-30 - '' @@ -209,14 +209,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - B14D2D6E7CAFAD9A092431020450EC29 method: GET - uri: https://search7658115b.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 + uri: https://search916a170c.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search7658115b.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":{"status":"reset","errorMessage":null,"startTime":"2020-04-30T22:04:40.722Z","endTime":"2020-04-30T22:04:40.722Z","itemsProcessed":0,"itemsFailed":0,"initialTrackingState":null,"finalTrackingState":null,"errors":[],"warnings":[],"metrics":null},"executionHistory":[{"status":"reset","errorMessage":null,"startTime":"2020-04-30T22:04:40.722Z","endTime":"2020-04-30T22:04:40.722Z","itemsProcessed":0,"itemsFailed":0,"initialTrackingState":null,"finalTrackingState":null,"errors":[],"warnings":[],"metrics":null}],"limits":null}' + string: '{"@odata.context":"https://search916a170c.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":{"status":"reset","errorMessage":null,"startTime":"2020-04-30T22:04:40.722Z","endTime":"2020-04-30T22:04:40.722Z","itemsProcessed":0,"itemsFailed":0,"initialTrackingState":null,"finalTrackingState":null,"errors":[],"warnings":[],"metrics":null},"executionHistory":[{"status":"reset","errorMessage":null,"startTime":"2020-04-30T22:04:40.722Z","endTime":"2020-04-30T22:04:40.722Z","itemsProcessed":0,"itemsFailed":0,"initialTrackingState":null,"finalTrackingState":null,"errors":[],"warnings":[],"metrics":null}],"limits":null}' headers: cache-control: no-cache content-encoding: gzip @@ -238,7 +238,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search7658115b.search.windows.net + - search916a170c.search.windows.net - /indexers('sample-indexer')/search.status - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_run_indexer.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_run_indexer.yaml similarity index 83% rename from sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_run_indexer.yaml rename to sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_run_indexer.yaml index fa3749ad5b9b..d0c3e6b45bc1 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_run_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_search_indexer_client_live_async.test_run_indexer.yaml @@ -10,14 +10,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 7249924270B36D2B8D2CB30BD19258AA method: POST - uri: https://search545d108d.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search640d163e.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search545d108d.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5284CBEA3F\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search640d163e.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5284CBEA3F\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: no-cache content-length: '370' @@ -26,7 +26,7 @@ interactions: elapsed-time: '34' etag: W/"0x8D7ED5284CBEA3F" expires: '-1' - location: https://search545d108d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + location: https://search640d163e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -39,7 +39,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search545d108d.search.windows.net + - search640d163e.search.windows.net - /datasources - api-version=2020-06-30 - '' @@ -54,14 +54,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 7249924270B36D2B8D2CB30BD19258AA method: POST - uri: https://search545d108d.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search640d163e.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search545d108d.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5285782812\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search640d163e.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5285782812\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: no-cache content-length: '558' @@ -70,7 +70,7 @@ interactions: elapsed-time: '893' etag: W/"0x8D7ED5285782812" expires: '-1' - location: https://search545d108d.search.windows.net/indexes('hotels')?api-version=2020-06-30 + location: https://search640d163e.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -83,7 +83,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search545d108d.search.windows.net + - search640d163e.search.windows.net - /indexes - api-version=2020-06-30 - '' @@ -98,14 +98,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 7249924270B36D2B8D2CB30BD19258AA method: POST - uri: https://search545d108d.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search640d163e.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search545d108d.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5285A6937E\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search640d163e.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5285A6937E\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: no-cache content-length: '362' @@ -114,7 +114,7 @@ interactions: elapsed-time: '168' etag: W/"0x8D7ED5285A6937E" expires: '-1' - location: https://search545d108d.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + location: https://search640d163e.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: '4.0' pragma: no-cache preference-applied: odata.include-annotations="*" @@ -127,7 +127,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search545d108d.search.windows.net + - search640d163e.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -137,14 +137,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 7249924270B36D2B8D2CB30BD19258AA method: GET - uri: https://search545d108d.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search640d163e.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search545d108d.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5285A6937E\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://search640d163e.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5285A6937E\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: no-cache content-encoding: gzip @@ -166,7 +166,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search545d108d.search.windows.net + - search640d163e.search.windows.net - /indexers - api-version=2020-06-30 - '' @@ -176,11 +176,11 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 7249924270B36D2B8D2CB30BD19258AA method: POST - uri: https://search545d108d.search.windows.net/indexers('sample-indexer')/search.run?api-version=2020-06-30 + uri: https://search640d163e.search.windows.net/indexers('sample-indexer')/search.run?api-version=2020-06-30 response: body: string: '' @@ -200,7 +200,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search545d108d.search.windows.net + - search640d163e.search.windows.net - /indexers('sample-indexer')/search.run - api-version=2020-06-30 - '' @@ -210,14 +210,14 @@ interactions: Accept: - application/json;odata.metadata=minimal User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 7249924270B36D2B8D2CB30BD19258AA method: GET - uri: https://search545d108d.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 + uri: https://search640d163e.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search545d108d.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":null,"executionHistory":[],"limits":{"maxRunTime":"PT0S","maxDocumentExtractionSize":0,"maxDocumentContentCharactersToExtract":0}}' + string: '{"@odata.context":"https://search640d163e.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":null,"executionHistory":[],"limits":{"maxRunTime":"PT0S","maxDocumentExtractionSize":0,"maxDocumentContentCharactersToExtract":0}}' headers: cache-control: no-cache content-encoding: gzip @@ -239,7 +239,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - search545d108d.search.windows.net + - search640d163e.search.windows.net - /indexers('sample-indexer')/search.status - api-version=2020-06-30 - '' diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_index.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_index.yaml deleted file mode 100644 index 0f27e9d5078a..000000000000 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_index.yaml +++ /dev/null @@ -1,41 +0,0 @@ -interactions: -- request: - body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [{"name": "MyProfile"}], "corsOptions": {"allowedOrigins": - ["*"], "maxAgeInSeconds": 60}}' - headers: - Accept: - - application/json;odata.metadata=minimal - Content-Length: - - '260' - Content-Type: - - application/json - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - 2FAED7B0C4D2327B672209097091112D - method: POST - uri: https://search640f10d5.search.windows.net/indexes?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search640f10d5.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EC954E6DE3AF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' - headers: - cache-control: no-cache - content-length: '890' - content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:30:30 GMT - elapsed-time: '539' - etag: W/"0x8D7EC954E6DE3AF" - expires: '-1' - location: https://search640f10d5.search.windows.net/indexes('hotels')?api-version=2020-06-30 - odata-version: '4.0' - pragma: no-cache - preference-applied: odata.include-annotations="*" - request-id: 69c62a04-8a71-11ea-889b-8c8590507855 - strict-transport-security: max-age=15724800; includeSubDomains - status: - code: 201 - message: Created - url: https://search640f10d5.search.windows.net/indexes?api-version=2020-06-30 -version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_index.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_index.yaml deleted file mode 100644 index 8a9902a9e746..000000000000 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_create_or_update_index.yaml +++ /dev/null @@ -1,85 +0,0 @@ -interactions: -- request: - body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [], "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": - 60}}' - headers: - Accept: - - application/json;odata.metadata=minimal - Content-Length: - - '239' - Content-Type: - - application/json - Prefer: - - return=representation - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - 6CF9D38E0C02AE7CBFF09C124F5A46F5 - method: PUT - uri: https://search234a14f7.search.windows.net/indexes('hotels')?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search234a14f7.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EC95562E8036\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' - headers: - cache-control: no-cache - content-length: '816' - content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:30:43 GMT - elapsed-time: '988' - etag: W/"0x8D7EC95562E8036" - expires: '-1' - location: https://search234a14f7.search.windows.net/indexes('hotels')?api-version=2020-06-30 - odata-version: '4.0' - pragma: no-cache - preference-applied: odata.include-annotations="*" - request-id: 71388dae-8a71-11ea-889b-8c8590507855 - strict-transport-security: max-age=15724800; includeSubDomains - status: - code: 201 - message: Created - url: https://search234a14f7.search.windows.net/indexes('hotels')?api-version=2020-06-30 -- request: - body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [{"name": "MyProfile"}], "corsOptions": {"allowedOrigins": - ["*"], "maxAgeInSeconds": 60}}' - headers: - Accept: - - application/json;odata.metadata=minimal - Content-Length: - - '260' - Content-Type: - - application/json - Prefer: - - return=representation - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - 6CF9D38E0C02AE7CBFF09C124F5A46F5 - method: PUT - uri: https://search234a14f7.search.windows.net/indexes('hotels')?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search234a14f7.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EC9556534D05\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' - headers: - cache-control: no-cache - content-encoding: gzip - content-length: '536' - content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:30:43 GMT - elapsed-time: '129' - etag: W/"0x8D7EC9556534D05" - expires: '-1' - odata-version: '4.0' - pragma: no-cache - preference-applied: odata.include-annotations="*" - request-id: 71f053d0-8a71-11ea-889b-8c8590507855 - strict-transport-security: max-age=15724800; includeSubDomains - vary: Accept-Encoding - status: - code: 200 - message: OK - url: https://search234a14f7.search.windows.net/indexes('hotels')?api-version=2020-06-30 -version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_index_statistics.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_index_statistics.yaml deleted file mode 100644 index 6d397e6702a4..000000000000 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_index_statistics.yaml +++ /dev/null @@ -1,34 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=minimal - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - 3DB2E070C62F5424D11A4BAAE184B3EF - method: GET - uri: https://searchfabb144b.search.windows.net/indexes('drgqefsg')/search.stats?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searchfabb144b.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexStatistics","documentCount":0,"storageSize":0}' - headers: - cache-control: no-cache - content-encoding: gzip - content-length: '263' - content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:31:24 GMT - elapsed-time: '31' - expires: '-1' - odata-version: '4.0' - pragma: no-cache - preference-applied: odata.include-annotations="*" - request-id: 8a5b6cd4-8a71-11ea-889b-8c8590507855 - strict-transport-security: max-age=15724800; includeSubDomains - vary: Accept-Encoding - status: - code: 200 - message: OK - url: https://searchfabb144b.search.windows.net/indexes('drgqefsg')/search.stats?api-version=2020-06-30 -version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_service_statistics.yaml b/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_service_statistics.yaml deleted file mode 100644 index cb16c9b0d1e5..000000000000 --- a/sdk/search/azure-search-documents/tests/async_tests/recordings/test_service_live_async.test_get_service_statistics.yaml +++ /dev/null @@ -1,34 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=minimal - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - A4B33DCE35FD438DFDF33E31096E8B8A - method: GET - uri: https://search24f71524.search.windows.net/servicestats?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search24f71524.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.ServiceStatistics","counters":{"documentCount":{"usage":0,"quota":null},"indexesCount":{"usage":0,"quota":3},"indexersCount":{"usage":0,"quota":3},"dataSourcesCount":{"usage":0,"quota":3},"storageSize":{"usage":0,"quota":52428800},"synonymMaps":{"usage":0,"quota":3},"skillsetCount":{"usage":0,"quota":3}},"limits":{"maxFieldsPerIndex":1000,"maxFieldNestingDepthPerIndex":10,"maxComplexCollectionFieldsPerIndex":40,"maxComplexObjectsInCollectionsPerDocument":3000}}' - headers: - cache-control: no-cache - content-encoding: gzip - content-length: '430' - content-type: application/json; odata.metadata=minimal - date: Wed, 29 Apr 2020 23:30:07 GMT - elapsed-time: '36' - expires: '-1' - odata-version: '4.0' - pragma: no-cache - preference-applied: odata.include-annotations="*" - request-id: 5c1c72a0-8a71-11ea-889b-8c8590507855 - strict-transport-security: max-age=15724800; includeSubDomains - vary: Accept-Encoding - status: - code: 200 - message: OK - url: https://search24f71524.search.windows.net/servicestats?api-version=2020-06-30 -version: 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_batching_client_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_batching_client_async.py index 06767c082a7a..9c7a7ae2588f 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/test_batching_client_async.py +++ b/sdk/search/azure-search-documents/tests/async_tests/test_batching_client_async.py @@ -11,21 +11,22 @@ SearchIndexDocumentBatchingClient, ) from azure.core.credentials import AzureKeyCredential +from azure.core.exceptions import HttpResponseError CREDENTIAL = AzureKeyCredential(key="test_api_key") class TestSearchBatchingClientAsync(object): async def test_search_index_document_batching_client_kwargs(self): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, window=100, batch_size=100) + client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, window=100) - assert client.batch_size == 100 + assert client.batch_size == 1000 assert client._window == 100 assert client._auto_flush await client.close() async def test_batch_queue(self): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL) + client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, auto_flush=False) assert client._index_documents_batch await client.add_upload_actions(["upload1"]) @@ -39,49 +40,37 @@ async def test_batch_queue(self): assert len(client.actions) == 7 - async def test_succeeded_queue(self): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL) - - assert client._index_documents_batch - await client.add_upload_actions(["upload1"]) - await client.add_delete_actions(["delete1", "delete2"]) - await client.add_merge_actions(["merge1", "merge2", "merge3"]) - await client.add_merge_or_upload_actions(["merge_or_upload1"]) - actions = await client._index_documents_batch.dequeue_actions() - await client._index_documents_batch.enqueue_succeeded_actions(actions) - assert len(client.succeeded_actions) == 7 - - - async def test_failed_queue(self): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL) - - assert client._index_documents_batch - await client.add_upload_actions(["upload1"]) - await client.add_delete_actions(["delete1", "delete2"]) - await client.add_merge_actions(["merge1", "merge2", "merge3"]) - await client.add_merge_or_upload_actions(["merge_or_upload1"]) - actions = await client._index_documents_batch.dequeue_actions() - await client._index_documents_batch.enqueue_failed_actions(actions) - assert len(client.failed_actions) == 7 - - @mock.patch( - "azure.search.documents._internal.aio._search_index_document_batching_client_async.SearchIndexDocumentBatchingClient.flush" + "azure.search.documents._internal.aio._search_index_document_batching_client_async.SearchIndexDocumentBatchingClient._process_if_needed" ) - async def test_flush_if_needed(self, mock_flush): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, window=1000, batch_size=2) + async def test_process_if_needed(self, mock_process_if_needed): + client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, window=1000, auto_flush=False) await client.add_upload_actions(["upload1"]) await client.add_delete_actions(["delete1", "delete2"]) - assert mock_flush.called - await client.close() + assert mock_process_if_needed.called @mock.patch( "azure.search.documents._internal.aio._search_index_document_batching_client_async.SearchIndexDocumentBatchingClient._cleanup" ) async def test_context_manager(self, mock_cleanup): - async with SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL) as client: + async with SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, auto_flush=False) as client: await client.add_upload_actions(["upload1"]) await client.add_delete_actions(["delete1", "delete2"]) assert mock_cleanup.called + + async def test_flush(self): + DOCUMENT = { + 'Category': 'Hotel', + 'HotelId': '1000', + 'Rating': 4.0, + 'Rooms': [], + 'HotelName': 'Azure Inn', + } + with mock.patch.object(SearchIndexDocumentBatchingClient, "_index_documents_actions", side_effect=HttpResponseError("Error")): + async with SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, auto_flush=False) as client: + client._index_key = "HotelId" + await client.add_upload_actions([DOCUMENT]) + await client.flush() + assert len(client.actions) == 0 diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_client_basic_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_client_basic_live_async.py new file mode 100644 index 000000000000..c3d1a3c64db0 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_client_basic_live_async.py @@ -0,0 +1,79 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer + +from search_service_preparer import SearchServicePreparer + +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function + +CWD = dirname(realpath(__file__)) + +SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() +BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) + +from azure.core.exceptions import HttpResponseError +from azure.core.credentials import AzureKeyCredential +from azure.search.documents.aio import SearchClient + +TIME_TO_SLEEP = 3 + +def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + trim_kwargs_from_test_function(test_fn, kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run + + +class SearchClientTestAsync(AzureMgmtTestCase): + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_async_get_document_count( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + async with client: + assert await client.get_document_count() == 10 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_document(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + async with client: + for hotel_id in range(1, 11): + result = await client.get_document(key=str(hotel_id)) + expected = BATCH["value"][hotel_id - 1] + assert result.get("hotelId") == expected.get("hotelId") + assert result.get("hotelName") == expected.get("hotelName") + assert result.get("description") == expected.get("description") + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_document_missing(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + async with client: + with pytest.raises(HttpResponseError): + await client.get_document(key="1000") diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_client_batching_client_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_client_batching_client_live_async.py new file mode 100644 index 000000000000..528792a264b3 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_client_batching_client_live_async.py @@ -0,0 +1,251 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer + +from search_service_preparer import SearchServicePreparer + +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function + +CWD = dirname(realpath(__file__)) + +SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() +BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) + +from azure.core.exceptions import HttpResponseError +from azure.core.credentials import AzureKeyCredential +from azure.search.documents.aio import SearchClient, SearchIndexDocumentBatchingClient + +TIME_TO_SLEEP = 3 + +def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + trim_kwargs_from_test_function(test_fn, kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run + + +class SearchClientTestAsync(AzureMgmtTestCase): + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_upload_documents_new(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + DOCUMENTS = [ + {"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure Inn"}, + {"hotelId": "1001", "rating": 4, "rooms": [], "hotelName": "Redmond Hotel"}, + ] + + async with batch_client: + await batch_client.add_upload_actions(DOCUMENTS) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + async with client: + assert await client.get_document_count() == 12 + for doc in DOCUMENTS: + result = await client.get_document(key=doc["hotelId"]) + assert result["hotelId"] == doc["hotelId"] + assert result["hotelName"] == doc["hotelName"] + assert result["rating"] == doc["rating"] + assert result["rooms"] == doc["rooms"] + + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_upload_documents_existing( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + DOCUMENTS = [ + {"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure Inn"}, + {"hotelId": "3", "rating": 4, "rooms": [], "hotelName": "Redmond Hotel"}, + ] + async with batch_client: + await batch_client.add_upload_actions(DOCUMENTS) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + async with client: + assert await client.get_document_count() == 11 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_documents_existing( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + async with batch_client: + await batch_client.add_delete_actions( + [{"hotelId": "3"}, {"hotelId": "4"}] + ) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + async with client: + assert await client.get_document_count() == 8 + + with pytest.raises(HttpResponseError): + await client.get_document(key="3") + + with pytest.raises(HttpResponseError): + await client.get_document(key="4") + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_documents_missing( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + async with batch_client: + await batch_client.add_delete_actions( + [{"hotelId": "1000"}, {"hotelId": "4"}] + ) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + async with client: + assert await client.get_document_count() == 9 + + with pytest.raises(HttpResponseError): + await client.get_document(key="1000") + + with pytest.raises(HttpResponseError): + await client.get_document(key="4") + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_merge_documents_existing( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + async with batch_client: + await batch_client.add_merge_actions( + [{"hotelId": "3", "rating": 1}, {"hotelId": "4", "rating": 2}] + ) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + async with client: + assert await client.get_document_count() == 10 + + result = await client.get_document(key="3") + assert result["rating"] == 1 + + result = await client.get_document(key="4") + assert result["rating"] == 2 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_merge_documents_missing( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + async with batch_client: + await batch_client.add_merge_actions( + [{"hotelId": "1000", "rating": 1}, {"hotelId": "4", "rating": 2}] + ) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + async with client: + assert await client.get_document_count() == 10 + + with pytest.raises(HttpResponseError): + await client.get_document(key="1000") + + result = await client.get_document(key="4") + assert result["rating"] == 2 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_merge_or_upload_documents( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + async with batch_client: + await batch_client.add_merge_or_upload_actions( + [{"hotelId": "1000", "rating": 1}, {"hotelId": "4", "rating": 2}] + ) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + async with client: + assert await client.get_document_count() == 11 + + result = await client.get_document(key="1000") + assert result["rating"] == 1 + + result = await client.get_document(key="4") + assert result["rating"] == 2 diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_index_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_client_index_document_live_async.py similarity index 54% rename from sdk/search/azure-search-documents/tests/async_tests/test_index_live_async.py rename to sdk/search/azure-search-documents/tests/async_tests/test_search_client_index_document_live_async.py index c2c674baf673..87e8ec043bd2 100644 --- a/sdk/search/azure-search-documents/tests/async_tests/test_index_live_async.py +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_client_index_document_live_async.py @@ -43,179 +43,6 @@ def run(test_class_instance, *args, **kwargs): class SearchClientTestAsync(AzureMgmtTestCase): - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_async_get_document_count( - self, api_key, endpoint, index_name, **kwargs - ): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - async with client: - assert await client.get_document_count() == 10 - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_document(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - async with client: - for hotel_id in range(1, 11): - result = await client.get_document(key=str(hotel_id)) - expected = BATCH["value"][hotel_id - 1] - assert result.get("hotelId") == expected.get("hotelId") - assert result.get("hotelName") == expected.get("hotelName") - assert result.get("description") == expected.get("description") - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_document_missing(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - async with client: - with pytest.raises(HttpResponseError): - await client.get_document(key="1000") - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_search_simple(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - async with client: - results = [] - async for x in await client.search(search_text="hotel"): - results.append(x) - assert len(results) == 7 - - results = [] - async for x in await client.search(search_text="motel"): - results.append(x) - assert len(results) == 2 - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_search_filter(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - async with client: - results = [] - select = ("hotelName", "category", "description") - async for x in await client.search( - search_text="WiFi", - filter="category eq 'Budget'", - select=",".join(select), - order_by="hotelName desc" - ): - results.append(x) - assert [x["hotelName"] for x in results] == sorted( - [x["hotelName"] for x in results], reverse=True - ) - expected = { - "category", - "hotelName", - "description", - "@search.score", - "@search.highlights", - } - assert all(set(x) == expected for x in results) - assert all(x["category"] == "Budget" for x in results) - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_search_counts(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - results = await client.search(search_text="hotel") - assert await results.get_count() is None - - results = await client.search(search_text="hotel", include_total_count=True) - assert await results.get_count() == 7 - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_search_coverage(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - results = await client.search(search_text="hotel") - assert await results.get_coverage() is None - - results = await client.search(search_text="hotel", minimum_coverage=50.0) - cov = await results.get_coverage() - assert isinstance(cov, float) - assert cov >= 50.0 - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_search_facets_none( - self, api_key, endpoint, index_name, **kwargs - ): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - async with client: - select = ("hotelName", "category", "description") - results = await client.search( - search_text="WiFi", - select=",".join(select) - ) - assert await results.get_facets() is None - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_search_facets_result( - self, api_key, endpoint, index_name, **kwargs - ): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - async with client: - select = ("hotelName", "category", "description") - results = await client.search( - search_text="WiFi", - facets=["category"], - select=",".join(select) - ) - assert await results.get_facets() == { - "category": [ - {"value": "Budget", "count": 4}, - {"value": "Luxury", "count": 1}, - ] - } - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_autocomplete(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - async with client: - results = await client.autocomplete(search_text="mot", suggester_name="sg") - assert results == [{"text": "motel", "query_plus_text": "motel"}] - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_suggest(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - async with client: - results = await client.suggest(search_text="mot", suggester_name="sg") - assert results == [ - {"hotelId": "2", "text": "Cheapest hotel in town. Infact, a motel."}, - {"hotelId": "9", "text": "Secret Point Motel"}, - ] - @ResourceGroupPreparer(random_name_enabled=True) @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) async def test_upload_documents_new(self, api_key, endpoint, index_name, **kwargs): diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_client_search_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_client_search_live_async.py new file mode 100644 index 000000000000..582e7b713b61 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_client_search_live_async.py @@ -0,0 +1,182 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer + +from search_service_preparer import SearchServicePreparer + +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function + +CWD = dirname(realpath(__file__)) + +SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() +BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) + +from azure.core.exceptions import HttpResponseError +from azure.core.credentials import AzureKeyCredential +from azure.search.documents.aio import SearchClient + +TIME_TO_SLEEP = 3 + +def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + trim_kwargs_from_test_function(test_fn, kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run + + +class SearchClientTestAsync(AzureMgmtTestCase): + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_search_simple(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + async with client: + results = [] + async for x in await client.search(search_text="hotel"): + results.append(x) + assert len(results) == 7 + + results = [] + async for x in await client.search(search_text="motel"): + results.append(x) + assert len(results) == 2 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_search_filter(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + async with client: + results = [] + select = ("hotelName", "category", "description") + async for x in await client.search( + search_text="WiFi", + filter="category eq 'Budget'", + select=",".join(select), + order_by="hotelName desc" + ): + results.append(x) + assert [x["hotelName"] for x in results] == sorted( + [x["hotelName"] for x in results], reverse=True + ) + expected = { + "category", + "hotelName", + "description", + "@search.score", + "@search.highlights", + } + assert all(set(x) == expected for x in results) + assert all(x["category"] == "Budget" for x in results) + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_search_counts(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + results = await client.search(search_text="hotel") + assert await results.get_count() is None + + results = await client.search(search_text="hotel", include_total_count=True) + assert await results.get_count() == 7 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_search_coverage(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + results = await client.search(search_text="hotel") + assert await results.get_coverage() is None + + results = await client.search(search_text="hotel", minimum_coverage=50.0) + cov = await results.get_coverage() + assert isinstance(cov, float) + assert cov >= 50.0 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_search_facets_none( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + async with client: + select = ("hotelName", "category", "description") + results = await client.search( + search_text="WiFi", + select=",".join(select) + ) + assert await results.get_facets() is None + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_search_facets_result( + self, api_key, endpoint, index_name, **kwargs + ): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + async with client: + select = ("hotelName", "category", "description") + results = await client.search( + search_text="WiFi", + facets=["category"], + select=",".join(select) + ) + assert await results.get_facets() == { + "category": [ + {"value": "Budget", "count": 4}, + {"value": "Luxury", "count": 1}, + ] + } + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_autocomplete(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + async with client: + results = await client.autocomplete(search_text="mot", suggester_name="sg") + assert results == [{"text": "motel", "query_plus_text": "motel"}] + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_suggest(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + async with client: + results = await client.suggest(search_text="mot", suggester_name="sg") + assert results == [ + {"hotelId": "2", "text": "Cheapest hotel in town. Infact, a motel."}, + {"hotelId": "9", "text": "Secret Point Motel"}, + ] diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_service_client_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_async.py similarity index 100% rename from sdk/search/azure-search-documents/tests/async_tests/test_search_service_client_async.py rename to sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_async.py diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_data_source_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_data_source_live_async.py new file mode 100644 index 000000000000..f05645f3552b --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_data_source_live_async.py @@ -0,0 +1,161 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +import json +from os.path import dirname, join, realpath +import time + +import pytest +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function + +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexerDataContainer, + SearchIndexer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes.aio import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() +BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + trim_kwargs_from_test_function(test_fn, kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run + +class SearchDataSourcesClientTest(AzureMgmtTestCase): + + def _create_data_source_connection(self, name="sample-datasource"): + container = SearchIndexerDataContainer(name='searchcontainer') + data_source_connection = SearchIndexerDataSourceConnection( + name=name, + type="azureblob", + connection_string=CONNECTION_STRING, + container=container + ) + return data_source_connection + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_datasource_async(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + result = await client.create_data_source_connection(data_source_connection) + assert result.name == "sample-datasource" + assert result.type == "azureblob" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_datasource_async(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + result = await client.create_data_source_connection(data_source_connection) + assert len(await client.get_data_source_connections()) == 1 + await client.delete_data_source_connection("sample-datasource") + assert len(await client.get_data_source_connections()) == 0 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_datasource_async(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = await client.create_data_source_connection(data_source_connection) + result = await client.get_data_source_connection("sample-datasource") + assert result.name == "sample-datasource" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_list_datasource_async(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection1 = self._create_data_source_connection() + data_source_connection2 = self._create_data_source_connection(name="another-sample") + created1 = await client.create_data_source_connection(data_source_connection1) + created2 = await client.create_data_source_connection(data_source_connection2) + result = await client.get_data_source_connections() + assert isinstance(result, list) + assert set(x.name for x in result) == {"sample-datasource", "another-sample"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_datasource_async(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = await client.create_data_source_connection(data_source_connection) + assert len(await client.get_data_source_connections()) == 1 + data_source_connection.description = "updated" + await client.create_or_update_data_source_connection(data_source_connection) + assert len(await client.get_data_source_connections()) == 1 + result = await client.get_data_source_connection("sample-datasource") + assert result.name == "sample-datasource" + assert result.description == "updated" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = await client.create_data_source_connection(data_source_connection) + etag = created.e_tag + + # Now update the data source connection + data_source_connection.description = "updated" + await client.create_or_update_data_source_connection(data_source_connection) + + # prepare data source connection + data_source_connection.e_tag = etag # reset to the original data source connection + data_source_connection.description = "changed" + with pytest.raises(HttpResponseError): + await client.create_or_update_data_source_connection(data_source_connection, match_condition=MatchConditions.IfNotModified) + assert len(await client.get_data_source_connections()) == 1 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = await client.create_data_source_connection(data_source_connection) + etag = created.e_tag + + # Now update the data source connection + data_source_connection.description = "updated" + await client.create_or_update_data_source_connection(data_source_connection) + + # prepare data source connection + data_source_connection.e_tag = etag # reset to the original data source connection + with pytest.raises(HttpResponseError): + await client.delete_data_source_connection(data_source_connection, match_condition=MatchConditions.IfNotModified) + assert len(await client.get_data_source_connections()) == 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_live_async.py new file mode 100644 index 000000000000..1e4ffc002975 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_live_async.py @@ -0,0 +1,263 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +import json +from os.path import dirname, join, realpath +import time + +import pytest +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function + +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexerDataContainer, + SearchIndexer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes.aio import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() +BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + trim_kwargs_from_test_function(test_fn, kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run + +class SearchIndexClientTest(AzureMgmtTestCase): + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer() + async def test_get_service_statistics(self, api_key, endpoint, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = await client.get_service_statistics() + assert isinstance(result, dict) + assert set(result.keys()) == {"counters", "limits"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer() + async def test_list_indexes_empty(self, api_key, endpoint, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.list_indexes() + + with pytest.raises(StopAsyncIteration): + await result.__anext__() + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_list_indexes(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.list_indexes() + + first = await result.__anext__() + assert first.name == index_name + + with pytest.raises(StopAsyncIteration): + await result.__anext__() + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_index(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = await client.get_index(index_name) + assert result.name == index_name + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_index_statistics(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = await client.get_index_statistics(index_name) + assert set(result.keys()) == {'document_count', 'storage_size'} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_indexes(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + await client.delete_index(index_name) + import time + if self.is_live: + time.sleep(TIME_TO_SLEEP) + result = client.list_indexes() + with pytest.raises(StopAsyncIteration): + await result.__anext__() + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_indexes_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + + # First create an index + name = "hotels" + fields = [ + { + "name": "hotelId", + "type": "Edm.String", + "key": True, + "searchable": False + }, + { + "name": "baseRate", + "type": "Edm.Double" + }] + scoring_profile = ScoringProfile( + name="MyProfile" + ) + scoring_profiles = [] + scoring_profiles.append(scoring_profile) + cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + result = await client.create_index(index) + etag = result.e_tag + # get e tag nd update + index.scoring_profiles = [] + await client.create_or_update_index(index) + + index.e_tag = etag + with pytest.raises(HttpResponseError): + await client.delete_index(index, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_index(self, api_key, endpoint, index_name, **kwargs): + name = "hotels" + fields = fields = [ + SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), + SimpleField(name="baseRate", type=SearchFieldDataType.Double) + ] + + scoring_profile = ScoringProfile( + name="MyProfile" + ) + scoring_profiles = [] + scoring_profiles.append(scoring_profile) + cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = await client.create_index(index) + assert result.name == "hotels" + assert result.scoring_profiles[0].name == scoring_profile.name + assert result.cors_options.allowed_origins == cors_options.allowed_origins + assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_index(self, api_key, endpoint, index_name, **kwargs): + name = "hotels" + fields = fields = [ + SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), + SimpleField(name="baseRate", type=SearchFieldDataType.Double) + ] + + cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) + scoring_profiles = [] + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = await client.create_or_update_index(index=index) + assert len(result.scoring_profiles) == 0 + assert result.cors_options.allowed_origins == cors_options.allowed_origins + assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds + scoring_profile = ScoringProfile( + name="MyProfile" + ) + scoring_profiles = [] + scoring_profiles.append(scoring_profile) + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + result = await client.create_or_update_index(index=index) + assert result.scoring_profiles[0].name == scoring_profile.name + assert result.cors_options.allowed_origins == cors_options.allowed_origins + assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_indexes_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + + # First create an index + name = "hotels" + fields = [ + { + "name": "hotelId", + "type": "Edm.String", + "key": True, + "searchable": False + }, + { + "name": "baseRate", + "type": "Edm.Double" + }] + scoring_profile = ScoringProfile( + name="MyProfile" + ) + scoring_profiles = [] + scoring_profiles.append(scoring_profile) + cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + result = await client.create_index(index) + etag = result.e_tag + # get e tag nd update + index.scoring_profiles = [] + await client.create_or_update_index(index) + + index.e_tag = etag + with pytest.raises(HttpResponseError): + await client.create_or_update_index(index, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_analyze_text(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + analyze_request = AnalyzeTextOptions(text="One's ", analyzer_name="standard.lucene") + result = await client.analyze_text(index_name, analyze_request) + assert len(result.tokens) == 2 diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_skillset_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_skillset_live_async.py new file mode 100644 index 000000000000..0e8ab94bfc07 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_skillset_live_async.py @@ -0,0 +1,199 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +import json +from os.path import dirname, join, realpath +import time + +import pytest +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function + +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexerDataContainer, + SearchIndexer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes.aio import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() +BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + trim_kwargs_from_test_function(test_fn, kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run + +class SearchSkillsetClientTest(AzureMgmtTestCase): + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_skillset(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") + result = await client.create_skillset(skillset) + assert isinstance(result, SearchIndexerSkillset) + assert result.name == "test-ss" + assert result.description == "desc" + assert result.e_tag + assert len(result.skills) == 1 + assert isinstance(result.skills[0], EntityRecognitionSkill) + + assert len(await client.get_skillsets()) == 1 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_skillset(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") + result = await client.create_skillset(skillset) + assert len(await client.get_skillsets()) == 1 + + await client.delete_skillset("test-ss") + if self.is_live: + time.sleep(TIME_TO_SLEEP) + assert len(await client.get_skillsets()) == 0 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_skillset_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") + result = await client.create_skillset(skillset) + etag = result.e_tag + + skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="updated") + updated = await client.create_or_update_skillset(skillset1) + updated.e_tag = etag + + with pytest.raises(HttpResponseError): + await client.delete_skillset(updated, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_skillset(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") + await client.create_skillset(skillset) + assert len(await client.get_skillsets()) == 1 + + result = await client.get_skillset("test-ss") + assert isinstance(result, SearchIndexerSkillset) + assert result.name == "test-ss" + assert result.description == "desc" + assert result.e_tag + assert len(result.skills) == 1 + assert isinstance(result.skills[0], EntityRecognitionSkill) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_skillsets(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset1 = SearchIndexerSkillset(name='test-ss-1', skills=list([s]), description="desc1") + await client.create_skillset(skillset1) + skillset2 = SearchIndexerSkillset(name='test-ss-2', skills=list([s]), description="desc2") + await client.create_skillset(skillset2) + result = await client.get_skillsets() + assert isinstance(result, list) + assert all(isinstance(x, SearchIndexerSkillset) for x in result) + assert set(x.name for x in result) == {"test-ss-1", "test-ss-2"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_skillset(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") + await client.create_or_update_skillset(skillset1) + skillset2 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc2") + await client.create_or_update_skillset(skillset2) + assert len(await client.get_skillsets()) == 1 + + result = await client.get_skillset("test-ss") + assert isinstance(result, SearchIndexerSkillset) + assert result.name == "test-ss" + assert result.description == "desc2" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_skillset_inplace(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") + ss = await client.create_or_update_skillset(skillset1) + skillset2 = SearchIndexerSkillset(name='test-ss', skills=[s], description="desc2", skillset=ss) + await client.create_or_update_skillset(skillset2) + assert len(await client.get_skillsets()) == 1 + + result = await client.get_skillset("test-ss") + assert isinstance(result, SearchIndexerSkillset) + assert result.name == "test-ss" + assert result.description == "desc2" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_skillset_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") + ss = await client.create_or_update_skillset(skillset1) + etag = ss.e_tag + + skillset2 = SearchIndexerSkillset(name='test-ss', skills=[s], description="desc2", skillset=ss) + await client.create_or_update_skillset(skillset2) + assert len(await client.get_skillsets()) == 1 diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_synonym_map_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_synonym_map_live_async.py new file mode 100644 index 000000000000..e7b5dff40e57 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_index_client_synonym_map_live_async.py @@ -0,0 +1,175 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +import json +from os.path import dirname, join, realpath +import time + +import pytest +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function + +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexerDataContainer, + SearchIndexer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes.aio import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() +BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + trim_kwargs_from_test_function(test_fn, kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run + +class SearchSynonymMapsClientTest(AzureMgmtTestCase): + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_synonym_map(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + result = await client.create_synonym_map(synonym_map) + assert isinstance(result, SynonymMap) + assert result.name == "test-syn-map" + assert result.synonyms == [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + assert len(await client.get_synonym_maps()) == 1 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_synonym_map(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + result = await client.create_synonym_map(synonym_map) + assert len(await client.get_synonym_maps()) == 1 + await client.delete_synonym_map("test-syn-map") + assert len(await client.get_synonym_maps()) == 0 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_synonym_map_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + result = await client.create_synonym_map(synonym_map) + etag = result.e_tag + + synonym_map.synonyms = "\n".join([ + "Washington, Wash. => WA", + ]) + await client.create_or_update_synonym_map(synonym_map) + + result.e_tag = etag + with pytest.raises(HttpResponseError): + await client.delete_synonym_map(result, match_condition=MatchConditions.IfNotModified) + assert len(client.get_synonym_maps()) == 1 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_synonym_map(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + await client.create_synonym_map(synonym_map) + assert len(await client.get_synonym_maps()) == 1 + result = await client.get_synonym_map("test-syn-map") + assert isinstance(result, SynonymMap) + assert result.name == "test-syn-map" + assert result.synonyms == [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_synonym_maps(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map_1 = SynonymMap(name="test-syn-map-1", synonyms=synonyms) + await client.create_synonym_map(synonym_map_1) + synonyms = [ + "Washington, Wash. => WA", + ] + synonym_map_2 = SynonymMap(name="test-syn-map-2", synonyms=synonyms) + await client.create_synonym_map(synonym_map_2) + result = await client.get_synonym_maps() + assert isinstance(result, list) + assert all(isinstance(x, SynonymMap) for x in result) + assert set(x.name for x in result) == {"test-syn-map-1", "test-syn-map-2"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_synonym_map(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + await client.create_synonym_map(synonym_map) + assert len(await client.get_synonym_maps()) == 1 + synonym_map.synonyms = [ + "Washington, Wash. => WA", + ] + await client.create_or_update_synonym_map(synonym_map) + assert len(await client.get_synonym_maps()) == 1 + result = await client.get_synonym_map("test-syn-map") + assert isinstance(result, SynonymMap) + assert result.name == "test-syn-map" + assert result.synonyms == [ + "Washington, Wash. => WA", + ] diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_search_indexer_client_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_search_indexer_client_live_async.py new file mode 100644 index 000000000000..6faa59072113 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/async_tests/test_search_indexer_client_live_async.py @@ -0,0 +1,202 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +import json +from os.path import dirname, join, realpath +import time + +import pytest +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function + +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexerDataContainer, + SearchIndexer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes.aio import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() +BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + trim_kwargs_from_test_function(test_fn, kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run + +class SearchIndexersClientTest(AzureMgmtTestCase): + + async def _prepare_indexer(self, endpoint, api_key, name="sample-indexer", ds_name="sample-datasource", id_name="hotels"): + con_str = self.settings.AZURE_STORAGE_CONNECTION_STRING + self.scrubber.register_name_pair(con_str, 'connection_string') + container = SearchIndexerDataContainer(name='searchcontainer') + data_source_connection = SearchIndexerDataSourceConnection( + name=ds_name, + type="azureblob", + connection_string=con_str, + container=container + ) + ds_client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + ds = await ds_client.create_data_source_connection(data_source_connection) + + index_name = id_name + fields = [ + { + "name": "hotelId", + "type": "Edm.String", + "key": True, + "searchable": False + }] + index = SearchIndex(name=index_name, fields=fields) + ind_client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + ind = await ind_client.create_index(index) + return SearchIndexer(name=name, data_source_name=ds.name, target_index_name=ind.name) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + result = await client.create_indexer(indexer) + assert result.name == "sample-indexer" + assert result.target_index_name == "hotels" + assert result.data_source_name == "sample-datasource" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + result = await client.create_indexer(indexer) + assert len(await client.get_indexers()) == 1 + await client.delete_indexer("sample-indexer") + assert len(await client.get_indexers()) == 0 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + created = await client.create_indexer(indexer) + result = await client.get_indexer("sample-indexer") + assert result.name == "sample-indexer" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_list_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer1 = await self._prepare_indexer(endpoint, api_key) + indexer2 = await self._prepare_indexer(endpoint, api_key, name="another-indexer", ds_name="another-datasource", id_name="another-index") + created1 = await client.create_indexer(indexer1) + created2 = await client.create_indexer(indexer2) + result = await client.get_indexers() + assert isinstance(result, list) + assert set(x.name for x in result) == {"sample-indexer", "another-indexer"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + created = await client.create_indexer(indexer) + assert len(await client.get_indexers()) == 1 + indexer.description = "updated" + await client.create_or_update_indexer(indexer) + assert len(await client.get_indexers()) == 1 + result = await client.get_indexer("sample-indexer") + assert result.name == "sample-indexer" + assert result.description == "updated" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_reset_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + result = await client.create_indexer(indexer) + assert len(await client.get_indexers()) == 1 + await client.reset_indexer("sample-indexer") + assert (await client.get_indexer_status("sample-indexer")).last_result.status in ('InProgress', 'reset') + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_run_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + result = await client.create_indexer(indexer) + assert len(await client.get_indexers()) == 1 + start = time.time() + await client.run_indexer("sample-indexer") + assert (await client.get_indexer_status("sample-indexer")).status == 'running' + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_get_indexer_status(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + result = await client.create_indexer(indexer) + status = await client.get_indexer_status("sample-indexer") + assert status.status is not None + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_create_or_update_indexer_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + created = await client.create_indexer(indexer) + etag = created.e_tag + + + indexer.description = "updated" + await client.create_or_update_indexer(indexer) + + indexer.e_tag = etag + with pytest.raises(HttpResponseError): + await client.create_or_update_indexer(indexer, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + async def test_delete_indexer_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = await self._prepare_indexer(endpoint, api_key) + result = await client.create_indexer(indexer) + etag = result.e_tag + + indexer.description = "updated" + await client.create_or_update_indexer(indexer) + + indexer.e_tag = etag + with pytest.raises(HttpResponseError): + await client.delete_indexer(indexer, match_condition=MatchConditions.IfNotModified) diff --git a/sdk/search/azure-search-documents/tests/async_tests/test_service_live_async.py b/sdk/search/azure-search-documents/tests/async_tests/test_service_live_async.py deleted file mode 100644 index 6ffa76fa12f0..000000000000 --- a/sdk/search/azure-search-documents/tests/async_tests/test_service_live_async.py +++ /dev/null @@ -1,771 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- -import asyncio -import functools -import json -from os.path import dirname, join, realpath -import time - -import pytest -from azure.core import MatchConditions -from azure.core.credentials import AzureKeyCredential -from devtools_testutils import AzureMgmtTestCase - -from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer - -from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function - -from azure.core.exceptions import HttpResponseError -from azure.search.documents.indexes.models import( - AnalyzeTextOptions, - AnalyzeResult, - CorsOptions, - EntityRecognitionSkill, - SearchIndex, - InputFieldMappingEntry, - OutputFieldMappingEntry, - ScoringProfile, - SearchIndexerSkillset, - SearchIndexerDataSourceConnection, - SearchIndexerDataContainer, - SearchIndexer, - SynonymMap, - SimpleField, - SearchFieldDataType -) -from azure.search.documents.indexes.aio import SearchIndexClient, SearchIndexerClient - -CWD = dirname(realpath(__file__)) -SCHEMA = open(join(CWD, "..", "hotel_schema.json")).read() -BATCH = json.load(open(join(CWD, "..", "hotel_small.json"), encoding='utf-8')) -TIME_TO_SLEEP = 5 -CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' - -def await_prepared_test(test_fn): - """Synchronous wrapper for async test methods. Used to avoid making changes - upstream to AbstractPreparer (which doesn't await the functions it wraps) - """ - - @functools.wraps(test_fn) - def run(test_class_instance, *args, **kwargs): - trim_kwargs_from_test_function(test_fn, kwargs) - loop = asyncio.get_event_loop() - return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) - - return run - -class SearchClientTest(AzureMgmtTestCase): - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer() - async def test_get_service_statistics(self, api_key, endpoint, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = await client.get_service_statistics() - assert isinstance(result, dict) - assert set(result.keys()) == {"counters", "limits"} - -class SearchIndexesClientTest(AzureMgmtTestCase): - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer() - async def test_list_indexes_empty(self, api_key, endpoint, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.list_indexes() - - with pytest.raises(StopAsyncIteration): - await result.__anext__() - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_list_indexes(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.list_indexes() - - first = await result.__anext__() - assert first.name == index_name - - with pytest.raises(StopAsyncIteration): - await result.__anext__() - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_index(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = await client.get_index(index_name) - assert result.name == index_name - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_index_statistics(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = await client.get_index_statistics(index_name) - assert set(result.keys()) == {'document_count', 'storage_size'} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_indexes(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - await client.delete_index(index_name) - import time - if self.is_live: - time.sleep(TIME_TO_SLEEP) - result = client.list_indexes() - with pytest.raises(StopAsyncIteration): - await result.__anext__() - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_indexes_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - - # First create an index - name = "hotels" - fields = [ - { - "name": "hotelId", - "type": "Edm.String", - "key": True, - "searchable": False - }, - { - "name": "baseRate", - "type": "Edm.Double" - }] - scoring_profile = ScoringProfile( - name="MyProfile" - ) - scoring_profiles = [] - scoring_profiles.append(scoring_profile) - cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - result = await client.create_index(index) - etag = result.e_tag - # get e tag nd update - index.scoring_profiles = [] - await client.create_or_update_index(index) - - index.e_tag = etag - with pytest.raises(HttpResponseError): - await client.delete_index(index, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_index(self, api_key, endpoint, index_name, **kwargs): - name = "hotels" - fields = fields = [ - SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), - SimpleField(name="baseRate", type=SearchFieldDataType.Double) - ] - - scoring_profile = ScoringProfile( - name="MyProfile" - ) - scoring_profiles = [] - scoring_profiles.append(scoring_profile) - cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = await client.create_index(index) - assert result.name == "hotels" - assert result.scoring_profiles[0].name == scoring_profile.name - assert result.cors_options.allowed_origins == cors_options.allowed_origins - assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_index(self, api_key, endpoint, index_name, **kwargs): - name = "hotels" - fields = fields = [ - SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), - SimpleField(name="baseRate", type=SearchFieldDataType.Double) - ] - - cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) - scoring_profiles = [] - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = await client.create_or_update_index(index=index) - assert len(result.scoring_profiles) == 0 - assert result.cors_options.allowed_origins == cors_options.allowed_origins - assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds - scoring_profile = ScoringProfile( - name="MyProfile" - ) - scoring_profiles = [] - scoring_profiles.append(scoring_profile) - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - result = await client.create_or_update_index(index=index) - assert result.scoring_profiles[0].name == scoring_profile.name - assert result.cors_options.allowed_origins == cors_options.allowed_origins - assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_indexes_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - - # First create an index - name = "hotels" - fields = [ - { - "name": "hotelId", - "type": "Edm.String", - "key": True, - "searchable": False - }, - { - "name": "baseRate", - "type": "Edm.Double" - }] - scoring_profile = ScoringProfile( - name="MyProfile" - ) - scoring_profiles = [] - scoring_profiles.append(scoring_profile) - cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - result = await client.create_index(index) - etag = result.e_tag - # get e tag nd update - index.scoring_profiles = [] - await client.create_or_update_index(index) - - index.e_tag = etag - with pytest.raises(HttpResponseError): - await client.create_or_update_index(index, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_analyze_text(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - analyze_request = AnalyzeTextOptions(text="One's ", analyzer_name="standard.lucene") - result = await client.analyze_text(index_name, analyze_request) - assert len(result.tokens) == 2 - -class SearchSynonymMapsClientTest(AzureMgmtTestCase): - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_synonym_map(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - result = await client.create_synonym_map(synonym_map) - assert isinstance(result, SynonymMap) - assert result.name == "test-syn-map" - assert result.synonyms == [ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ] - assert len(await client.get_synonym_maps()) == 1 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_synonym_map(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - result = await client.create_synonym_map(synonym_map) - assert len(await client.get_synonym_maps()) == 1 - await client.delete_synonym_map("test-syn-map") - assert len(await client.get_synonym_maps()) == 0 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_synonym_map_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - result = await client.create_synonym_map(synonym_map) - etag = result.e_tag - - synonym_map.synonyms = "\n".join([ - "Washington, Wash. => WA", - ]) - await client.create_or_update_synonym_map(synonym_map) - - result.e_tag = etag - with pytest.raises(HttpResponseError): - await client.delete_synonym_map(result, match_condition=MatchConditions.IfNotModified) - assert len(client.get_synonym_maps()) == 1 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_synonym_map(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - await client.create_synonym_map(synonym_map) - assert len(await client.get_synonym_maps()) == 1 - result = await client.get_synonym_map("test-syn-map") - assert isinstance(result, SynonymMap) - assert result.name == "test-syn-map" - assert result.synonyms == [ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ] - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_synonym_maps(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map_1 = SynonymMap(name="test-syn-map-1", synonyms=solr_format_synonyms) - await client.create_synonym_map(synonym_map_1) - solr_format_synonyms = "\n".join([ - "Washington, Wash. => WA", - ]) - synonym_map_2 = SynonymMap(name="test-syn-map-2", synonyms=solr_format_synonyms) - await client.create_synonym_map(synonym_map_2) - result = await client.get_synonym_maps() - assert isinstance(result, list) - assert all(isinstance(x, SynonymMap) for x in result) - assert set(x.name for x in result) == {"test-syn-map-1", "test-syn-map-2"} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_synonym_map(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - await client.create_synonym_map(synonym_map) - assert len(await client.get_synonym_maps()) == 1 - synonym_map.synonyms = "\n".join([ - "Washington, Wash. => WA", - ]) - await client.create_or_update_synonym_map(synonym_map) - assert len(await client.get_synonym_maps()) == 1 - result = await client.get_synonym_map("test-syn-map") - assert isinstance(result, SynonymMap) - assert result.name == "test-syn-map" - assert result.synonyms == [ - "Washington, Wash. => WA", - ] - -class SearchSkillsetClientTest(AzureMgmtTestCase): - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_skillset(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") - result = await client.create_skillset(skillset) - assert isinstance(result, SearchIndexerSkillset) - assert result.name == "test-ss" - assert result.description == "desc" - assert result.e_tag - assert len(result.skills) == 1 - assert isinstance(result.skills[0], EntityRecognitionSkill) - - assert len(await client.get_skillsets()) == 1 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_skillset(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") - result = await client.create_skillset(skillset) - assert len(await client.get_skillsets()) == 1 - - await client.delete_skillset("test-ss") - if self.is_live: - time.sleep(TIME_TO_SLEEP) - assert len(await client.get_skillsets()) == 0 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_skillset_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") - result = await client.create_skillset(skillset) - etag = result.e_tag - - skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="updated") - updated = await client.create_or_update_skillset(skillset1) - updated.e_tag = etag - - with pytest.raises(HttpResponseError): - await client.delete_skillset(updated, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_skillset(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") - await client.create_skillset(skillset) - assert len(await client.get_skillsets()) == 1 - - result = await client.get_skillset("test-ss") - assert isinstance(result, SearchIndexerSkillset) - assert result.name == "test-ss" - assert result.description == "desc" - assert result.e_tag - assert len(result.skills) == 1 - assert isinstance(result.skills[0], EntityRecognitionSkill) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_skillsets(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset1 = SearchIndexerSkillset(name='test-ss-1', skills=list([s]), description="desc1") - await client.create_skillset(skillset1) - skillset2 = SearchIndexerSkillset(name='test-ss-2', skills=list([s]), description="desc2") - await client.create_skillset(skillset2) - result = await client.get_skillsets() - assert isinstance(result, list) - assert all(isinstance(x, SearchIndexerSkillset) for x in result) - assert set(x.name for x in result) == {"test-ss-1", "test-ss-2"} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_skillset(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") - await client.create_or_update_skillset(skillset1) - skillset2 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc2") - await client.create_or_update_skillset(skillset2) - assert len(await client.get_skillsets()) == 1 - - result = await client.get_skillset("test-ss") - assert isinstance(result, SearchIndexerSkillset) - assert result.name == "test-ss" - assert result.description == "desc2" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_skillset_inplace(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") - ss = await client.create_or_update_skillset(skillset1) - skillset2 = SearchIndexerSkillset(name='test-ss', skills=[s], description="desc2", skillset=ss) - await client.create_or_update_skillset(skillset2) - assert len(await client.get_skillsets()) == 1 - - result = await client.get_skillset("test-ss") - assert isinstance(result, SearchIndexerSkillset) - assert result.name == "test-ss" - assert result.description == "desc2" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_skillset_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") - ss = await client.create_or_update_skillset(skillset1) - etag = ss.e_tag - - skillset2 = SearchIndexerSkillset(name='test-ss', skills=[s], description="desc2", skillset=ss) - await client.create_or_update_skillset(skillset2) - assert len(await client.get_skillsets()) == 1 - - -class SearchDataSourcesClientTest(AzureMgmtTestCase): - - def _create_data_source_connection(self, name="sample-datasource"): - container = SearchIndexerDataContainer(name='searchcontainer') - data_source_connection = SearchIndexerDataSourceConnection( - name=name, - type="azureblob", - connection_string=CONNECTION_STRING, - container=container - ) - return data_source_connection - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_datasource_async(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - result = await client.create_data_source_connection(data_source_connection) - assert result.name == "sample-datasource" - assert result.type == "azureblob" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_datasource_async(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - result = await client.create_data_source_connection(data_source_connection) - assert len(await client.get_data_source_connections()) == 1 - await client.delete_data_source_connection("sample-datasource") - assert len(await client.get_data_source_connections()) == 0 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_datasource_async(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = await client.create_data_source_connection(data_source_connection) - result = await client.get_data_source_connection("sample-datasource") - assert result.name == "sample-datasource" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_list_datasource_async(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection1 = self._create_data_source_connection() - data_source_connection2 = self._create_data_source_connection(name="another-sample") - created1 = await client.create_data_source_connection(data_source_connection1) - created2 = await client.create_data_source_connection(data_source_connection2) - result = await client.get_data_source_connections() - assert isinstance(result, list) - assert set(x.name for x in result) == {"sample-datasource", "another-sample"} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_datasource_async(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = await client.create_data_source_connection(data_source_connection) - assert len(await client.get_data_source_connections()) == 1 - data_source_connection.description = "updated" - await client.create_or_update_data_source_connection(data_source_connection) - assert len(await client.get_data_source_connections()) == 1 - result = await client.get_data_source_connection("sample-datasource") - assert result.name == "sample-datasource" - assert result.description == "updated" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = await client.create_data_source_connection(data_source_connection) - etag = created.e_tag - - # Now update the data source connection - data_source_connection.description = "updated" - await client.create_or_update_data_source_connection(data_source_connection) - - # prepare data source connection - data_source_connection.e_tag = etag # reset to the original data source connection - data_source_connection.description = "changed" - with pytest.raises(HttpResponseError): - await client.create_or_update_data_source_connection(data_source_connection, match_condition=MatchConditions.IfNotModified) - assert len(await client.get_data_source_connections()) == 1 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = await client.create_data_source_connection(data_source_connection) - etag = created.e_tag - - # Now update the data source connection - data_source_connection.description = "updated" - await client.create_or_update_data_source_connection(data_source_connection) - - # prepare data source connection - data_source_connection.e_tag = etag # reset to the original data source connection - with pytest.raises(HttpResponseError): - await client.delete_data_source_connection(data_source_connection, match_condition=MatchConditions.IfNotModified) - assert len(await client.get_data_source_connections()) == 1 - -class SearchIndexersClientTest(AzureMgmtTestCase): - - async def _prepare_indexer(self, endpoint, api_key, name="sample-indexer", ds_name="sample-datasource", id_name="hotels"): - con_str = self.settings.AZURE_STORAGE_CONNECTION_STRING - self.scrubber.register_name_pair(con_str, 'connection_string') - container = SearchIndexerDataContainer(name='searchcontainer') - data_source_connection = SearchIndexerDataSourceConnection( - name=ds_name, - type="azureblob", - connection_string=con_str, - container=container - ) - ds_client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - ds = await ds_client.create_data_source_connection(data_source_connection) - - index_name = id_name - fields = [ - { - "name": "hotelId", - "type": "Edm.String", - "key": True, - "searchable": False - }] - index = SearchIndex(name=index_name, fields=fields) - ind_client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - ind = await ind_client.create_index(index) - return SearchIndexer(name=name, data_source_name=ds.name, target_index_name=ind.name) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - result = await client.create_indexer(indexer) - assert result.name == "sample-indexer" - assert result.target_index_name == "hotels" - assert result.data_source_name == "sample-datasource" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - result = await client.create_indexer(indexer) - assert len(await client.get_indexers()) == 1 - await client.delete_indexer("sample-indexer") - assert len(await client.get_indexers()) == 0 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - created = await client.create_indexer(indexer) - result = await client.get_indexer("sample-indexer") - assert result.name == "sample-indexer" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_list_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer1 = await self._prepare_indexer(endpoint, api_key) - indexer2 = await self._prepare_indexer(endpoint, api_key, name="another-indexer", ds_name="another-datasource", id_name="another-index") - created1 = await client.create_indexer(indexer1) - created2 = await client.create_indexer(indexer2) - result = await client.get_indexers() - assert isinstance(result, list) - assert set(x.name for x in result) == {"sample-indexer", "another-indexer"} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - created = await client.create_indexer(indexer) - assert len(await client.get_indexers()) == 1 - indexer.description = "updated" - await client.create_or_update_indexer(indexer) - assert len(await client.get_indexers()) == 1 - result = await client.get_indexer("sample-indexer") - assert result.name == "sample-indexer" - assert result.description == "updated" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_reset_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - result = await client.create_indexer(indexer) - assert len(await client.get_indexers()) == 1 - await client.reset_indexer("sample-indexer") - assert (await client.get_indexer_status("sample-indexer")).last_result.status in ('InProgress', 'reset') - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_run_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - result = await client.create_indexer(indexer) - assert len(await client.get_indexers()) == 1 - start = time.time() - await client.run_indexer("sample-indexer") - assert (await client.get_indexer_status("sample-indexer")).status == 'running' - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_get_indexer_status(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - result = await client.create_indexer(indexer) - status = await client.get_indexer_status("sample-indexer") - assert status.status is not None - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_create_or_update_indexer_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - created = await client.create_indexer(indexer) - etag = created.e_tag - - - indexer.description = "updated" - await client.create_or_update_indexer(indexer) - - indexer.e_tag = etag - with pytest.raises(HttpResponseError): - await client.create_or_update_indexer(indexer, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - async def test_delete_indexer_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = await self._prepare_indexer(endpoint, api_key) - result = await client.create_indexer(indexer) - etag = result.e_tag - - indexer.description = "updated" - await client.create_or_update_indexer(indexer) - - indexer.e_tag = etag - with pytest.raises(HttpResponseError): - await client.delete_indexer(indexer, match_condition=MatchConditions.IfNotModified) diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document.yaml similarity index 84% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document.yaml index b0f0ee3413aa..011d15877e17 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document.yaml @@ -9,11 +9,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('1')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('1')?api-version=2020-06-30 response: body: string: '{"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in @@ -32,9 +32,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '95' + - '77' expires: - '-1' odata-version: @@ -44,7 +44,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a18aa26-8a6f-11ea-889b-8c8590507855 + - 3d18b635-dcf7-11ea-8855-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -62,11 +62,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('2')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('2')?api-version=2020-06-30 response: body: string: '{"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel @@ -80,7 +80,7 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - '5' expires: @@ -92,7 +92,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a3d397c-8a6f-11ea-889b-8c8590507855 + - 3d521b31-dcf7-11ea-b917-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -110,11 +110,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 response: body: string: '{"hotelId":"3","hotelName":"EconoStay","description":"Very popular @@ -127,9 +127,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '4' + - '5' expires: - '-1' odata-version: @@ -139,7 +139,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a447598-8a6f-11ea-889b-8c8590507855 + - 3d61482e-dcf7-11ea-b351-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -157,11 +157,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good @@ -174,9 +174,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '4' + - '6' expires: - '-1' odata-version: @@ -186,7 +186,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a4b0106-8a6f-11ea-889b-8c8590507855 + - 3d7446d2-dcf7-11ea-929d-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -204,11 +204,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('5')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('5')?api-version=2020-06-30 response: body: string: '{"hotelId":"5","hotelName":"Comfy Place","description":"Another good @@ -221,9 +221,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '4' + - '5' expires: - '-1' odata-version: @@ -233,7 +233,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a51e21e-8a6f-11ea-889b-8c8590507855 + - 3d831343-dcf7-11ea-8d1d-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -251,11 +251,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('6')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('6')?api-version=2020-06-30 response: body: string: '{"hotelId":"6","hotelName":null,"description":"Surprisingly expensive. @@ -268,9 +268,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '3' + - '5' expires: - '-1' odata-version: @@ -280,7 +280,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a585a90-8a6f-11ea-889b-8c8590507855 + - 3d911d07-dcf7-11ea-b213-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -298,11 +298,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('7')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('7')?api-version=2020-06-30 response: body: string: '{"hotelId":"7","hotelName":"Modern Stay","description":"Modern architecture, @@ -316,9 +316,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '3' + - '5' expires: - '-1' odata-version: @@ -328,7 +328,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a5ebf48-8a6f-11ea-889b-8c8590507855 + - 3d9d2b1a-dcf7-11ea-85b2-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -346,11 +346,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('8')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('8')?api-version=2020-06-30 response: body: string: '{"hotelId":"8","hotelName":null,"description":"Has some road noise @@ -365,9 +365,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '4' + - '6' expires: - '-1' odata-version: @@ -377,7 +377,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a654728-8a6f-11ea-889b-8c8590507855 + - 3da9ae1c-dcf7-11ea-a0d3-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -395,11 +395,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('9')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('9')?api-version=2020-06-30 response: body: string: '{"hotelId":"9","hotelName":"Secret Point Motel","description":"The @@ -428,9 +428,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '6' + - '8' expires: - '-1' odata-version: @@ -440,7 +440,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a6bd598-8a6f-11ea-889b-8c8590507855 + - 3db65848-dcf7-11ea-8f1b-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -458,11 +458,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 52988C94E83C6EFD6D6B57723CC909C2 + - 0DC42530037A4E434C19BA57A49C5A5D method: GET - uri: https://searche6a60d92.search.windows.net/indexes('drgqefsg')/docs('10')?api-version=2020-06-30 + uri: https://searchcca2132f.search.windows.net/indexes('drgqefsg')/docs('10')?api-version=2020-06-30 response: body: string: '{"hotelId":"10","hotelName":"Countryside Hotel","description":"Save @@ -487,9 +487,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:32 GMT + - Wed, 12 Aug 2020 23:55:03 GMT elapsed-time: - - '9' + - '5' expires: - '-1' odata-version: @@ -499,7 +499,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9a732154-8a6f-11ea-889b-8c8590507855 + - 3dc46083-dcf7-11ea-8c0c-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document_count.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document_count.yaml similarity index 73% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document_count.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document_count.yaml index 4c33d22dceee..7e0464bc0da2 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document_count.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document_count.yaml @@ -9,11 +9,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 4E1885551AC6A7AC5096353C8E0B706B + - 30FEF70E45F2263C6565AD0BF8C374DC method: GET - uri: https://search40b5101a.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search485f15b7.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF10" @@ -25,9 +25,9 @@ interactions: content-type: - text/plain date: - - Wed, 29 Apr 2020 23:17:44 GMT + - Wed, 12 Aug 2020 23:55:19 GMT elapsed-time: - - '59' + - '68' expires: - '-1' odata-version: @@ -37,7 +37,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - a16eab9a-8a6f-11ea-889b-8c8590507855 + - 46da5b45-dcf7-11ea-a265-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document_missing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document_missing.yaml similarity index 69% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document_missing.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document_missing.yaml index db895803a728..0ba796374507 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_document_missing.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_basic_live.test_get_document_missing.yaml @@ -9,11 +9,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1BBE70CA8604EF05ACBB2DE58FEBFA85 + - 79DE9EEE6A30E1C16205290CD80B1F18 method: GET - uri: https://search623710eb.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://search751b1688.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '' @@ -23,15 +23,15 @@ interactions: content-length: - '0' date: - - Wed, 29 Apr 2020 23:17:55 GMT + - Wed, 12 Aug 2020 23:55:33 GMT elapsed-time: - - '65' + - '277' expires: - '-1' pragma: - no-cache request-id: - - a8260c94-8a6f-11ea-889b-8c8590507855 + - 4f4093a8-dcf7-11ea-a4cb-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_delete_documents_existing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_delete_documents_existing.yaml new file mode 100644 index 000000000000..a99e54298866 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_delete_documents_existing.yaml @@ -0,0 +1,1105 @@ +interactions: +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}, {"hotelId": "4", + "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '137' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:08 GMT + elapsed-time: + - '74' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 834b03ab-e259-11ea-9f7e-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:08 GMT + elapsed-time: + - '24' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 83cc7de5-e259-11ea-92dc-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF8" + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - text/plain + date: + - Wed, 19 Aug 2020 20:21:11 GMT + elapsed-time: + - '4' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8605e43b-e259-11ea-b82a-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:13 GMT + elapsed-time: + - '18' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 868b8fe1-e259-11ea-9246-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:13 GMT + elapsed-time: + - '23' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 86b54004-e259-11ea-81c4-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:14 GMT + elapsed-time: + - '23' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 872cd7da-e259-11ea-aba4-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:14 GMT + elapsed-time: + - '42' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8756ef14-e259-11ea-84c2-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:15 GMT + elapsed-time: + - '17' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 87c8be5e-e259-11ea-9ce7-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:15 GMT + elapsed-time: + - '20' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 87f1040a-e259-11ea-a58f-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:16 GMT + elapsed-time: + - '18' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 886beee5-e259-11ea-869a-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:17 GMT + elapsed-time: + - '21' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8895f0c8-e259-11ea-a488-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:17 GMT + elapsed-time: + - '15' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 890dcc18-e259-11ea-a119-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:18 GMT + elapsed-time: + - '22' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 89377813-e259-11ea-80a9-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:18 GMT + elapsed-time: + - '18' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 89ab4b4f-e259-11ea-a1c7-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:18 GMT + elapsed-time: + - '20' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 89d31364-e259-11ea-a6b2-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:19 GMT + elapsed-time: + - '18' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8a497de3-e259-11ea-90b6-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:20 GMT + elapsed-time: + - '23' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8a741c6d-e259-11ea-a322-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:20 GMT + elapsed-time: + - '18' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8aeaa7c1-e259-11ea-9a7d-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:21 GMT + elapsed-time: + - '22' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8b135ebd-e259-11ea-be7e-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "3", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '57' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: POST + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '74' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:21 GMT + elapsed-time: + - '16' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8b878c03-e259-11ea-bf8e-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:21:21 GMT + elapsed-time: + - '20' + etag: + - W/"0x8D8447D65445E73" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8bb0162c-e259-11ea-bcfb-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 19 Aug 2020 20:21:22 GMT + elapsed-time: + - '8' + expires: + - '-1' + pragma: + - no-cache + request-id: + - 8c2aa909-e259-11ea-8162-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DFAEEC81715A53F069A77545543DB4BD + method: GET + uri: https://searchf7dc1cbb.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 19 Aug 2020 20:21:22 GMT + elapsed-time: + - '5' + expires: + - '-1' + pragma: + - no-cache + request-id: + - 8c530305-e259-11ea-9179-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_delete_documents_missing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_delete_documents_missing.yaml new file mode 100644 index 000000000000..f0d45539115c --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_delete_documents_missing.yaml @@ -0,0 +1,223 @@ +interactions: +- request: + body: '{"value": [{"hotelId": "1000", "@search.action": "delete"}, {"hotelId": + "4", "@search.action": "delete"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '106' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F3052CE68CA630381E57A0224B60D14 + method: POST + uri: https://searchdb131c4a.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '140' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:22:24 GMT + elapsed-time: + - '86' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - b0c57ef6-e259-11ea-b758-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F3052CE68CA630381E57A0224B60D14 + method: GET + uri: https://searchdb131c4a.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:22:25 GMT + elapsed-time: + - '18' + etag: + - W/"0x8D8447D92C7432A" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - b144c74a-e259-11ea-9419-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F3052CE68CA630381E57A0224B60D14 + method: GET + uri: https://searchdb131c4a.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF9" + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - text/plain + date: + - Wed, 19 Aug 2020 20:22:29 GMT + elapsed-time: + - '31' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - b3991c99-e259-11ea-bbe9-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F3052CE68CA630381E57A0224B60D14 + method: GET + uri: https://searchdb131c4a.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 19 Aug 2020 20:22:29 GMT + elapsed-time: + - '14' + expires: + - '-1' + pragma: + - no-cache + request-id: + - b422cd6c-e259-11ea-a8ea-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 7F3052CE68CA630381E57A0224B60D14 + method: GET + uri: https://searchdb131c4a.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 19 Aug 2020 20:22:29 GMT + elapsed-time: + - '4' + expires: + - '-1' + pragma: + - no-cache + request-id: + - b4460b67-e259-11ea-b03d-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_documents_existing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_documents_existing.yaml new file mode 100644 index 000000000000..f188e0ecc407 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_documents_existing.yaml @@ -0,0 +1,241 @@ +interactions: +- request: + body: '{"value": [{"hotelId": "3", "rating": 1, "@search.action": "merge"}, {"hotelId": + "4", "rating": 2, "@search.action": "merge"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '127' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - EFD1B53AB5E07D1690C3961B7B02F7FC + method: POST + uri: https://searchdbf71c58.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '137' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:23:09 GMT + elapsed-time: + - '118' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - cb7b9fd9-e259-11ea-a153-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - EFD1B53AB5E07D1690C3961B7B02F7FC + method: GET + uri: https://searchdbf71c58.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:23:10 GMT + elapsed-time: + - '20' + etag: + - W/"0x8D8447DAD7F25E4" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - cc0b117e-e259-11ea-aedd-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - EFD1B53AB5E07D1690C3961B7B02F7FC + method: GET + uri: https://searchdbf71c58.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF10" + headers: + cache-control: + - no-cache + content-length: + - '5' + content-type: + - text/plain + date: + - Wed, 19 Aug 2020 20:23:13 GMT + elapsed-time: + - '59' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - ce400e0a-e259-11ea-a872-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - EFD1B53AB5E07D1690C3961B7B02F7FC + method: GET + uri: https://searchdbf71c58.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"3","hotelName":"EconoStay","description":"Very popular + hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]}' + headers: + cache-control: + - no-cache + content-length: + - '432' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:23:13 GMT + elapsed-time: + - '21' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - cebe5d87-e259-11ea-9713-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - EFD1B53AB5E07D1690C3961B7B02F7FC + method: GET + uri: https://searchdbf71c58.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good + hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":2,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]}' + headers: + cache-control: + - no-cache + content-length: + - '410' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:23:13 GMT + elapsed-time: + - '30' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - ceeb4edb-e259-11ea-991c-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_documents_missing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_documents_missing.yaml new file mode 100644 index 000000000000..2e5c6cfbd3a0 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_documents_missing.yaml @@ -0,0 +1,233 @@ +interactions: +- request: + body: '{"value": [{"hotelId": "1000", "rating": 1, "@search.action": "merge"}, + {"hotelId": "4", "rating": 2, "@search.action": "merge"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '130' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 16C599940A6C6843DECB687F5CEB0063 + method: POST + uri: https://searchbf911be7.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":false,"errorMessage":"Document not + found.","statusCode":404},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '158' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:23:50 GMT + elapsed-time: + - '147' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - e41826de-e259-11ea-a975-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 207 + message: Multi-Status +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 16C599940A6C6843DECB687F5CEB0063 + method: GET + uri: https://searchbf911be7.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:23:51 GMT + elapsed-time: + - '23' + etag: + - W/"0x8D8447DC6196B8A" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - e4a702de-e259-11ea-8844-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 16C599940A6C6843DECB687F5CEB0063 + method: GET + uri: https://searchbf911be7.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF10" + headers: + cache-control: + - no-cache + content-length: + - '5' + content-type: + - text/plain + date: + - Wed, 19 Aug 2020 20:23:55 GMT + elapsed-time: + - '4' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - e6ec6e19-e259-11ea-b10a-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 16C599940A6C6843DECB687F5CEB0063 + method: GET + uri: https://searchbf911be7.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 19 Aug 2020 20:23:55 GMT + elapsed-time: + - '27' + expires: + - '-1' + pragma: + - no-cache + request-id: + - e765f3cf-e259-11ea-92ed-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 16C599940A6C6843DECB687F5CEB0063 + method: GET + uri: https://searchbf911be7.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good + hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":2,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]}' + headers: + cache-control: + - no-cache + content-length: + - '410' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:23:55 GMT + elapsed-time: + - '17' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - e790956f-e259-11ea-98ca-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_or_upload_documents.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_or_upload_documents.yaml new file mode 100644 index 000000000000..04922626e2af --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_merge_or_upload_documents.yaml @@ -0,0 +1,240 @@ +interactions: +- request: + body: '{"value": [{"hotelId": "1000", "rating": 1, "@search.action": "mergeOrUpload"}, + {"hotelId": "4", "rating": 2, "@search.action": "mergeOrUpload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '146' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B63DCA8422FC03D29A7F567AD0933540 + method: POST + uri: https://searchf8101cb2.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '140' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:24:28 GMT + elapsed-time: + - '86' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - fb07655c-e259-11ea-848f-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B63DCA8422FC03D29A7F567AD0933540 + method: GET + uri: https://searchf8101cb2.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:24:29 GMT + elapsed-time: + - '20' + etag: + - W/"0x8D8447DDD036846" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - fb854070-e259-11ea-bbe0-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B63DCA8422FC03D29A7F567AD0933540 + method: GET + uri: https://searchf8101cb2.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF11" + headers: + cache-control: + - no-cache + content-length: + - '5' + content-type: + - text/plain + date: + - Wed, 19 Aug 2020 20:24:33 GMT + elapsed-time: + - '5' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - fdc69125-e259-11ea-bd18-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B63DCA8422FC03D29A7F567AD0933540 + method: GET + uri: https://searchf8101cb2.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"1000","hotelName":null,"description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":1,"location":null,"address":null,"rooms":[]}' + headers: + cache-control: + - no-cache + content-length: + - '225' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:24:33 GMT + elapsed-time: + - '10' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - fe54fe9b-e259-11ea-8b0d-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - B63DCA8422FC03D29A7F567AD0933540 + method: GET + uri: https://searchf8101cb2.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good + hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":2,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]}' + headers: + cache-control: + - no-cache + content-length: + - '410' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:24:33 GMT + elapsed-time: + - '11' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - fe7c7c6a-e259-11ea-ac43-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_upload_documents_existing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_upload_documents_existing.yaml new file mode 100644 index 000000000000..b5c8a9b24ac4 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_upload_documents_existing.yaml @@ -0,0 +1,1039 @@ +interactions: +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}, {"hotelId": "3", "rating": 4, "rooms": [], + "hotelName": "Redmond Hotel", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '214' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '140' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:18 GMT + elapsed-time: + - '67' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6577d8db-e259-11ea-8b56-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:19 GMT + elapsed-time: + - '18' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 66077bc2-e259-11ea-a31a-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF11" + headers: + cache-control: + - no-cache + content-length: + - '5' + content-type: + - text/plain + date: + - Wed, 19 Aug 2020 20:20:23 GMT + elapsed-time: + - '91' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6849887e-e259-11ea-98f8-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:23 GMT + elapsed-time: + - '20' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 68e3c6cc-e259-11ea-8b21-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:24 GMT + elapsed-time: + - '27' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 69256391-e259-11ea-b3df-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:24 GMT + elapsed-time: + - '17' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 699de6e0-e259-11ea-8a27-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:24 GMT + elapsed-time: + - '19' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 69c5a3d7-e259-11ea-b146-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:24 GMT + elapsed-time: + - '23' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6a35390e-e259-11ea-b43f-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:26 GMT + elapsed-time: + - '27' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6a5ff0d1-e259-11ea-89ad-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:25 GMT + elapsed-time: + - '21' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6acf740d-e259-11ea-aae8-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:26 GMT + elapsed-time: + - '18' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6af8ad4d-e259-11ea-9646-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:27 GMT + elapsed-time: + - '20' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6b6c4e29-e259-11ea-a32b-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:27 GMT + elapsed-time: + - '19' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6b950a97-e259-11ea-8cea-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:27 GMT + elapsed-time: + - '20' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6c0379e8-e259-11ea-afd4-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:28 GMT + elapsed-time: + - '25' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6c29718b-e259-11ea-b05b-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:28 GMT + elapsed-time: + - '21' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6c9efcdf-e259-11ea-b985-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:30 GMT + elapsed-time: + - '19' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6cc7b9db-e259-11ea-b341-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:29 GMT + elapsed-time: + - '19' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6d31a2bc-e259-11ea-80b2-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:30 GMT + elapsed-time: + - '22' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6d5cb8da-e259-11ea-b9a5-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: POST + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200}]}' + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:30 GMT + elapsed-time: + - '20' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6dda3190-e259-11ea-85fe-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-searchserviceclient/unknown Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - DCFF319C1C11BEF2B55B9668F6239115 + method: GET + uri: https://searchf9c61ccd.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6047' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 20:20:31 GMT + elapsed-time: + - '21' + etag: + - W/"0x8D8447D477D2660" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6e0ead1f-e259-11ea-9fd8-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_upload_documents_new.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_upload_documents_new.yaml new file mode 100644 index 000000000000..1e588d94b1d6 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_batching_client_live.test_upload_documents_new.yaml @@ -0,0 +1,240 @@ +interactions: +- request: + body: '{"value": [{"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure + Inn", "@search.action": "upload"}, {"hotelId": "1001", "rating": 4, "rooms": + [], "hotelName": "Redmond Hotel", "@search.action": "upload"}]}' + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '217' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 46C2BBE5BAE7B36FEE7BF29712D6029D + method: POST + uri: https://search6df41aac.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + response: + body: + string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"1001","status":true,"errorMessage":null,"statusCode":201}]}' + headers: + cache-control: + - no-cache + content-length: + - '143' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 21:54:24 GMT + elapsed-time: + - '104' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8ad4382d-e266-11ea-8675-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 46C2BBE5BAE7B36FEE7BF29712D6029D + method: GET + uri: https://search6df41aac.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search6df41aac.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D8448A6D1771B0\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '6227' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 Aug 2020 21:54:24 GMT + elapsed-time: + - '20' + etag: + - W/"0x8D8448A6D1771B0" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8b23adfa-e266-11ea-aede-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 46C2BBE5BAE7B36FEE7BF29712D6029D + method: GET + uri: https://search6df41aac.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + response: + body: + string: "\uFEFF12" + headers: + cache-control: + - no-cache + content-length: + - '5' + content-type: + - text/plain + date: + - Wed, 19 Aug 2020 21:54:27 GMT + elapsed-time: + - '6' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8d2ee7b1-e266-11ea-a5c6-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 46C2BBE5BAE7B36FEE7BF29712D6029D + method: GET + uri: https://search6df41aac.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"1000","hotelName":"Azure Inn","description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":5,"location":null,"address":null,"rooms":[]}' + headers: + cache-control: + - no-cache + content-length: + - '232' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 21:54:27 GMT + elapsed-time: + - '16' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8d6369d9-e266-11ea-851a-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=none + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 46C2BBE5BAE7B36FEE7BF29712D6029D + method: GET + uri: https://search6df41aac.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 + response: + body: + string: '{"hotelId":"1001","hotelName":"Redmond Hotel","description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":4,"location":null,"address":null,"rooms":[]}' + headers: + cache-control: + - no-cache + content-length: + - '236' + content-type: + - application/json; odata.metadata=none + date: + - Wed, 19 Aug 2020 21:54:27 GMT + elapsed-time: + - '5' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8d743faa-e266-11ea-8896-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_delete_documents_existing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_delete_documents_existing.yaml similarity index 73% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_delete_documents_existing.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_delete_documents_existing.yaml index b3f653b1df3a..cf6aa61a18fb 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_delete_documents_existing.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_delete_documents_existing.yaml @@ -14,11 +14,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7F7F23DF951321BB6EC0497B61BBBF99 + - E9049B96D23193FEB01E909E3763A6F0 method: POST - uri: https://searchbc401302.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://searche0dc1c73.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' @@ -30,9 +30,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:02 GMT + - Wed, 12 Aug 2020 23:55:47 GMT elapsed-time: - - '93' + - '145' expires: - '-1' odata-version: @@ -42,7 +42,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 88810b64-8a6f-11ea-889b-8c8590507855 + - 5755e359-dcf7-11ea-9211-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -60,11 +60,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7F7F23DF951321BB6EC0497B61BBBF99 + - E9049B96D23193FEB01E909E3763A6F0 method: GET - uri: https://searchbc401302.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://searche0dc1c73.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF8" @@ -76,9 +76,9 @@ interactions: content-type: - text/plain date: - - Wed, 29 Apr 2020 23:17:05 GMT + - Wed, 12 Aug 2020 23:55:50 GMT elapsed-time: - - '5' + - '21' expires: - '-1' odata-version: @@ -88,7 +88,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 8a720f5e-8a6f-11ea-889b-8c8590507855 + - 5976a3e4-dcf7-11ea-a56a-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -106,11 +106,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7F7F23DF951321BB6EC0497B61BBBF99 + - E9049B96D23193FEB01E909E3763A6F0 method: GET - uri: https://searchbc401302.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + uri: https://searche0dc1c73.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 response: body: string: '' @@ -120,15 +120,15 @@ interactions: content-length: - '0' date: - - Wed, 29 Apr 2020 23:17:05 GMT + - Wed, 12 Aug 2020 23:55:50 GMT elapsed-time: - - '3' + - '25' expires: - '-1' pragma: - no-cache request-id: - - 8a79c410-8a6f-11ea-889b-8c8590507855 + - 5989a4f3-dcf7-11ea-bacd-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -144,11 +144,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7F7F23DF951321BB6EC0497B61BBBF99 + - E9049B96D23193FEB01E909E3763A6F0 method: GET - uri: https://searchbc401302.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://searche0dc1c73.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '' @@ -158,7 +158,7 @@ interactions: content-length: - '0' date: - - Wed, 29 Apr 2020 23:17:05 GMT + - Wed, 12 Aug 2020 23:55:50 GMT elapsed-time: - '4' expires: @@ -166,7 +166,7 @@ interactions: pragma: - no-cache request-id: - - 8a80ab2c-8a6f-11ea-889b-8c8590507855 + - 599c4650-dcf7-11ea-b655-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_delete_documents_missing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_delete_documents_missing.yaml similarity index 73% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_delete_documents_missing.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_delete_documents_missing.yaml index 56b895c00f9c..77d25c7bf8de 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_delete_documents_missing.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_delete_documents_missing.yaml @@ -14,11 +14,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EF93A352FBEA8C4306E72E9FA5DE1C21 + - E60FB087B8D664B3C8760CFDB7F5D31D method: POST - uri: https://searcha9301291.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://searchc45b1c02.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' @@ -30,9 +30,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:17:17 GMT + - Wed, 12 Aug 2020 23:56:01 GMT elapsed-time: - - '83' + - '81' expires: - '-1' odata-version: @@ -42,7 +42,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 919491ee-8a6f-11ea-889b-8c8590507855 + - 603af76b-dcf7-11ea-b81b-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -60,11 +60,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EF93A352FBEA8C4306E72E9FA5DE1C21 + - E60FB087B8D664B3C8760CFDB7F5D31D method: GET - uri: https://searcha9301291.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://searchc45b1c02.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF9" @@ -76,9 +76,9 @@ interactions: content-type: - text/plain date: - - Wed, 29 Apr 2020 23:17:20 GMT + - Wed, 12 Aug 2020 23:56:04 GMT elapsed-time: - - '4' + - '17' expires: - '-1' odata-version: @@ -88,7 +88,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 93888cc6-8a6f-11ea-889b-8c8590507855 + - 6247c1e6-dcf7-11ea-a6d6-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -106,11 +106,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EF93A352FBEA8C4306E72E9FA5DE1C21 + - E60FB087B8D664B3C8760CFDB7F5D31D method: GET - uri: https://searcha9301291.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://searchc45b1c02.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '' @@ -120,15 +120,15 @@ interactions: content-length: - '0' date: - - Wed, 29 Apr 2020 23:17:20 GMT + - Wed, 12 Aug 2020 23:56:04 GMT elapsed-time: - - '6' + - '22' expires: - '-1' pragma: - no-cache request-id: - - 938fe08e-8a6f-11ea-889b-8c8590507855 + - 62582570-dcf7-11ea-89fe-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -144,11 +144,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EF93A352FBEA8C4306E72E9FA5DE1C21 + - E60FB087B8D664B3C8760CFDB7F5D31D method: GET - uri: https://searcha9301291.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://searchc45b1c02.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '' @@ -158,15 +158,15 @@ interactions: content-length: - '0' date: - - Wed, 29 Apr 2020 23:17:20 GMT + - Wed, 12 Aug 2020 23:56:04 GMT elapsed-time: - - '6' + - '4' expires: - '-1' pragma: - no-cache request-id: - - 93986740-8a6f-11ea-889b-8c8590507855 + - 6269d480-dcf7-11ea-ab32-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_documents_existing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_documents_existing.yaml similarity index 79% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_documents_existing.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_documents_existing.yaml index a0276ad45b7b..6effa2f24dc6 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_documents_existing.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_documents_existing.yaml @@ -14,11 +14,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F8DD003FC5552C963171F79B1E2FBCFF + - 6AF0DF73CA8B72B0D0F04DD511CAC115 method: POST - uri: https://searchaa14129f.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://searchc53f1c10.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"3","status":true,"errorMessage":null,"statusCode":200},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' @@ -30,9 +30,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:14 GMT + - Wed, 12 Aug 2020 23:56:18 GMT elapsed-time: - - '76' + - '177' expires: - '-1' odata-version: @@ -42,7 +42,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - d6da9f5a-8a6f-11ea-889b-8c8590507855 + - 6a07aceb-dcf7-11ea-8e83-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -60,11 +60,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F8DD003FC5552C963171F79B1E2FBCFF + - 6AF0DF73CA8B72B0D0F04DD511CAC115 method: GET - uri: https://searchaa14129f.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://searchc53f1c10.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF10" @@ -76,9 +76,9 @@ interactions: content-type: - text/plain date: - - Wed, 29 Apr 2020 23:19:16 GMT + - Wed, 12 Aug 2020 23:56:21 GMT elapsed-time: - - '3' + - '5' expires: - '-1' odata-version: @@ -88,7 +88,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - d8c6f052-8a6f-11ea-889b-8c8590507855 + - 6c18f9ab-dcf7-11ea-a192-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -106,11 +106,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F8DD003FC5552C963171F79B1E2FBCFF + - 6AF0DF73CA8B72B0D0F04DD511CAC115 method: GET - uri: https://searchaa14129f.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 + uri: https://searchc53f1c10.search.windows.net/indexes('drgqefsg')/docs('3')?api-version=2020-06-30 response: body: string: '{"hotelId":"3","hotelName":"EconoStay","description":"Very popular @@ -123,9 +123,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:17 GMT + - Wed, 12 Aug 2020 23:56:21 GMT elapsed-time: - - '7' + - '15' expires: - '-1' odata-version: @@ -135,7 +135,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - d8cde47a-8a6f-11ea-889b-8c8590507855 + - 6c28c6ec-dcf7-11ea-b1ba-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -153,11 +153,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F8DD003FC5552C963171F79B1E2FBCFF + - 6AF0DF73CA8B72B0D0F04DD511CAC115 method: GET - uri: https://searchaa14129f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://searchc53f1c10.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good @@ -170,9 +170,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:17 GMT + - Wed, 12 Aug 2020 23:56:21 GMT elapsed-time: - - '4' + - '5' expires: - '-1' odata-version: @@ -182,7 +182,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - d8d53608-8a6f-11ea-889b-8c8590507855 + - 6c3b6d0f-dcf7-11ea-b6e6-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_documents_missing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_documents_missing.yaml similarity index 77% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_documents_missing.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_documents_missing.yaml index 88cf15aa9748..830be933523a 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_documents_missing.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_documents_missing.yaml @@ -14,11 +14,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C2268A70B7F246FB2B96488EBCFCEA29 + - AF7406FAE688FB220E9D298B2800E555 method: POST - uri: https://search9767122e.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://searcha9211b9f.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":false,"errorMessage":"Document not @@ -31,9 +31,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:28 GMT + - Wed, 12 Aug 2020 23:56:34 GMT elapsed-time: - - '344' + - '30' expires: - '-1' odata-version: @@ -43,7 +43,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - df7dcb6e-8a6f-11ea-889b-8c8590507855 + - 73e0a912-dcf7-11ea-bfac-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -61,11 +61,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C2268A70B7F246FB2B96488EBCFCEA29 + - AF7406FAE688FB220E9D298B2800E555 method: GET - uri: https://search9767122e.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://searcha9211b9f.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF10" @@ -77,9 +77,9 @@ interactions: content-type: - text/plain date: - - Wed, 29 Apr 2020 23:19:31 GMT + - Wed, 12 Aug 2020 23:56:38 GMT elapsed-time: - - '3' + - '19' expires: - '-1' odata-version: @@ -89,7 +89,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - e19ea206-8a6f-11ea-889b-8c8590507855 + - 75db144b-dcf7-11ea-a560-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -107,11 +107,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C2268A70B7F246FB2B96488EBCFCEA29 + - AF7406FAE688FB220E9D298B2800E555 method: GET - uri: https://search9767122e.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://searcha9211b9f.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '' @@ -121,15 +121,15 @@ interactions: content-length: - '0' date: - - Wed, 29 Apr 2020 23:19:31 GMT + - Wed, 12 Aug 2020 23:56:38 GMT elapsed-time: - - '6' + - '4' expires: - '-1' pragma: - no-cache request-id: - - e1a5a1b4-8a6f-11ea-889b-8c8590507855 + - 75f02207-dcf7-11ea-8e9b-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -145,11 +145,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - C2268A70B7F246FB2B96488EBCFCEA29 + - AF7406FAE688FB220E9D298B2800E555 method: GET - uri: https://search9767122e.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://searcha9211b9f.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good @@ -162,9 +162,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:31 GMT + - Wed, 12 Aug 2020 23:56:38 GMT elapsed-time: - - '10' + - '14' expires: - '-1' odata-version: @@ -174,7 +174,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - e1aca52c-8a6f-11ea-889b-8c8590507855 + - 75fc1d3b-dcf7-11ea-b7a2-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_or_upload_documents.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_or_upload_documents.yaml similarity index 78% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_or_upload_documents.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_or_upload_documents.yaml index a2f99cbae4a1..7ee4e0cbdffc 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_merge_or_upload_documents.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_merge_or_upload_documents.yaml @@ -14,11 +14,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 8AAFBCAFAC7EBBE2BEB172384549698B + - 9FEADDFC7C759E15D93B9915927EBAD9 method: POST - uri: https://searchbc7412f9.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://searche1101c6a.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"4","status":true,"errorMessage":null,"statusCode":200}]}' @@ -30,9 +30,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:45 GMT + - Wed, 12 Aug 2020 23:56:50 GMT elapsed-time: - - '441' + - '157' expires: - '-1' odata-version: @@ -42,7 +42,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - e9daa5aa-8a6f-11ea-889b-8c8590507855 + - 7d46247e-dcf7-11ea-9730-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -60,11 +60,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 8AAFBCAFAC7EBBE2BEB172384549698B + - 9FEADDFC7C759E15D93B9915927EBAD9 method: GET - uri: https://searchbc7412f9.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://searche1101c6a.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF11" @@ -76,9 +76,9 @@ interactions: content-type: - text/plain date: - - Wed, 29 Apr 2020 23:19:48 GMT + - Wed, 12 Aug 2020 23:56:53 GMT elapsed-time: - - '5' + - '4' expires: - '-1' odata-version: @@ -88,7 +88,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - ec0db7a4-8a6f-11ea-889b-8c8590507855 + - 7f59fc6a-dcf7-11ea-82f1-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -106,11 +106,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 8AAFBCAFAC7EBBE2BEB172384549698B + - 9FEADDFC7C759E15D93B9915927EBAD9 method: GET - uri: https://searchbc7412f9.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://searche1101c6a.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '{"hotelId":"1000","hotelName":null,"description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":1,"location":null,"address":null,"rooms":[]}' @@ -122,7 +122,7 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:48 GMT + - Wed, 12 Aug 2020 23:56:54 GMT elapsed-time: - '7' expires: @@ -134,7 +134,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - ec14df8e-8a6f-11ea-889b-8c8590507855 + - 7f6b4987-dcf7-11ea-9bc2-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -152,11 +152,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 8AAFBCAFAC7EBBE2BEB172384549698B + - 9FEADDFC7C759E15D93B9915927EBAD9 method: GET - uri: https://searchbc7412f9.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 + uri: https://searche1101c6a.search.windows.net/indexes('drgqefsg')/docs('4')?api-version=2020-06-30 response: body: string: '{"hotelId":"4","hotelName":"Express Rooms","description":"Pretty good @@ -169,9 +169,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:48 GMT + - Wed, 12 Aug 2020 23:56:54 GMT elapsed-time: - - '5' + - '6' expires: - '-1' odata-version: @@ -181,7 +181,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - ec1c06ba-8a6f-11ea-889b-8c8590507855 + - 7f7660b7-dcf7-11ea-bc96-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_upload_documents_existing.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_upload_documents_existing.yaml similarity index 81% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_upload_documents_existing.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_upload_documents_existing.yaml index 7b65eb4b1e8e..39ad1888aa18 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_upload_documents_existing.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_upload_documents_existing.yaml @@ -15,11 +15,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 614F11610EB5311453B55AFF2AE5B215 + - 63B25A800FBF9C0DD4684D111C2D9C20 method: POST - uri: https://searchbe2a1314.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://searche2c61c85.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"3","status":true,"errorMessage":null,"statusCode":200}]}' @@ -31,9 +31,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:20:12 GMT + - Wed, 12 Aug 2020 23:57:09 GMT elapsed-time: - - '93' + - '114' expires: - '-1' odata-version: @@ -43,7 +43,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - f9d863c0-8a6f-11ea-889b-8c8590507855 + - 885e579b-dcf7-11ea-8868-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_upload_documents_new.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_upload_documents_new.yaml similarity index 78% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_upload_documents_new.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_upload_documents_new.yaml index 5b45291f26af..c721dc469aab 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_upload_documents_new.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_index_document_live.test_upload_documents_new.yaml @@ -15,11 +15,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 21A4500B93DEC39E920E11ED8C2B1C48 + - ACB84B55220A6782465E9EF5D628F910 method: POST - uri: https://search62f510f3.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 + uri: https://search585c1a64.search.windows.net/indexes('drgqefsg')/docs/search.index?api-version=2020-06-30 response: body: string: '{"value":[{"key":"1000","status":true,"errorMessage":null,"statusCode":201},{"key":"1001","status":true,"errorMessage":null,"statusCode":201}]}' @@ -31,9 +31,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:20:23 GMT + - Wed, 12 Aug 2020 23:57:21 GMT elapsed-time: - - '98' + - '85' expires: - '-1' odata-version: @@ -43,7 +43,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 0042c9da-8a70-11ea-889b-8c8590507855 + - 8ff71425-dcf7-11ea-a2b8-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -61,11 +61,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 21A4500B93DEC39E920E11ED8C2B1C48 + - ACB84B55220A6782465E9EF5D628F910 method: GET - uri: https://search62f510f3.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 + uri: https://search585c1a64.search.windows.net/indexes('drgqefsg')/docs/$count?api-version=2020-06-30 response: body: string: "\uFEFF12" @@ -77,7 +77,7 @@ interactions: content-type: - text/plain date: - - Wed, 29 Apr 2020 23:20:26 GMT + - Wed, 12 Aug 2020 23:57:25 GMT elapsed-time: - '4' expires: @@ -89,7 +89,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 0234a56a-8a70-11ea-889b-8c8590507855 + - 91f8f6ac-dcf7-11ea-a652-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -107,11 +107,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 21A4500B93DEC39E920E11ED8C2B1C48 + - ACB84B55220A6782465E9EF5D628F910 method: GET - uri: https://search62f510f3.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 + uri: https://search585c1a64.search.windows.net/indexes('drgqefsg')/docs('1000')?api-version=2020-06-30 response: body: string: '{"hotelId":"1000","hotelName":"Azure Inn","description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":5,"location":null,"address":null,"rooms":[]}' @@ -123,9 +123,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:20:26 GMT + - Wed, 12 Aug 2020 23:57:25 GMT elapsed-time: - - '8' + - '14' expires: - '-1' odata-version: @@ -135,7 +135,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 023bd038-8a70-11ea-889b-8c8590507855 + - 920c831a-dcf7-11ea-a4eb-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -153,11 +153,11 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 21A4500B93DEC39E920E11ED8C2B1C48 + - ACB84B55220A6782465E9EF5D628F910 method: GET - uri: https://search62f510f3.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 + uri: https://search585c1a64.search.windows.net/indexes('drgqefsg')/docs('1001')?api-version=2020-06-30 response: body: string: '{"hotelId":"1001","hotelName":"Redmond Hotel","description":null,"descriptionFr":null,"category":null,"tags":[],"parkingIncluded":null,"smokingAllowed":null,"lastRenovationDate":null,"rating":4,"location":null,"address":null,"rooms":[]}' @@ -169,9 +169,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:20:26 GMT + - Wed, 12 Aug 2020 23:57:25 GMT elapsed-time: - - '8' + - '5' expires: - '-1' odata-version: @@ -181,7 +181,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 02438ad0-8a70-11ea-889b-8c8590507855 + - 921be5a0-dcf7-11ea-bdb1-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_autocomplete.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_autocomplete.yaml similarity index 77% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_autocomplete.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_autocomplete.yaml index cc2d67bd2cd4..5cf8c2e7ab1e 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_autocomplete.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_autocomplete.yaml @@ -13,11 +13,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - AE8D684F8B07A67E43EB160C1A508354 + - 57A7EF0FC5E8A647C441E3648C07CB28 method: POST - uri: https://searche7b20da6.search.windows.net/indexes('drgqefsg')/docs/search.post.autocomplete?api-version=2020-06-30 + uri: https://searche2a413b7.search.windows.net/indexes('drgqefsg')/docs/search.post.autocomplete?api-version=2020-06-30 response: body: string: '{"value":[{"text":"motel","queryPlusText":"motel"}]}' @@ -29,9 +29,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:16:50 GMT + - Wed, 12 Aug 2020 23:57:38 GMT elapsed-time: - - '184' + - '79' expires: - '-1' odata-version: @@ -41,7 +41,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 810b2018-8a6f-11ea-889b-8c8590507855 + - 999fc436-dcf7-11ea-b862-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_counts.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_counts.yaml similarity index 88% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_counts.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_counts.yaml index 03b1fd40c205..14b39dce0da0 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_counts.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_counts.yaml @@ -13,14 +13,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6A55B07F42EFB9E6E03089F3F9A7220F + - 9221783C855669EB04F6577D5E71A288 method: POST - uri: https://search30390fa4.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search498015b5.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -33,12 +33,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -46,7 +46,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -68,13 +68,13 @@ interactions: cache-control: - no-cache content-length: - - '5935' + - '5923' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:18:07 GMT + - Wed, 12 Aug 2020 23:57:53 GMT elapsed-time: - - '96' + - '123' expires: - '-1' odata-version: @@ -84,7 +84,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - aefb60a0-8a6f-11ea-889b-8c8590507855 + - a2530f5d-dcf7-11ea-991b-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -106,14 +106,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6A55B07F42EFB9E6E03089F3F9A7220F + - 9221783C855669EB04F6577D5E71A288 method: POST - uri: https://search30390fa4.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search498015b5.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"@odata.count":7,"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"@odata.count":7,"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -126,12 +126,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -139,7 +139,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -161,13 +161,13 @@ interactions: cache-control: - no-cache content-length: - - '5952' + - '5940' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:18:07 GMT + - Wed, 12 Aug 2020 23:57:53 GMT elapsed-time: - - '9' + - '8' expires: - '-1' odata-version: @@ -177,7 +177,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - af20c37c-8a6f-11ea-889b-8c8590507855 + - a2a39324-dcf7-11ea-a2ba-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_coverage.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_coverage.yaml similarity index 89% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_coverage.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_coverage.yaml index c533b53d2b0c..8c25488e5690 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_coverage.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_coverage.yaml @@ -13,14 +13,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 2012A83AD519035A878754DF20535EC1 + - 91C6582201EAF3534CC1E8B5165545C9 method: POST - uri: https://search504f1054.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search75b81665.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -33,12 +33,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -46,7 +46,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -68,13 +68,13 @@ interactions: cache-control: - no-cache content-length: - - '5935' + - '5923' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:18:18 GMT + - Wed, 12 Aug 2020 23:58:06 GMT elapsed-time: - - '80' + - '122' expires: - '-1' odata-version: @@ -84,7 +84,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - b5d9445a-8a6f-11ea-889b-8c8590507855 + - aaaadd51-dcf7-11ea-aa37-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -106,14 +106,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 2012A83AD519035A878754DF20535EC1 + - 91C6582201EAF3534CC1E8B5165545C9 method: POST - uri: https://search504f1054.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search75b81665.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"@search.coverage":100.0,"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"@search.coverage":100.0,"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -126,12 +126,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -139,7 +139,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -161,11 +161,11 @@ interactions: cache-control: - no-cache content-length: - - '5960' + - '5948' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:18:18 GMT + - Wed, 12 Aug 2020 23:58:06 GMT elapsed-time: - '7' expires: @@ -177,7 +177,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - b5fd6af6-8a6f-11ea-889b-8c8590507855 + - aaf56ca2-dcf7-11ea-947a-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_facets_none.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_facets_none.yaml similarity index 72% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_facets_none.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_facets_none.yaml index aabdde1b36d5..d86d41a5783c 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_facets_none.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_facets_none.yaml @@ -13,20 +13,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E708C0D55BDFCED551EEEFA491DAAF80 + - 2156D37D17C6C5432A9291C3BE479642 method: POST - uri: https://search8339118d.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://searchbad5179e.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.2423066,"hotelName":"Countryside Hotel","description":"Save + string: '{"value":[{"@search.score":2.3832736,"hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center - and more.","category":"Budget"},{"@search.score":0.19169211,"hotelName":"EconoStay","description":"Very - popular hotel in town","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Express - Rooms","description":"Pretty good hotel","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Comfy - Place","description":"Another good hotel","category":"Budget"},{"@search.score":0.15335369,"hotelName":"Fancy + and more.","category":"Budget"},{"@search.score":1.0225849,"hotelName":"EconoStay","description":"Very + popular hotel in town","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Express + Rooms","description":"Pretty good hotel","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Comfy + Place","description":"Another good hotel","category":"Budget"},{"@search.score":0.7987757,"hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -35,13 +35,13 @@ interactions: cache-control: - no-cache content-length: - - '933' + - '929' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:18:30 GMT + - Wed, 12 Aug 2020 23:58:20 GMT elapsed-time: - - '176' + - '36' expires: - '-1' odata-version: @@ -51,7 +51,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - bc94fb86-8a6f-11ea-889b-8c8590507855 + - b27b92e3-dcf7-11ea-a1a9-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_facets_result.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_facets_result.yaml similarity index 76% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_facets_result.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_facets_result.yaml index c043dbbb0f72..25ff87c9f885 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_facets_result.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_facets_result.yaml @@ -13,20 +13,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3264E611B72761B1DD80EA3277F4EE84 + - A7BE97E0B552FAE6200566CA5325A92D method: POST - uri: https://searcha7c9127c.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://searcheb87188d.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"@search.facets":{"category":[{"count":4,"value":"Budget"},{"count":1,"value":"Luxury"}]},"value":[{"@search.score":0.2423066,"hotelName":"Countryside + string: '{"@search.facets":{"category":[{"count":4,"value":"Budget"},{"count":1,"value":"Luxury"}]},"value":[{"@search.score":2.3832736,"hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling - alley, fitness center and more.","category":"Budget"},{"@search.score":0.19169211,"hotelName":"EconoStay","description":"Very - popular hotel in town","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Express - Rooms","description":"Pretty good hotel","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Comfy - Place","description":"Another good hotel","category":"Budget"},{"@search.score":0.15335369,"hotelName":"Fancy + alley, fitness center and more.","category":"Budget"},{"@search.score":1.0225849,"hotelName":"EconoStay","description":"Very + popular hotel in town","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Express + Rooms","description":"Pretty good hotel","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Comfy + Place","description":"Another good hotel","category":"Budget"},{"@search.score":0.7987757,"hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -35,13 +35,13 @@ interactions: cache-control: - no-cache content-length: - - '1023' + - '1019' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:18:40 GMT + - Wed, 12 Aug 2020 23:58:31 GMT elapsed-time: - - '193' + - '171' expires: - '-1' odata-version: @@ -51,7 +51,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - c2f827aa-8a6f-11ea-889b-8c8590507855 + - b9f9be12-dcf7-11ea-871f-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_filter.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_filter.yaml similarity index 69% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_filter.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_filter.yaml index 62b1a894b6ba..31d0017d1b44 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_filter.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_filter.yaml @@ -14,31 +14,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B583478EFB4C1DBC374E331DA859BE86 + - 1CEF57C35BD73F1670D96F0EF75E9235 method: POST - uri: https://search2ffc0f8e.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search4943159f.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.19169211,"hotelName":"Express Rooms","description":"Pretty - good hotel","category":"Budget"},{"@search.score":0.19169211,"hotelName":"EconoStay","description":"Very - popular hotel in town","category":"Budget"},{"@search.score":0.2423066,"hotelName":"Countryside + string: '{"value":[{"@search.score":1.0225849,"hotelName":"Express Rooms","description":"Pretty + good hotel","category":"Budget"},{"@search.score":1.0225849,"hotelName":"EconoStay","description":"Very + popular hotel in town","category":"Budget"},{"@search.score":2.3832736,"hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling - alley, fitness center and more.","category":"Budget"},{"@search.score":0.19169211,"hotelName":"Comfy + alley, fitness center and more.","category":"Budget"},{"@search.score":1.0225849,"hotelName":"Comfy Place","description":"Another good hotel","category":"Budget"}]}' headers: cache-control: - no-cache content-length: - - '609' + - '606' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:18:52 GMT + - Wed, 12 Aug 2020 23:58:45 GMT elapsed-time: - - '103' + - '164' expires: - '-1' odata-version: @@ -48,7 +48,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - c9e16d92-8a6f-11ea-889b-8c8590507855 + - c1a8dcfd-dcf7-11ea-a379-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_simple.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_simple.yaml similarity index 88% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_simple.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_simple.yaml index 93d2a076f08b..b080f13dd7d8 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_get_search_simple.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_get_search_simple.yaml @@ -13,14 +13,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 61C29831B328077CA7F9271631F6FACD + - E0D3156C042B87F234FB9D9D1C014B68 method: POST - uri: https://search30430f92.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search498a15a3.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":0.48248714,"hotelId":"10","hotelName":"Countryside + string: '{"value":[{"@search.score":2.245087,"hotelId":"10","hotelName":"Countryside Hotel","description":"Save up to 50% off traditional hotels. Free WiFi, great location near downtown, full kitchen, washer & dryer, 24/7 support, bowling alley, fitness center and more.","descriptionFr":"\u00c9conomisez jusqu''\u00e0 @@ -33,12 +33,12 @@ interactions: King Bed","sleepsCount":2,"smokingAllowed":true,"tags":["coffee maker"]},{"description":"Budget Room, 1 Queen Bed (Amenities)","descriptionFr":"Chambre \u00c9conomique, 1 grand lit (Services)","type":"Budget Room","baseRate":7.69,"bedOptions":"1 - Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":0.18522348,"hotelId":"3","hotelName":"EconoStay","description":"Very - popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"4","hotelName":"Express - Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.18522348,"hotelId":"5","hotelName":"Comfy - Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.15049407,"hotelId":"2","hotelName":"Roach + Queen Bed","sleepsCount":2,"smokingAllowed":false,"tags":["coffee maker"]}]},{"@search.score":1.778081,"hotelId":"3","hotelName":"EconoStay","description":"Very + popular hotel in town","descriptionFr":"H\u00f4tel le plus populaire en ville","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,46.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"4","hotelName":"Express + Rooms","description":"Pretty good hotel","descriptionFr":"Assez bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"1995-07-01T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.778081,"hotelId":"5","hotelName":"Comfy + Place","description":"Another good hotel","descriptionFr":"Un autre bon h\u00f4tel","category":"Budget","tags":["wifi","budget"],"parkingIncluded":true,"smokingAllowed":false,"lastRenovationDate":"2012-08-12T00:00:00Z","rating":4,"location":{"type":"Point","coordinates":[-122.131577,48.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.5749159,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.12030617,"hotelId":"1","hotelName":"Fancy + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":1.4634744,"hotelId":"1","hotelName":"Fancy Stay","description":"Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, and a really helpful concierge. The location is perfect -- right downtown, close to all the tourist attractions. We highly @@ -46,7 +46,7 @@ interactions: aimez les h\u00f4tels de luxe. Ils ont une magnifique piscine \u00e0 d\u00e9bordement, un spa et un concierge tr\u00e8s utile. L''emplacement est parfait \u2013 en plein centre, \u00e0 proximit\u00e9 de toutes les attractions touristiques. - Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.057882335,"hotelId":"9","hotelName":"Secret + Nous recommandons fortement cet h\u00f4tel.","category":"Luxury","tags":["pool","view","wifi","concierge"],"parkingIncluded":false,"smokingAllowed":false,"lastRenovationDate":"2010-06-27T00:00:00Z","rating":5,"location":{"type":"Point","coordinates":[-122.131577,47.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.5496142,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -68,13 +68,13 @@ interactions: cache-control: - no-cache content-length: - - '5935' + - '5923' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:03 GMT + - Wed, 12 Aug 2020 23:58:58 GMT elapsed-time: - - '84' + - '110' expires: - '-1' odata-version: @@ -84,7 +84,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - d065abc4-8a6f-11ea-889b-8c8590507855 + - c9609f44-dcf7-11ea-8463-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -106,16 +106,16 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 61C29831B328077CA7F9271631F6FACD + - E0D3156C042B87F234FB9D9D1C014B68 method: POST - uri: https://search30430f92.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 + uri: https://search498a15a3.search.windows.net/indexes('drgqefsg')/docs/search.post.search?api-version=2020-06-30 response: body: - string: '{"value":[{"@search.score":1.2368374,"hotelId":"2","hotelName":"Roach + string: '{"value":[{"@search.score":8.376183,"hotelId":"2","hotelName":"Roach Motel","description":"Cheapest hotel in town. Infact, a motel.","descriptionFr":"H\u00f4tel - le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.24176063,"hotelId":"9","hotelName":"Secret + le moins cher en ville. Infact, un motel.","category":"Budget","tags":["motel","budget"],"parkingIncluded":true,"smokingAllowed":true,"lastRenovationDate":"1982-04-28T00:00:00Z","rating":1,"location":{"type":"Point","coordinates":[-122.131577,49.678581],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"address":null,"rooms":[]},{"@search.score":0.8858137,"hotelId":"9","hotelName":"Secret Point Motel","description":"The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time''s Square and the historic centre of the city, as well as other places of interest @@ -137,13 +137,13 @@ interactions: cache-control: - no-cache content-length: - - '2193' + - '2191' content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:19:03 GMT + - Wed, 12 Aug 2020 23:58:58 GMT elapsed-time: - - '6' + - '5' expires: - '-1' odata-version: @@ -153,7 +153,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - d088cbea-8a6f-11ea-889b-8c8590507855 + - c9a4cadb-dcf7-11ea-955a-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_suggest.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_suggest.yaml similarity index 79% rename from sdk/search/azure-search-documents/tests/recordings/test_index_live.test_suggest.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_suggest.yaml index 476b450221df..84d33ae8b058 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_index_live.test_suggest.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_client_search_live.test_suggest.yaml @@ -13,11 +13,11 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 695188929E18C58655D330646534780F + - 3B9FC26E30CF6378466C46525CD7F346 method: POST - uri: https://searcha7cc0b96.search.windows.net/indexes('drgqefsg')/docs/search.post.suggest?api-version=2020-06-30 + uri: https://search846911a7.search.windows.net/indexes('drgqefsg')/docs/search.post.suggest?api-version=2020-06-30 response: body: string: '{"value":[{"@search.text":"Cheapest hotel in town. Infact, a motel.","hotelId":"2"},{"@search.text":"Secret @@ -30,9 +30,9 @@ interactions: content-type: - application/json; odata.metadata=none date: - - Wed, 29 Apr 2020 23:20:00 GMT + - Wed, 12 Aug 2020 23:59:11 GMT elapsed-time: - - '260' + - '136' expires: - '-1' odata-version: @@ -42,7 +42,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - f2a7b18c-8a6f-11ea-889b-8c8590507855 + - d15705ab-dcf7-11ea-a575-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_datasource.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_datasource.yaml similarity index 73% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_datasource.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_datasource.yaml index 232feca5e9c1..384f0473530c 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_datasource.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_datasource.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 0E3774E832B8584D0AC648C5FAA3D77C + - A5C20E167CF6B3174E38770E1D361094 method: POST - uri: https://search51c7106b.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search54bc1a2e.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search51c7106b.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC9494AD4705\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search54bc1a2e.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1BBE1BAF29\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '370' + - '391' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:18 GMT + - Wed, 12 Aug 2020 23:59:25 GMT elapsed-time: - - '39' + - '105' etag: - - W/"0x8D7EC9494AD4705" + - W/"0x8D83F1BBE1BAF29" expires: - '-1' location: - - https://search51c7106b.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search54bc1a2e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - b02c12fc-8a70-11ea-889b-8c8590507855 + - d99102c0-dcf7-11ea-9fa1-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_datasource.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_or_update_datasource.yaml similarity index 55% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_datasource.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_or_update_datasource.yaml index 13b1616dc087..58c85fda1c30 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_datasource.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_or_update_datasource.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 424F1875A344DE98823F9BD67139C0D1 + - CF1A97CA627E9F28943F03F466341E44 method: POST - uri: https://searchcca148d.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search715d1e50.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchcca148d.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC949C2A658D\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search715d1e50.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1BCCD15937\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '369' + - '391' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:31 GMT + - Wed, 12 Aug 2020 23:59:50 GMT elapsed-time: - - '53' + - '50' etag: - - W/"0x8D7EC949C2A658D" + - W/"0x8D83F1BCCD15937" expires: - '-1' location: - - https://searchcca148d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search715d1e50.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - b7c3c640-8a70-11ea-889b-8c8590507855 + - e862449e-dcf7-11ea-b12b-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,25 +63,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 424F1875A344DE98823F9BD67139C0D1 + - CF1A97CA627E9F28943F03F466341E44 method: GET - uri: https://searchcca148d.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search715d1e50.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchcca148d.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D7EC949C2A658D\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}]}' + string: '{"@odata.context":"https://search715d1e50.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F1BCCD15937\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '373' + - '395' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:31 GMT + - Wed, 12 Aug 2020 23:59:50 GMT elapsed-time: - - '17' + - '121' expires: - '-1' odata-version: @@ -91,7 +91,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - b7e2bb2c-8a70-11ea-889b-8c8590507855 + - e89f02ab-dcf7-11ea-8b3c-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -117,27 +117,27 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 424F1875A344DE98823F9BD67139C0D1 + - CF1A97CA627E9F28943F03F466341E44 method: PUT - uri: https://searchcca148d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search715d1e50.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchcca148d.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC949C3F02C7\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search715d1e50.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1BCD0B385C\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '374' + - '396' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:31 GMT + - Wed, 12 Aug 2020 23:59:50 GMT elapsed-time: - - '34' + - '78' etag: - - W/"0x8D7EC949C3F02C7" + - W/"0x8D83F1BCD0B385C" expires: - '-1' odata-version: @@ -147,7 +147,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - b7eba0fc-8a70-11ea-889b-8c8590507855 + - e8c1a1c2-dcf7-11ea-ae24-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -165,25 +165,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 424F1875A344DE98823F9BD67139C0D1 + - CF1A97CA627E9F28943F03F466341E44 method: GET - uri: https://searchcca148d.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search715d1e50.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchcca148d.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D7EC949C3F02C7\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}]}' + string: '{"@odata.context":"https://search715d1e50.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F1BCD0B385C\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '378' + - '400' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:31 GMT + - Wed, 12 Aug 2020 23:59:50 GMT elapsed-time: - - '9' + - '12' expires: - '-1' odata-version: @@ -193,7 +193,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - b7f6ed4a-8a70-11ea-889b-8c8590507855 + - e8dd74bd-dcf7-11ea-b1e0-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -211,27 +211,27 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 424F1875A344DE98823F9BD67139C0D1 + - CF1A97CA627E9F28943F03F466341E44 method: GET - uri: https://searchcca148d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search715d1e50.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchcca148d.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC949C3F02C7\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search715d1e50.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1BCD0B385C\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '374' + - '396' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:31 GMT + - Wed, 12 Aug 2020 23:59:50 GMT elapsed-time: - - '5' + - '8' etag: - - W/"0x8D7EC949C3F02C7" + - W/"0x8D83F1BCD0B385C" expires: - '-1' odata-version: @@ -241,7 +241,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - b7fe3a8c-8a70-11ea-889b-8c8590507855 + - e8eff083-dcf7-11ea-9c51-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_datasource_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_or_update_datasource_if_unchanged.yaml similarity index 77% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_datasource_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_or_update_datasource_if_unchanged.yaml index fd0ed9474580..b3f69b89ebe4 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_datasource_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_create_or_update_datasource_if_unchanged.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 0DBCB3E23D05E4915AB588A0A3E6A929 + - 7D6DFCA9FA14C70786AE96F5B021A80C method: POST - uri: https://search3c8b19c7.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search2014238a.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search3c8b19c7.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED71775A7B36\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search2014238a.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1BF1312D05\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '370' + - '391' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:28 GMT + - Thu, 13 Aug 2020 00:00:51 GMT elapsed-time: - - '46' + - '102' etag: - - W/"0x8D7ED71775A7B36" + - W/"0x8D83F1BF1312D05" expires: - '-1' location: - - https://search3c8b19c7.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search2014238a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9334e078-8b4d-11ea-a4ef-2816a845e8c6 + - 0caebab6-dcf8-11ea-bd61-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -71,27 +71,27 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 0DBCB3E23D05E4915AB588A0A3E6A929 + - 7D6DFCA9FA14C70786AE96F5B021A80C method: PUT - uri: https://search3c8b19c7.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search2014238a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search3c8b19c7.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED717773D43C\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search2014238a.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1BF1449182\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '375' + - '396' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:28 GMT + - Thu, 13 Aug 2020 00:00:51 GMT elapsed-time: - - '53' + - '33' etag: - - W/"0x8D7ED717773D43C" + - W/"0x8D83F1BF1449182" expires: - '-1' odata-version: @@ -101,7 +101,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9374a408-8b4d-11ea-b48a-2816a845e8c6 + - 0cff3673-dcf8-11ea-b9e2-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -112,7 +112,7 @@ interactions: - request: body: '{"name": "sample-datasource", "description": "changed", "type": "azureblob", "credentials": {"connectionString": "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net"}, - "container": {"name": "searchcontainer"}, "@odata.etag": "\"0x8D7ED71775A7B36\""}' + "container": {"name": "searchcontainer"}, "@odata.etag": "\"0x8D83F1BF1312D05\""}' headers: Accept: - application/json;odata.metadata=minimal @@ -125,15 +125,15 @@ interactions: Content-Type: - application/json If-Match: - - '"0x8D7ED71775A7B36"' + - '"0x8D83F1BF1312D05"' Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 0DBCB3E23D05E4915AB588A0A3E6A929 + - 7D6DFCA9FA14C70786AE96F5B021A80C method: PUT - uri: https://search3c8b19c7.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search2014238a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -149,9 +149,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:28 GMT + - Thu, 13 Aug 2020 00:00:51 GMT elapsed-time: - - '4' + - '7' expires: - '-1' odata-version: @@ -161,7 +161,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9390c946-8b4d-11ea-a80b-2816a845e8c6 + - 0d11f27a-dcf8-11ea-be72-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource.yaml similarity index 71% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource.yaml index 1212b611578a..d18333513533 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1C5B43C52D408683A88B701C2E27EDD2 + - ECF8F1E7053F8E7AF864D34BF7EAC5F6 method: POST - uri: https://search51a9106a.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search549e1a2d.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search51a9106a.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC94A414B210\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search549e1a2d.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1BF8F4A949\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '370' + - '391' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:44 GMT + - Thu, 13 Aug 2020 00:01:04 GMT elapsed-time: - - '34' + - '60' etag: - - W/"0x8D7EC94A414B210" + - W/"0x8D83F1BF8F4A949" expires: - '-1' location: - - https://search51a9106a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search549e1a2d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - bfb0f2ce-8a70-11ea-889b-8c8590507855 + - 148214c4-dcf8-11ea-bb2e-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,25 +63,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1C5B43C52D408683A88B701C2E27EDD2 + - ECF8F1E7053F8E7AF864D34BF7EAC5F6 method: GET - uri: https://search51a9106a.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search549e1a2d.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search51a9106a.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D7EC94A414B210\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}]}' + string: '{"@odata.context":"https://search549e1a2d.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F1BF8F4A949\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '374' + - '395' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:44 GMT + - Thu, 13 Aug 2020 00:01:04 GMT elapsed-time: - - '63' + - '11' expires: - '-1' odata-version: @@ -91,7 +91,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - bfcc3b92-8a70-11ea-889b-8c8590507855 + - 14c38d6c-dcf8-11ea-895a-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -111,11 +111,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1C5B43C52D408683A88B701C2E27EDD2 + - ECF8F1E7053F8E7AF864D34BF7EAC5F6 method: DELETE - uri: https://search51a9106a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search549e1a2d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: string: '' @@ -123,15 +123,15 @@ interactions: cache-control: - no-cache date: - - Wed, 29 Apr 2020 23:25:44 GMT + - Thu, 13 Aug 2020 00:01:04 GMT elapsed-time: - - '20' + - '169' expires: - '-1' pragma: - no-cache request-id: - - bfdc0004-8a70-11ea-889b-8c8590507855 + - 14d08617-dcf8-11ea-b3a4-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -147,14 +147,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 1C5B43C52D408683A88B701C2E27EDD2 + - ECF8F1E7053F8E7AF864D34BF7EAC5F6 method: GET - uri: https://search51a9106a.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search549e1a2d.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search51a9106a.search.windows.net/$metadata#datasources","value":[]}' + string: '{"@odata.context":"https://search549e1a2d.search.windows.net/$metadata#datasources","value":[]}' headers: cache-control: - no-cache @@ -163,9 +163,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:44 GMT + - Thu, 13 Aug 2020 00:01:04 GMT elapsed-time: - - '4' + - '5' expires: - '-1' odata-version: @@ -175,7 +175,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - bfe4dfda-8a70-11ea-889b-8c8590507855 + - 14fc7a35-dcf8-11ea-a473-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource_if_unchanged.yaml similarity index 75% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource_if_unchanged.yaml index 264af1c2567e..8810d084a62f 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource_if_unchanged.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F1F2BD64ED2A908278EBA8650A6C8DEE + - 3545F47D5D32F38CB8700D28B04F0636 method: POST - uri: https://search4ba315a4.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchcd7f1f67.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4ba315a4.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED7181869172\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchcd7f1f67.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1C0178D935\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '370' + - '391' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:45 GMT + - Thu, 13 Aug 2020 00:01:18 GMT elapsed-time: - - '48' + - '94' etag: - - W/"0x8D7ED7181869172" + - W/"0x8D83F1C0178D935" expires: - '-1' location: - - https://search4ba315a4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://searchcd7f1f67.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9d5ef89e-8b4d-11ea-ab0b-2816a845e8c6 + - 1ced8ca4-dcf8-11ea-b141-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -71,27 +71,27 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F1F2BD64ED2A908278EBA8650A6C8DEE + - 3545F47D5D32F38CB8700D28B04F0636 method: PUT - uri: https://search4ba315a4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://searchcd7f1f67.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4ba315a4.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED71819F26FD\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchcd7f1f67.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1C018C3DA9\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '375' + - '396' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:45 GMT + - Thu, 13 Aug 2020 00:01:18 GMT elapsed-time: - - '27' + - '42' etag: - - W/"0x8D7ED71819F26FD" + - W/"0x8D83F1C018C3DA9" expires: - '-1' odata-version: @@ -101,7 +101,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9da104c6-8b4d-11ea-8bff-2816a845e8c6 + - 1d4742c0-dcf8-11ea-8cdc-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -121,13 +121,13 @@ interactions: Content-Length: - '0' If-Match: - - '"0x8D7ED7181869172"' + - '"0x8D83F1C0178D935"' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F1F2BD64ED2A908278EBA8650A6C8DEE + - 3545F47D5D32F38CB8700D28B04F0636 method: DELETE - uri: https://search4ba315a4.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://searchcd7f1f67.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -143,9 +143,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:45 GMT + - Thu, 13 Aug 2020 00:01:18 GMT elapsed-time: - - '4' + - '9' expires: - '-1' odata-version: @@ -155,7 +155,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9db91138-8b4d-11ea-8df5-2816a845e8c6 + - 1d5ac41f-dcf8-11ea-a513-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource_string_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource_string_if_unchanged.yaml similarity index 74% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource_string_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource_string_if_unchanged.yaml index a74a64681280..1fa4e25fd47b 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_datasource_string_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_delete_datasource_string_if_unchanged.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 371E8B1C08DCB8B5AEF87D7E375D42AE + - 2FD0BB904F06D22949A58866D5342946 method: POST - uri: https://searchf0dc189a.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchb71c225d.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf0dc189a.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE1DB1EEB45B\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchb71c225d.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1C09BC71D3\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '370' + - '391' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 22:19:19 GMT + - Thu, 13 Aug 2020 00:01:31 GMT elapsed-time: - - '38' + - '63' etag: - - W/"0x8D7EE1DB1EEB45B" + - W/"0x8D83F1C09BC71D3" expires: - '-1' location: - - https://searchf0dc189a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://searchb71c225d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - ce408dc8-8bf9-11ea-9a33-2816a845e8c6 + - 255095ef-dcf8-11ea-93b3-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -71,27 +71,27 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 371E8B1C08DCB8B5AEF87D7E375D42AE + - 2FD0BB904F06D22949A58866D5342946 method: PUT - uri: https://searchf0dc189a.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://searchb71c225d.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf0dc189a.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE1DB20218D0\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchb71c225d.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1C09CD8BE9\"","name":"sample-datasource","description":"updated","type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '375' + - '396' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 22:19:20 GMT + - Thu, 13 Aug 2020 00:01:31 GMT elapsed-time: - - '36' + - '29' etag: - - W/"0x8D7EE1DB20218D0" + - W/"0x8D83F1C09CD8BE9" expires: - '-1' odata-version: @@ -101,7 +101,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - ce883c4c-8bf9-11ea-b342-2816a845e8c6 + - 258a2a8f-dcf8-11ea-9832-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_datasource.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_get_datasource.yaml similarity index 55% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_datasource.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_get_datasource.yaml index 2f08af96df39..ca93cb3a89be 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_datasource.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_get_datasource.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E49D04111DCB1738A561CC9902D552FE + - 0AE9764BD0FA7E723279CDE318E7DD7A method: POST - uri: https://search22270f37.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search7d318fa.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search22270f37.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC94AADF76DE\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search7d318fa.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1C1257893C\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '370' + - '390' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:55 GMT + - Thu, 13 Aug 2020 00:01:47 GMT elapsed-time: - - '47' + - '59' etag: - - W/"0x8D7EC94AADF76DE" + - W/"0x8D83F1C1257893C" expires: - '-1' location: - - https://search22270f37.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search7d318fa.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - c677b57a-8a70-11ea-889b-8c8590507855 + - 2de25bdf-dcf8-11ea-a721-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,27 +63,27 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E49D04111DCB1738A561CC9902D552FE + - 0AE9764BD0FA7E723279CDE318E7DD7A method: GET - uri: https://search22270f37.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + uri: https://search7d318fa.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search22270f37.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC94AADF76DE\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search7d318fa.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1C1257893C\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '370' + - '390' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:55 GMT + - Thu, 13 Aug 2020 00:01:47 GMT elapsed-time: - - '28' + - '20' etag: - - W/"0x8D7EC94AADF76DE" + - W/"0x8D83F1C1257893C" expires: - '-1' odata-version: @@ -93,7 +93,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - c696f4d0-8a70-11ea-889b-8c8590507855 + - 2e258985-dcf8-11ea-8cbd-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_datasource.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_list_datasource.yaml similarity index 66% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_datasource.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_list_datasource.yaml index 56c150e0722f..7ffdfacbae05 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_datasource.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_data_source_live.test_list_datasource.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6C051A73A19918FEDC9EFD419203F1C7 + - 91E338BBE58BFFCBDD4ACA59262815D2 method: POST - uri: https://search32ba0fb3.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search22291976.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search32ba0fb3.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC94B2E20FAE\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search22291976.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1C1A7C70F8\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '370' + - '391' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:26:09 GMT + - Thu, 13 Aug 2020 00:02:00 GMT elapsed-time: - - '56' + - '70' etag: - - W/"0x8D7EC94B2E20FAE" + - W/"0x8D83F1C1A7C70F8" expires: - '-1' location: - - https://search32ba0fb3.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search22291976.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - ce7ab0c4-8a70-11ea-889b-8c8590507855 + - 360c86f5-dcf8-11ea-9f2a-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -69,31 +69,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6C051A73A19918FEDC9EFD419203F1C7 + - 91E338BBE58BFFCBDD4ACA59262815D2 method: POST - uri: https://search32ba0fb3.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search22291976.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search32ba0fb3.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EC94B2ED837E\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search22291976.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D83F1C1A930A50\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '367' + - '388' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:26:09 GMT + - Thu, 13 Aug 2020 00:02:00 GMT elapsed-time: - - '34' + - '33' etag: - - W/"0x8D7EC94B2ED837E" + - W/"0x8D83F1C1A930A50" expires: - '-1' location: - - https://search32ba0fb3.search.windows.net/datasources('another-sample')?api-version=2020-06-30 + - https://search22291976.search.windows.net/datasources('another-sample')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -101,7 +101,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - ce9983c8-8a70-11ea-889b-8c8590507855 + - 364c651f-dcf8-11ea-8ee3-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -117,25 +117,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6C051A73A19918FEDC9EFD419203F1C7 + - 91E338BBE58BFFCBDD4ACA59262815D2 method: GET - uri: https://search32ba0fb3.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search22291976.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search32ba0fb3.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D7EC94B2ED837E\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null},{"@odata.etag":"\"0x8D7EC94B2E20FAE\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}]}' + string: '{"@odata.context":"https://search22291976.search.windows.net/$metadata#datasources","value":[{"@odata.etag":"\"0x8D83F1C1A930A50\"","name":"another-sample","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null},{"@odata.etag":"\"0x8D83F1C1A7C70F8\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '651' + - '693' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:26:09 GMT + - Thu, 13 Aug 2020 00:02:00 GMT elapsed-time: - - '18' + - '35' expires: - '-1' odata-version: @@ -145,7 +145,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - cea47c42-8a70-11ea-889b-8c8590507855 + - 36607fcc-dcf8-11ea-84a3-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_analyze_text.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_analyze_text.yaml similarity index 59% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_analyze_text.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_analyze_text.yaml index c6a092ce073e..c4c9c47d828f 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_analyze_text.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_analyze_text.yaml @@ -13,25 +13,25 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 980E4A06562888E4EC5397BE01F2DE38 + - 1C897315E7FED0F4EEA3A55F95F73D8B method: POST - uri: https://search4d10e85.search.windows.net/indexes('drgqefsg')/search.analyze?api-version=2020-06-30 + uri: https://searchcf75135f.search.windows.net/indexes('drgqefsg')/search.analyze?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4d10e85.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.AnalyzeResult","tokens":[{"token":"one''s","startOffset":0,"endOffset":5,"position":0},{"token":"two","startOffset":7,"endOffset":10,"position":1}]}' + string: '{"@odata.context":"https://searchcf75135f.search.windows.net/$metadata#Microsoft.Azure.Search.V2020_06_30.AnalyzeResult","tokens":[{"token":"one''s","startOffset":0,"endOffset":5,"position":0},{"token":"two","startOffset":7,"endOffset":10,"position":1}]}' headers: cache-control: - no-cache content-length: - - '260' + - '253' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:20:46 GMT + - Thu, 13 Aug 2020 00:02:15 GMT elapsed-time: - - '277' + - '1217' expires: - '-1' odata-version: @@ -41,7 +41,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 0e27953a-8a70-11ea-889b-8c8590507855 + - 3df6d5e7-dcf8-11ea-a21a-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_index.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_index.yaml new file mode 100644 index 000000000000..899e97b94d34 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_index.yaml @@ -0,0 +1,59 @@ +interactions: +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}, {"name": "baseRate", "type": "Edm.Double", + "key": false, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}], "scoringProfiles": [{"name": "MyProfile"}], + "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '457' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - ED22C99996611698223DD43891E637CE + method: POST + uri: https://searchce941332.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchce941332.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F1C2B4D14B6\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '967' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:02:29 GMT + elapsed-time: + - '632' + etag: + - W/"0x8D83F1C2B4D14B6" + expires: + - '-1' + location: + - https://searchce941332.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 46939999-dcf8-11ea-ada8-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 201 + message: Created +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_or_update_index.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_or_update_index.yaml new file mode 100644 index 000000000000..b17782019185 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_or_update_index.yaml @@ -0,0 +1,120 @@ +interactions: +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}, {"name": "baseRate", "type": "Edm.Double", + "key": false, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}], "scoringProfiles": [], "corsOptions": + {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '436' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 8A835416CCB9A7029052C831AA03894B + method: PUT + uri: https://searcha5711754.search.windows.net/indexes('hotels')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searcha5711754.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F1C363593B9\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '893' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:02:47 GMT + elapsed-time: + - '2142' + etag: + - W/"0x8D83F1C363593B9" + expires: + - '-1' + location: + - https://searcha5711754.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 50923ff4-dcf8-11ea-9ca4-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 201 + message: Created +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}, {"name": "baseRate", "type": "Edm.Double", + "key": false, "retrievable": true, "searchable": false, "filterable": false, + "sortable": false, "facetable": false}], "scoringProfiles": [{"name": "MyProfile"}], + "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '457' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 8A835416CCB9A7029052C831AA03894B + method: PUT + uri: https://searcha5711754.search.windows.net/indexes('hotels')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searcha5711754.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F1C365C83AF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '967' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:02:47 GMT + elapsed-time: + - '165' + etag: + - W/"0x8D83F1C365C83AF" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 520c0936-dcf8-11ea-8631-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexes_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_or_update_indexes_if_unchanged.yaml similarity index 64% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexes_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_or_update_indexes_if_unchanged.yaml index 247d2d979d99..5106cf03b039 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexes_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_create_or_update_indexes_if_unchanged.yaml @@ -1,9 +1,9 @@ interactions: - request: body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [{"name": "MyProfile"}], "corsOptions": {"allowedOrigins": - ["*"], "maxAgeInSeconds": 60}}' + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [{"name": "MyProfile"}], + "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' headers: Accept: - application/json;odata.metadata=minimal @@ -12,35 +12,35 @@ interactions: Connection: - keep-alive Content-Length: - - '260' + - '302' Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7EDDD034F9B54CB2E3BC204320340D62 + - 1D976771C5ACFF39806D74D127BDC17F method: POST - uri: https://searchf02d188c.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search34391d66.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf02d188c.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED713C61993A\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search34391d66.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F1C3F57F4EF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' headers: cache-control: - no-cache content-length: - - '890' + - '961' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:44:49 GMT + - Thu, 13 Aug 2020 00:03:02 GMT elapsed-time: - - '625' + - '2210' etag: - - W/"0x8D7ED713C61993A" + - W/"0x8D83F1C3F57F4EF" expires: - '-1' location: - - https://searchf02d188c.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://search34391d66.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -48,7 +48,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 57dcb4fa-8b4d-11ea-9996-2816a845e8c6 + - 59ae0965-dcf8-11ea-8905-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -56,9 +56,9 @@ interactions: message: Created - request: body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [], "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": - 60}}' + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [], "corsOptions": + {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' headers: Accept: - application/json;odata.metadata=minimal @@ -67,33 +67,33 @@ interactions: Connection: - keep-alive Content-Length: - - '239' + - '281' Content-Type: - application/json Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7EDDD034F9B54CB2E3BC204320340D62 + - 1D976771C5ACFF39806D74D127BDC17F method: PUT - uri: https://searchf02d188c.search.windows.net/indexes('hotels')?api-version=2020-06-30 + uri: https://search34391d66.search.windows.net/indexes('hotels')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf02d188c.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED713C80E6C7\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search34391d66.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F1C3F7FA858\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' headers: cache-control: - no-cache content-length: - - '816' + - '887' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:44:49 GMT + - Thu, 13 Aug 2020 00:03:02 GMT elapsed-time: - - '99' + - '111' etag: - - W/"0x8D7ED713C80E6C7" + - W/"0x8D83F1C3F7FA858" expires: - '-1' odata-version: @@ -103,7 +103,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 58800e88-8b4d-11ea-8ef8-2816a845e8c6 + - 5b302354-dcf8-11ea-a1d8-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -113,9 +113,9 @@ interactions: message: OK - request: body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [], "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": - 60}, "@odata.etag": "\"0x8D7ED713C61993A\""}' + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [], "corsOptions": + {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}, "@odata.etag": "\"0x8D83F1C3F57F4EF\""}' headers: Accept: - application/json;odata.metadata=minimal @@ -124,19 +124,19 @@ interactions: Connection: - keep-alive Content-Length: - - '279' + - '321' Content-Type: - application/json If-Match: - - '"0x8D7ED713C61993A"' + - '"0x8D83F1C3F57F4EF"' Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7EDDD034F9B54CB2E3BC204320340D62 + - 1D976771C5ACFF39806D74D127BDC17F method: PUT - uri: https://searchf02d188c.search.windows.net/indexes('hotels')?api-version=2020-06-30 + uri: https://search34391d66.search.windows.net/indexes('hotels')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -152,9 +152,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:44:49 GMT + - Thu, 13 Aug 2020 00:03:02 GMT elapsed-time: - - '43' + - '20' expires: - '-1' odata-version: @@ -164,7 +164,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 589d8268-8b4d-11ea-ba65-2816a845e8c6 + - 5b526731-dcf8-11ea-832b-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexes.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_delete_indexes.yaml similarity index 69% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexes.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_delete_indexes.yaml index 5ae73857d8f5..08c209406d56 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexes.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_delete_indexes.yaml @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 4047D6344BEF3D3392D3F9E3C29654B1 + - 6957B44DB27C8F77E747966E79CF3F8C method: DELETE - uri: https://search21c20f2f.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + uri: https://searchf61a1409.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 response: body: string: '' @@ -23,15 +23,15 @@ interactions: cache-control: - no-cache date: - - Wed, 29 Apr 2020 23:21:42 GMT + - Thu, 13 Aug 2020 00:03:17 GMT elapsed-time: - - '243' + - '193' expires: - '-1' pragma: - no-cache request-id: - - 2eb2ba32-8a70-11ea-889b-8c8590507855 + - 63822882-dcf8-11ea-b28b-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -47,14 +47,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 4047D6344BEF3D3392D3F9E3C29654B1 + - 6957B44DB27C8F77E747966E79CF3F8C method: GET - uri: https://search21c20f2f.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searchf61a1409.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21c20f2f.search.windows.net/$metadata#indexes","value":[]}' + string: '{"@odata.context":"https://searchf61a1409.search.windows.net/$metadata#indexes","value":[]}' headers: cache-control: - no-cache @@ -63,9 +63,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:21:46 GMT + - Thu, 13 Aug 2020 00:03:22 GMT elapsed-time: - - '111' + - '32' expires: - '-1' odata-version: @@ -75,7 +75,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 321d5592-8a70-11ea-889b-8c8590507855 + - 66d5b3f9-dcf8-11ea-a0f8-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_delete_indexes_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_delete_indexes_if_unchanged.yaml new file mode 100644 index 000000000000..4d41324a94ea --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_delete_indexes_if_unchanged.yaml @@ -0,0 +1,166 @@ +interactions: +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [{"name": "MyProfile"}], + "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '302' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - FE0B459EA866868C9B0D69265E0D89D0 + method: POST + uri: https://search1f361943.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search1f361943.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F1C528EBD14\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '961' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:03:34 GMT + elapsed-time: + - '477' + etag: + - W/"0x8D83F1C528EBD14" + expires: + - '-1' + location: + - https://search1f361943.search.windows.net/indexes('hotels')?api-version=2020-06-30 + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6de4b6ff-dcf8-11ea-b363-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 201 + message: Created +- request: + body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", + "key": true, "retrievable": true, "searchable": false}, {"name": "baseRate", + "type": "Edm.Double", "retrievable": true}], "scoringProfiles": [], "corsOptions": + {"allowedOrigins": ["*"], "maxAgeInSeconds": 60}}' + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '281' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - FE0B459EA866868C9B0D69265E0D89D0 + method: PUT + uri: https://search1f361943.search.windows.net/indexes('hotels')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search1f361943.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F1C52D0B3FA\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' + headers: + cache-control: + - no-cache + content-length: + - '887' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:03:35 GMT + elapsed-time: + - '330' + etag: + - W/"0x8D83F1C52D0B3FA" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6e6176ba-dcf8-11ea-a687-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Match: + - '"0x8D83F1C528EBD14"' + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - FE0B459EA866868C9B0D69265E0D89D0 + method: DELETE + uri: https://search1f361943.search.windows.net/indexes('hotels')?api-version=2020-06-30 + response: + body: + string: '{"error":{"code":"","message":"The precondition given in one of the + request headers evaluated to false. No change was made to the resource from + this request."}}' + headers: + cache-control: + - no-cache + content-language: + - en + content-length: + - '160' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:03:35 GMT + elapsed-time: + - '16' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 6ea2fec7-dcf8-11ea-91ee-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 412 + message: Precondition Failed +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_index.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_index.yaml similarity index 91% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_index.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_index.yaml index 1716e52358a6..c96cfebd57f1 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_index.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_index.yaml @@ -9,27 +9,27 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 61B995D646A110CCEC888B68E298FD85 + - 99174E2F7F8AA388A0D7074F8333B861 method: GET - uri: https://searchda450d24.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 + uri: https://search966a11fe.search.windows.net/indexes('drgqefsg')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchda450d24.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EC941B4C6FB2\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search966a11fe.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D83F1C5842A908\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}' headers: cache-control: - no-cache content-length: - - '6156' + - '6227' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:21:59 GMT + - Thu, 13 Aug 2020 00:03:48 GMT elapsed-time: - - '46' + - '107' etag: - - W/"0x8D7EC941B4C6FB2" + - W/"0x8D83F1C5842A908" expires: - '-1' odata-version: @@ -39,7 +39,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 39421e20-8a70-11ea-889b-8c8590507855 + - 7625a0b2-dcf8-11ea-a0e9-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_index_statistics.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_index_statistics.yaml similarity index 62% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_index_statistics.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_index_statistics.yaml index abdc5d5ea81d..5a1011c7ddd6 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_index_statistics.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_index_statistics.yaml @@ -9,25 +9,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6FBCE200FF6D960D275576AD2F8FB6F7 + - 5616CDF2155A7196A2E7F128A1CA6D56 method: GET - uri: https://search86b411ce.search.windows.net/indexes('drgqefsg')/search.stats?api-version=2020-06-30 + uri: https://search783716a8.search.windows.net/indexes('drgqefsg')/search.stats?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search86b411ce.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexStatistics","documentCount":0,"storageSize":0}' + string: '{"@odata.context":"https://search783716a8.search.windows.net/$metadata#Microsoft.Azure.Search.V2020_06_30.IndexStatistics","documentCount":0,"storageSize":0}' headers: cache-control: - no-cache content-length: - - '165' + - '157' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:11 GMT + - Thu, 13 Aug 2020 00:04:00 GMT elapsed-time: - - '105' + - '34' expires: - '-1' odata-version: @@ -37,7 +37,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 405f58da-8a70-11ea-889b-8c8590507855 + - 7ddc2b15-dcf8-11ea-8427-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_service_statistics.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_service_statistics.yaml new file mode 100644 index 000000000000..a22058dd4f2f --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_get_service_statistics.yaml @@ -0,0 +1,48 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 5BD7FEBA926CF3DD1BF5D9F4F8224EBF + method: GET + uri: https://searcha71e1781.search.windows.net/servicestats?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searcha71e1781.search.windows.net/$metadata#Microsoft.Azure.Search.V2020_06_30.ServiceStatistics","counters":{"documentCount":{"usage":0,"quota":null},"indexesCount":{"usage":0,"quota":3},"indexersCount":{"usage":0,"quota":3},"dataSourcesCount":{"usage":0,"quota":3},"storageSize":{"usage":0,"quota":52428800},"synonymMaps":{"usage":0,"quota":3}},"limits":{"maxFieldsPerIndex":1000,"maxFieldNestingDepthPerIndex":10,"maxComplexCollectionFieldsPerIndex":40,"maxComplexObjectsInCollectionsPerDocument":3000}}' + headers: + cache-control: + - no-cache + content-length: + - '533' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:04:09 GMT + elapsed-time: + - '65' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 82d87fa6-dcf8-11ea-8a5a-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_list_indexes.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_list_indexes.yaml new file mode 100644 index 000000000000..6f770d94a75d --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_list_indexes.yaml @@ -0,0 +1,48 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - EF004AAEF0121A6DDE6D1CFBC784F68B + method: GET + uri: https://searchcf9c1352.search.windows.net/indexes?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://searchcf9c1352.search.windows.net/$metadata#indexes","value":[{"@odata.etag":"\"0x8D83F1C6CA10F7E\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}]}' + headers: + cache-control: + - no-cache + content-length: + - '6231' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:04:22 GMT + elapsed-time: + - '77' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - 8a82d99e-dcf8-11ea-96aa-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexes_empty.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_list_indexes_empty.yaml similarity index 70% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexes_empty.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_list_indexes_empty.yaml index 6de55d5d250d..e089735f392c 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexes_empty.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_live.test_list_indexes_empty.yaml @@ -9,14 +9,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 5E8598A1BBC6C32219175B1F71F10648 + - 60464A319C87CB7F9BC562F9DB5430D7 method: GET - uri: https://search64601106.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search4c2f15e0.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search64601106.search.windows.net/$metadata#indexes","value":[]}' + string: '{"@odata.context":"https://search4c2f15e0.search.windows.net/$metadata#indexes","value":[]}' headers: cache-control: - no-cache @@ -25,9 +25,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:30 GMT + - Thu, 13 Aug 2020 00:04:31 GMT elapsed-time: - - '54' + - '49' expires: - '-1' odata-version: @@ -37,7 +37,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 4bf82de8-8a70-11ea-889b-8c8590507855 + - 8f8ffc16-dcf8-11ea-9370-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset.yaml similarity index 71% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset.yaml index b6ddd4472f0a..a5909c5b4643 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset.yaml @@ -18,31 +18,31 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 137CEEC8B0A9B0FDC772FF8489590519 + - 646B5010525B96A5CF9A6EED3EFB3117 method: PUT - uri: https://searche48b13cd.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searche2bf1c71.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searche48b13cd.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC945F838D92\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searche2bf1c71.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C7C9C89C3\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '588' + - '609' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:48 GMT + - Thu, 13 Aug 2020 00:04:45 GMT elapsed-time: - - '167' + - '232' etag: - - W/"0x8D7EC945F838D92" + - W/"0x8D83F1C7C9C89C3" expires: - '-1' location: - - https://searche48b13cd.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + - https://searche2bf1c71.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -50,7 +50,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 7b0ffd36-8a70-11ea-889b-8c8590507855 + - 9811128b-dcf8-11ea-b91c-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -75,27 +75,27 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 137CEEC8B0A9B0FDC772FF8489590519 + - 646B5010525B96A5CF9A6EED3EFB3117 method: PUT - uri: https://searche48b13cd.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searche2bf1c71.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searche48b13cd.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC945F93BD2C\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searche2bf1c71.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C7CC1567B\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '588' + - '609' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:49 GMT + - Thu, 13 Aug 2020 00:04:45 GMT elapsed-time: - - '58' + - '134' etag: - - W/"0x8D7EC945F93BD2C" + - W/"0x8D83F1C7CC1567B" expires: - '-1' odata-version: @@ -105,7 +105,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 7b4046bc-8a70-11ea-889b-8c8590507855 + - 986b00f3-dcf8-11ea-b3e1-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -123,25 +123,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 137CEEC8B0A9B0FDC772FF8489590519 + - 646B5010525B96A5CF9A6EED3EFB3117 method: GET - uri: https://searche48b13cd.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searche2bf1c71.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searche48b13cd.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7EC945F93BD2C\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://searche2bf1c71.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F1C7CC1567B\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '669' + - '690' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:49 GMT + - Thu, 13 Aug 2020 00:04:45 GMT elapsed-time: - - '46' + - '69' expires: - '-1' odata-version: @@ -151,7 +151,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 7b4fcfd8-8a70-11ea-889b-8c8590507855 + - 988f2eb9-dcf8-11ea-9d4f-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -169,27 +169,27 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 137CEEC8B0A9B0FDC772FF8489590519 + - 646B5010525B96A5CF9A6EED3EFB3117 method: GET - uri: https://searche48b13cd.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searche2bf1c71.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searche48b13cd.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC945F93BD2C\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searche2bf1c71.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C7CC1567B\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '665' + - '686' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:49 GMT + - Thu, 13 Aug 2020 00:04:45 GMT elapsed-time: - - '16' + - '27' etag: - - W/"0x8D7EC945F93BD2C" + - W/"0x8D83F1C7CC1567B" expires: - '-1' odata-version: @@ -199,7 +199,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 7b5d4230-8a70-11ea-889b-8c8590507855 + - 98aaf5f7-dcf8-11ea-b141-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset_if_unchanged.yaml new file mode 100644 index 000000000000..e224e338c7ef --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset_if_unchanged.yaml @@ -0,0 +1,162 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc1", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '253' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 1EE3C18AD8B7CEEA829598CBF6E5E152 + method: PUT + uri: https://search792321ab.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search792321ab.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C84D79563\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:04:58 GMT + elapsed-time: + - '93' + etag: + - W/"0x8D83F1C84D79563" + expires: + - '-1' + location: + - https://search792321ab.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - a0632bed-dcf8-11ea-8231-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 201 + message: Created +- request: + body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": + "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", + "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": + "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '253' + Content-Type: + - application/json + Prefer: + - return=representation + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 1EE3C18AD8B7CEEA829598CBF6E5E152 + method: PUT + uri: https://search792321ab.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search792321ab.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C84F338BA\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:04:59 GMT + elapsed-time: + - '77' + etag: + - W/"0x8D83F1C84F338BA" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - a0a6d448-dcf8-11ea-a1f2-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - 1EE3C18AD8B7CEEA829598CBF6E5E152 + method: GET + uri: https://search792321ab.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search792321ab.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F1C84F338BA\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: + - no-cache + content-length: + - '690' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:04:59 GMT + elapsed-time: + - '53' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - a0c0eaa7-dcf8-11ea-afa2-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset_inplace.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset_inplace.yaml similarity index 70% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset_inplace.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset_inplace.yaml index 9d6ebbde69c8..9c243869fa92 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset_inplace.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_or_update_skillset_inplace.yaml @@ -18,31 +18,31 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7BCAA2A42703160BBB7A7EB13D0570A2 + - 66D959792897A40C6E985CE95A8EA3B7 method: PUT - uri: https://search919b1708.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searchd4ef1fac.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search919b1708.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC946711539F\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchd4ef1fac.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C8D7C999A\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '588' + - '609' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:02 GMT + - Thu, 13 Aug 2020 00:05:13 GMT elapsed-time: - - '57' + - '228' etag: - - W/"0x8D7EC946711539F" + - W/"0x8D83F1C8D7C999A" expires: - '-1' location: - - https://search919b1708.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + - https://searchd4ef1fac.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -50,7 +50,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 82abe244-8a70-11ea-889b-8c8590507855 + - a8f78dcb-dcf8-11ea-868b-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -60,7 +60,7 @@ interactions: body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": - "organizations"}]}], "@odata.etag": "\"0x8D7EC946711539F\""}' + "organizations"}]}]}' headers: Accept: - application/json;odata.metadata=minimal @@ -69,33 +69,33 @@ interactions: Connection: - keep-alive Content-Length: - - '293' + - '253' Content-Type: - application/json Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7BCAA2A42703160BBB7A7EB13D0570A2 + - 66D959792897A40C6E985CE95A8EA3B7 method: PUT - uri: https://search919b1708.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searchd4ef1fac.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search919b1708.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC94671E9C8A\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchd4ef1fac.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C8DA07BC7\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '588' + - '609' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:02 GMT + - Thu, 13 Aug 2020 00:05:13 GMT elapsed-time: - - '55' + - '128' etag: - - W/"0x8D7EC94671E9C8A" + - W/"0x8D83F1C8DA07BC7" expires: - '-1' odata-version: @@ -105,7 +105,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 82cbf8ae-8a70-11ea-889b-8c8590507855 + - a94b0ff4-dcf8-11ea-ba05-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -123,25 +123,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7BCAA2A42703160BBB7A7EB13D0570A2 + - 66D959792897A40C6E985CE95A8EA3B7 method: GET - uri: https://search919b1708.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchd4ef1fac.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search919b1708.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7EC94671E9C8A\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://searchd4ef1fac.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F1C8DA07BC7\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '669' + - '690' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:02 GMT + - Thu, 13 Aug 2020 00:05:13 GMT elapsed-time: - - '86' + - '63' expires: - '-1' odata-version: @@ -151,7 +151,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 82da5598-8a70-11ea-889b-8c8590507855 + - a96f01a5-dcf8-11ea-8b29-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -169,27 +169,27 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 7BCAA2A42703160BBB7A7EB13D0570A2 + - 66D959792897A40C6E985CE95A8EA3B7 method: GET - uri: https://search919b1708.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searchd4ef1fac.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search919b1708.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC94671E9C8A\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchd4ef1fac.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C8DA07BC7\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '665' + - '686' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:02 GMT + - Thu, 13 Aug 2020 00:05:13 GMT elapsed-time: - - '14' + - '65' etag: - - W/"0x8D7EC94671E9C8A" + - W/"0x8D83F1C8DA07BC7" expires: - '-1' odata-version: @@ -199,7 +199,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 82ed6930-8a70-11ea-889b-8c8590507855 + - a989ac0a-dcf8-11ea-a81e-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_skillset.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_skillset.yaml similarity index 71% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_skillset.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_skillset.yaml index 0fa770a429c2..c90a4cd111ab 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_skillset.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_create_skillset.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 190A4566DDA77F82BEE19B1588A89BA8 + - 579F4602E6D04F87810235FAC6417183 method: POST - uri: https://search31db0fab.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchd998184f.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search31db0fab.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC946DEEBBDA\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchd998184f.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C96BF59E7\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '587' + - '608' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:13 GMT + - Thu, 13 Aug 2020 00:05:29 GMT elapsed-time: - - '59' + - '279' etag: - - W/"0x8D7EC946DEEBBDA" + - W/"0x8D83F1C96BF59E7" expires: - '-1' location: - - https://search31db0fab.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + - https://searchd998184f.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 89887280-8a70-11ea-889b-8c8590507855 + - b1923e94-dcf8-11ea-9561-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,25 +63,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 190A4566DDA77F82BEE19B1588A89BA8 + - 579F4602E6D04F87810235FAC6417183 method: GET - uri: https://search31db0fab.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchd998184f.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search31db0fab.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7EC946DEEBBDA\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://searchd998184f.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F1C96BF59E7\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '668' + - '689' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:13 GMT + - Thu, 13 Aug 2020 00:05:29 GMT elapsed-time: - - '48' + - '98' expires: - '-1' odata-version: @@ -91,7 +91,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 89a90464-8a70-11ea-889b-8c8590507855 + - b28ddd36-dcf8-11ea-a14e-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_skillset.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_delete_skillset.yaml similarity index 70% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_skillset.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_delete_skillset.yaml index b443f335f537..158f9417b077 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_skillset.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_delete_skillset.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 9715B5769069781F16C928BBC2605D8E + - 2BE652C627D92A5391DD4C74F5C3FD1A method: POST - uri: https://search31bf0faa.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchd97c184e.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search31bf0faa.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC9474EB318F\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchd97c184e.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1C9EB9A787\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '587' + - '608' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:25 GMT + - Thu, 13 Aug 2020 00:05:42 GMT elapsed-time: - - '56' + - '69' etag: - - W/"0x8D7EC9474EB318F" + - W/"0x8D83F1C9EB9A787" expires: - '-1' location: - - https://search31bf0faa.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + - https://searchd97c184e.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 9083abcc-8a70-11ea-889b-8c8590507855 + - ba427e1c-dcf8-11ea-a0b5-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,25 +63,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 9715B5769069781F16C928BBC2605D8E + - 2BE652C627D92A5391DD4C74F5C3FD1A method: GET - uri: https://search31bf0faa.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchd97c184e.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search31bf0faa.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7EC9474EB318F\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://searchd97c184e.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F1C9EB9A787\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '668' + - '689' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:25 GMT + - Thu, 13 Aug 2020 00:05:42 GMT elapsed-time: - - '26' + - '53' expires: - '-1' odata-version: @@ -91,7 +91,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 90a4d9b4-8a70-11ea-889b-8c8590507855 + - ba87d8e6-dcf8-11ea-98f5-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -111,11 +111,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 9715B5769069781F16C928BBC2605D8E + - 2BE652C627D92A5391DD4C74F5C3FD1A method: DELETE - uri: https://search31bf0faa.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://searchd97c184e.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: string: '' @@ -123,15 +123,15 @@ interactions: cache-control: - no-cache date: - - Wed, 29 Apr 2020 23:24:25 GMT + - Thu, 13 Aug 2020 00:05:42 GMT elapsed-time: - - '38' + - '54' expires: - '-1' pragma: - no-cache request-id: - - 90aece9c-8a70-11ea-889b-8c8590507855 + - ba9f7757-dcf8-11ea-a696-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -147,14 +147,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 9715B5769069781F16C928BBC2605D8E + - 2BE652C627D92A5391DD4C74F5C3FD1A method: GET - uri: https://search31bf0faa.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchd97c184e.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search31bf0faa.search.windows.net/$metadata#skillsets","value":[]}' + string: '{"@odata.context":"https://searchd97c184e.search.windows.net/$metadata#skillsets","value":[]}' headers: cache-control: - no-cache @@ -163,9 +163,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:24:25 GMT + - Thu, 13 Aug 2020 00:05:42 GMT elapsed-time: - - '14' + - '22' expires: - '-1' odata-version: @@ -175,7 +175,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 90ba3d72-8a70-11ea-889b-8c8590507855 + - bab5c226-dcf8-11ea-8f11-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_skillset_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_delete_skillset_if_unchanged.yaml similarity index 73% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_skillset_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_delete_skillset_if_unchanged.yaml index eb6907a14ee5..625fd00c8201 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_skillset_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_delete_skillset_if_unchanged.yaml @@ -15,31 +15,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E5E890D66B801E7867C9E374922FC838 + - DE11930CB84F8139B326F6853144EBCB method: POST - uri: https://search21f914e4.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://search3a191d88.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21f914e4.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7ED716DB3B0F7\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search3a191d88.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1CA6F48C36\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '587' + - '608' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:12 GMT + - Thu, 13 Aug 2020 00:05:56 GMT elapsed-time: - - '37' + - '71' etag: - - W/"0x8D7ED716DB3B0F7" + - W/"0x8D83F1CA6F48C36" expires: - '-1' location: - - https://search21f914e4.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + - https://search3a191d88.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 8979c398-8b4d-11ea-879a-2816a845e8c6 + - c28ff679-dcf8-11ea-819c-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -72,27 +72,27 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E5E890D66B801E7867C9E374922FC838 + - DE11930CB84F8139B326F6853144EBCB method: PUT - uri: https://search21f914e4.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search3a191d88.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21f914e4.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7ED716DCDF47B\"","name":"test-ss","description":"updated","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://search3a191d88.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1CA70C855D\"","name":"test-ss","description":"updated","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '590' + - '611' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:12 GMT + - Thu, 13 Aug 2020 00:05:56 GMT elapsed-time: - '52' etag: - - W/"0x8D7ED716DCDF47B" + - W/"0x8D83F1CA70C855D" expires: - '-1' odata-version: @@ -102,7 +102,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 89ce1288-8b4d-11ea-973d-2816a845e8c6 + - c2c2ce01-dcf8-11ea-9e86-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -122,13 +122,13 @@ interactions: Content-Length: - '0' If-Match: - - '"0x8D7ED716DB3B0F7"' + - '"0x8D83F1CA6F48C36"' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - E5E890D66B801E7867C9E374922FC838 + - DE11930CB84F8139B326F6853144EBCB method: DELETE - uri: https://search21f914e4.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + uri: https://search3a191d88.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -144,9 +144,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:46:12 GMT + - Thu, 13 Aug 2020 00:05:56 GMT elapsed-time: - - '10' + - '19' expires: - '-1' odata-version: @@ -156,7 +156,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 89e92918-8b4d-11ea-882a-2816a845e8c6 + - c2da7a11-dcf8-11ea-bed4-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_get_skillset.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_get_skillset.yaml new file mode 100644 index 000000000000..a1f3b9bd0cc6 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_get_skillset.yaml @@ -0,0 +1,150 @@ +interactions: +- request: + body: '{"name": "test-ss", "description": "desc", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": + "organizations", "targetName": "organizations"}]}]}' + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '252' + Content-Type: + - application/json + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - A7575BF9104C4110181D1D39CA84AE92 + method: POST + uri: https://search9274171b.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search9274171b.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1CAEDF4929\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: + - no-cache + content-length: + - '608' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:06:09 GMT + elapsed-time: + - '61' + etag: + - W/"0x8D83F1CAEDF4929" + expires: + - '-1' + location: + - https://search9274171b.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - ca6eb6b6-dcf8-11ea-8f61-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - A7575BF9104C4110181D1D39CA84AE92 + method: GET + uri: https://search9274171b.search.windows.net/skillsets?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search9274171b.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F1CAEDF4929\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' + headers: + cache-control: + - no-cache + content-length: + - '689' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:06:09 GMT + elapsed-time: + - '35' + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - caacfae1-dcf8-11ea-a8db-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json;odata.metadata=minimal + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) + api-key: + - A7575BF9104C4110181D1D39CA84AE92 + method: GET + uri: https://search9274171b.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 + response: + body: + string: '{"@odata.context":"https://search9274171b.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1CAEDF4929\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' + headers: + cache-control: + - no-cache + content-length: + - '685' + content-type: + - application/json; odata.metadata=minimal + date: + - Thu, 13 Aug 2020 00:06:09 GMT + elapsed-time: + - '22' + etag: + - W/"0x8D83F1CAEDF4929" + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + preference-applied: + - odata.include-annotations="*" + request-id: + - cac2543e-dcf8-11ea-8245-5cf37071153c + strict-transport-security: + - max-age=15724800; includeSubDomains + vary: + - Accept-Encoding + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_skillsets.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_get_skillsets.yaml similarity index 65% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_skillsets.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_get_skillsets.yaml index 9bbd6107bd15..f761ed99b50d 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_skillsets.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_skillset_live.test_get_skillsets.yaml @@ -16,31 +16,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B6B0828C8EC0450A923A37B8076FB654 + - E7EBBF4023BEEF982F05A786DA2D943F method: POST - uri: https://search138d0eea.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchaa02178e.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search138d0eea.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC948D7A3762\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchaa02178e.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1CB6CFFA9F\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '590' + - '611' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:06 GMT + - Thu, 13 Aug 2020 00:06:23 GMT elapsed-time: - - '448' + - '84' etag: - - W/"0x8D7EC948D7A3762" + - W/"0x8D83F1CB6CFFA9F" expires: - '-1' location: - - https://search138d0eea.search.windows.net/skillsets('test-ss-1')?api-version=2020-06-30 + - https://searchaa02178e.search.windows.net/skillsets('test-ss-1')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -48,7 +48,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - a8d85132-8a70-11ea-889b-8c8590507855 + - d261f864-dcf8-11ea-9392-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -71,31 +71,31 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B6B0828C8EC0450A923A37B8076FB654 + - E7EBBF4023BEEF982F05A786DA2D943F method: POST - uri: https://search138d0eea.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchaa02178e.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search138d0eea.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC948D8BEDF0\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' + string: '{"@odata.context":"https://searchaa02178e.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D83F1CB6EA184D\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '590' + - '611' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:06 GMT + - Thu, 13 Aug 2020 00:06:23 GMT elapsed-time: - '50' etag: - - W/"0x8D7EC948D8BEDF0" + - W/"0x8D83F1CB6EA184D" expires: - '-1' location: - - https://search138d0eea.search.windows.net/skillsets('test-ss-2')?api-version=2020-06-30 + - https://searchaa02178e.search.windows.net/skillsets('test-ss-2')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -103,7 +103,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - a937a1d2-8a70-11ea-889b-8c8590507855 + - d2a043bc-dcf8-11ea-89c5-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -119,25 +119,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - B6B0828C8EC0450A923A37B8076FB654 + - E7EBBF4023BEEF982F05A786DA2D943F method: GET - uri: https://search138d0eea.search.windows.net/skillsets?api-version=2020-06-30 + uri: https://searchaa02178e.search.windows.net/skillsets?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search138d0eea.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7EC948D7A3762\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null},{"@odata.etag":"\"0x8D7EC948D8BEDF0\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' + string: '{"@odata.context":"https://searchaa02178e.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D83F1CB6CFFA9F\"","name":"test-ss-1","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null},{"@odata.etag":"\"0x8D83F1CB6EA184D\"","name":"test-ss-2","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null,"encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '1250' + - '1292' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:25:06 GMT + - Thu, 13 Aug 2020 00:06:23 GMT elapsed-time: - - '28' + - '46' expires: - '-1' odata-version: @@ -147,7 +147,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - a94595d0-8a70-11ea-889b-8c8590507855 + - d2b7b217-dcf8-11ea-8c11-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_synonym_map.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_or_update_synonym_map.yaml similarity index 66% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_synonym_map.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_or_update_synonym_map.yaml index 378f5d010a9e..c26daa89df81 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_synonym_map.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_or_update_synonym_map.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"name": "test-syn-map", "format": "solr", "synonyms": "USA, United States, - United States of America"}' + United States of America\nWashington, Wash. => WA"}' headers: Accept: - application/json;odata.metadata=minimal @@ -10,36 +10,36 @@ interactions: Connection: - keep-alive Content-Length: - - '102' + - '127' Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EC1F64A6D07AB016456D278C08E0D3A0 + - 6C52FFC27DF6016DE4A6EB7CC7D07D1A method: POST - uri: https://search2351151c.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search9ae91f0f.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search2351151c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC94379003F5\"","name":"test-syn-map","format":"solr","synonyms":"USA, - United States, United States of America","encryptionKey":null}' + string: '{"@odata.context":"https://search9ae91f0f.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADA15B4E48\"","name":"test-syn-map","format":"solr","synonyms":"USA, + United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '247' + - '272' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:42 GMT + - Thu, 13 Aug 2020 17:23:43 GMT elapsed-time: - - '91' + - '28' etag: - - W/"0x8D7EC94379003F5" + - W/"0x8D83FADA15B4E48" expires: - '-1' location: - - https://search2351151c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + - https://search9ae91f0f.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 5323a7fa-8a70-11ea-889b-8c8590507855 + - bd0a0509-dd89-11ea-8add-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,26 +63,26 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EC1F64A6D07AB016456D278C08E0D3A0 + - 6C52FFC27DF6016DE4A6EB7CC7D07D1A method: GET - uri: https://search2351151c.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search9ae91f0f.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search2351151c.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC94379003F5\"","name":"test-syn-map","format":"solr","synonyms":"USA, - United States, United States of America","encryptionKey":null}]}' + string: '{"@odata.context":"https://search9ae91f0f.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FADA15B4E48\"","name":"test-syn-map","format":"solr","synonyms":"USA, + United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: - no-cache content-length: - - '251' + - '276' content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:42 GMT + - Thu, 13 Aug 2020 17:23:43 GMT elapsed-time: - - '20' + - '12' expires: - '-1' odata-version: @@ -92,7 +92,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 534b4f1c-8a70-11ea-889b-8c8590507855 + - bd3d413d-dd89-11ea-9318-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -117,14 +117,14 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EC1F64A6D07AB016456D278C08E0D3A0 + - 6C52FFC27DF6016DE4A6EB7CC7D07D1A method: PUT - uri: https://search2351151c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search9ae91f0f.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search2351151c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC9437A3416B\"","name":"test-syn-map","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search9ae91f0f.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADA1780505\"","name":"test-syn-map","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -134,11 +134,11 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:42 GMT + - Thu, 13 Aug 2020 17:23:44 GMT elapsed-time: - - '25' + - '24' etag: - - W/"0x8D7EC9437A3416B" + - W/"0x8D83FADA1780505" expires: - '-1' odata-version: @@ -148,7 +148,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 5354ece8-8a70-11ea-889b-8c8590507855 + - bd4abc99-dd89-11ea-8232-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -166,14 +166,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EC1F64A6D07AB016456D278C08E0D3A0 + - 6C52FFC27DF6016DE4A6EB7CC7D07D1A method: GET - uri: https://search2351151c.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search9ae91f0f.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search2351151c.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC9437A3416B\"","name":"test-syn-map","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search9ae91f0f.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FADA1780505\"","name":"test-syn-map","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: @@ -183,9 +183,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:42 GMT + - Thu, 13 Aug 2020 17:23:44 GMT elapsed-time: - - '9' + - '13' expires: - '-1' odata-version: @@ -195,7 +195,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 535f2d20-8a70-11ea-889b-8c8590507855 + - bd59fe17-dd89-11ea-896e-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -213,14 +213,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - EC1F64A6D07AB016456D278C08E0D3A0 + - 6C52FFC27DF6016DE4A6EB7CC7D07D1A method: GET - uri: https://search2351151c.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search9ae91f0f.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search2351151c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC9437A3416B\"","name":"test-syn-map","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search9ae91f0f.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADA1780505\"","name":"test-syn-map","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -230,11 +230,11 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:42 GMT + - Thu, 13 Aug 2020 17:23:44 GMT elapsed-time: - - '7' + - '8' etag: - - W/"0x8D7EC9437A3416B" + - W/"0x8D83FADA1780505" expires: - '-1' odata-version: @@ -244,7 +244,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 53669bbe-8a70-11ea-889b-8c8590507855 + - bd676b89-dd89-11ea-8370-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_synonym_map_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_or_update_synonym_map_if_unchanged.yaml similarity index 68% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_synonym_map_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_or_update_synonym_map_if_unchanged.yaml index b3b5b144edd8..1618d103fddc 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_synonym_map_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_or_update_synonym_map_if_unchanged.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"name": "test-syn-map", "format": "solr", "synonyms": "USA, United States, - United States of America"}' + United States of America\nWashington, Wash. => WA"}' headers: Accept: - application/json;odata.metadata=minimal @@ -10,36 +10,36 @@ interactions: Connection: - keep-alive Content-Length: - - '102' + - '127' Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 46DF28A1622AC6557E74984EDD9A64E7 + - BF8551D202CEBE736AC18E8E6A97AB87 method: POST - uri: https://search5a551a56.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search53532449.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search5a551a56.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7ED71502253A0\"","name":"test-syn-map","format":"solr","synonyms":"USA, - United States, United States of America","encryptionKey":null}' + string: '{"@odata.context":"https://search53532449.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADBF0C7E4E\"","name":"test-syn-map","format":"solr","synonyms":"USA, + United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '247' + - '272' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:45:22 GMT + - Thu, 13 Aug 2020 17:24:33 GMT elapsed-time: - - '36' + - '43' etag: - - W/"0x8D7ED71502253A0" + - W/"0x8D83FADBF0C7E4E" expires: - '-1' location: - - https://search5a551a56.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + - https://search53532449.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 6bf83b14-8b4d-11ea-b062-2816a845e8c6 + - da6d6f5f-dd89-11ea-b8b0-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -70,14 +70,14 @@ interactions: Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 46DF28A1622AC6557E74984EDD9A64E7 + - BF8551D202CEBE736AC18E8E6A97AB87 method: PUT - uri: https://search5a551a56.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search53532449.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search5a551a56.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7ED715031236D\"","name":"test-syn-map","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search53532449.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FADBF34D092\"","name":"test-syn-map","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -87,11 +87,11 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:45:22 GMT + - Thu, 13 Aug 2020 17:24:33 GMT elapsed-time: - - '16' + - '39' etag: - - W/"0x8D7ED715031236D" + - W/"0x8D83FADBF34D092" expires: - '-1' odata-version: @@ -101,7 +101,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 6c3a94da-8b4d-11ea-be03-2816a845e8c6 + - daef1a86-dd89-11ea-af26-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -110,8 +110,8 @@ interactions: code: 200 message: OK - request: - body: '{"name": "test-syn-map", "format": "solr", "synonyms": "[''USA, United - States, United States of America'']", "@odata.etag": "\"0x8D7ED71502253A0\""}' + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "USA, United States, + United States of America\nWashington, Wash. => WA", "@odata.etag": "\"0x8D83FADBF0C7E4E\""}' headers: Accept: - application/json;odata.metadata=minimal @@ -120,19 +120,19 @@ interactions: Connection: - keep-alive Content-Length: - - '146' + - '167' Content-Type: - application/json If-Match: - - '"0x8D7ED71502253A0"' + - '"0x8D83FADBF0C7E4E"' Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 46DF28A1622AC6557E74984EDD9A64E7 + - BF8551D202CEBE736AC18E8E6A97AB87 method: PUT - uri: https://search5a551a56.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search53532449.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -148,9 +148,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:45:22 GMT + - Thu, 13 Aug 2020 17:24:33 GMT elapsed-time: - - '5' + - '8' expires: - '-1' odata-version: @@ -160,7 +160,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 6c4a90f6-8b4d-11ea-ac9a-2816a845e8c6 + - db171744-dd89-11ea-9574-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_synonym_map.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_synonym_map.yaml similarity index 70% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_synonym_map.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_synonym_map.yaml index 4a2283486527..de5bd951babd 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_synonym_map.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_create_synonym_map.yaml @@ -14,14 +14,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 5466BA2F17F7BB274AF2C6FCDA6EE518 + - F9116145A8C0CFCB8811782C87098135 method: POST - uri: https://search642c10fa.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search78461aed.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search642c10fa.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC943E5D3A13\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search78461aed.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAD337CB6A2\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -31,15 +31,15 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:54 GMT + - Thu, 13 Aug 2020 17:20:39 GMT elapsed-time: - - '92' + - '47' etag: - - W/"0x8D7EC943E5D3A13" + - W/"0x8D83FAD337CB6A2" expires: - '-1' location: - - https://search642c10fa.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + - https://search78461aed.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 59f6f550-8a70-11ea-889b-8c8590507855 + - 4f06a17e-dd89-11ea-acfe-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,14 +63,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 5466BA2F17F7BB274AF2C6FCDA6EE518 + - F9116145A8C0CFCB8811782C87098135 method: GET - uri: https://search642c10fa.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search78461aed.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search642c10fa.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC943E5D3A13\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search78461aed.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FAD337CB6A2\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: @@ -80,9 +80,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:22:54 GMT + - Thu, 13 Aug 2020 17:20:39 GMT elapsed-time: - - '159' + - '16' expires: - '-1' odata-version: @@ -92,7 +92,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 5a1b2e5c-8a70-11ea-889b-8c8590507855 + - 4f5f0a66-dd89-11ea-8af4-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_synonym_map.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_delete_synonym_map.yaml similarity index 69% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_synonym_map.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_delete_synonym_map.yaml index 1b4b8025864a..238ec6f191a5 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_synonym_map.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_delete_synonym_map.yaml @@ -14,14 +14,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 14E7C5E27E195E2E30A41D7A548E964C + - E4D2BC8104FC99E0D2BC961984493929 method: POST - uri: https://search640d10f9.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search78271aec.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search640d10f9.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC944ADA1B1D\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search78271aec.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAD43355D9F\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -31,15 +31,15 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:15 GMT + - Thu, 13 Aug 2020 17:21:06 GMT elapsed-time: - - '34' + - '103' etag: - - W/"0x8D7EC944ADA1B1D" + - W/"0x8D83FAD43355D9F" expires: - '-1' location: - - https://search640d10f9.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + - https://search78271aec.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 66795110-8a70-11ea-889b-8c8590507855 + - 5eb2a39e-dd89-11ea-b600-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,14 +63,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 14E7C5E27E195E2E30A41D7A548E964C + - E4D2BC8104FC99E0D2BC961984493929 method: GET - uri: https://search640d10f9.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search78271aec.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search640d10f9.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC944ADA1B1D\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search78271aec.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FAD43355D9F\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: @@ -80,9 +80,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:15 GMT + - Thu, 13 Aug 2020 17:21:06 GMT elapsed-time: - - '9' + - '28' expires: - '-1' odata-version: @@ -92,7 +92,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 66941716-8a70-11ea-889b-8c8590507855 + - 5f19e292-dd89-11ea-81cc-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -112,11 +112,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 14E7C5E27E195E2E30A41D7A548E964C + - E4D2BC8104FC99E0D2BC961984493929 method: DELETE - uri: https://search640d10f9.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search78271aec.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: string: '' @@ -124,15 +124,15 @@ interactions: cache-control: - no-cache date: - - Wed, 29 Apr 2020 23:23:15 GMT + - Thu, 13 Aug 2020 17:21:06 GMT elapsed-time: - - '15' + - '17' expires: - '-1' pragma: - no-cache request-id: - - 669b6606-8a70-11ea-889b-8c8590507855 + - 5f2bb9a9-dd89-11ea-9f64-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -148,14 +148,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 14E7C5E27E195E2E30A41D7A548E964C + - E4D2BC8104FC99E0D2BC961984493929 method: GET - uri: https://search640d10f9.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search78271aec.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search640d10f9.search.windows.net/$metadata#synonymmaps","value":[]}' + string: '{"@odata.context":"https://search78271aec.search.windows.net/$metadata#synonymmaps","value":[]}' headers: cache-control: - no-cache @@ -164,9 +164,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:15 GMT + - Thu, 13 Aug 2020 17:21:06 GMT elapsed-time: - - '4' + - '5' expires: - '-1' odata-version: @@ -176,7 +176,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 66a40cca-8a70-11ea-889b-8c8590507855 + - 5f3c61d9-dd89-11ea-9ae5-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_synonym_map_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_delete_synonym_map_if_unchanged.yaml similarity index 69% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_synonym_map_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_delete_synonym_map_if_unchanged.yaml index 298252573320..b8462a6f1d41 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_synonym_map_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_delete_synonym_map_if_unchanged.yaml @@ -14,14 +14,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3C7456D14A4C1D58E3B5C8338B829E8D + - 852CE01CC548F598A8B32E8756C5E4E1 method: POST - uri: https://search654a1633.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://searchfabb2026.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search654a1633.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7ED715978F503\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://searchfabb2026.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAD5C9AB9F6\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -31,15 +31,15 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:45:38 GMT + - Thu, 13 Aug 2020 17:21:48 GMT elapsed-time: - - '21' + - '49' etag: - - W/"0x8D7ED715978F503" + - W/"0x8D83FAD5C9AB9F6" expires: - '-1' location: - - https://search654a1633.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + - https://searchfabb2026.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,15 +47,15 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 754dfc4c-8b4d-11ea-abb2-2816a845e8c6 + - 7842114f-dd89-11ea-a681-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: code: 201 message: Created - request: - body: '{"name": "test-syn-map", "format": "solr", "synonyms": "Washington, Wash. - => WA"}' + body: '{"name": "test-syn-map", "format": "solr", "synonyms": "W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA"}' headers: Accept: - application/json;odata.metadata=minimal @@ -64,34 +64,34 @@ interactions: Connection: - keep-alive Content-Length: - - '81' + - '125' Content-Type: - application/json Prefer: - return=representation User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3C7456D14A4C1D58E3B5C8338B829E8D + - 852CE01CC548F598A8B32E8756C5E4E1 method: PUT - uri: https://search654a1633.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://searchfabb2026.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search654a1633.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7ED71598DB954\"","name":"test-syn-map","format":"solr","synonyms":"Washington, - Wash. => WA","encryptionKey":null}' + string: '{"@odata.context":"https://searchfabb2026.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAD5CAFCDB0\"","name":"test-syn-map","format":"solr","synonyms":"W\na\ns\nh\ni\nn\ng\nt\no\nn\n,\n + \nW\na\ns\nh\n.\n \n=\n>\n \nW\nA","encryptionKey":null}' headers: cache-control: - no-cache content-length: - - '226' + - '270' content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:45:38 GMT + - Thu, 13 Aug 2020 17:21:48 GMT elapsed-time: - - '23' + - '22' etag: - - W/"0x8D7ED71598DB954" + - W/"0x8D83FAD5CAFCDB0" expires: - '-1' odata-version: @@ -101,7 +101,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 75922b10-8b4d-11ea-b5a8-2816a845e8c6 + - 787d6163-dd89-11ea-8895-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -121,13 +121,13 @@ interactions: Content-Length: - '0' If-Match: - - '"0x8D7ED715978F503"' + - '"0x8D83FAD5C9AB9F6"' User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 3C7456D14A4C1D58E3B5C8338B829E8D + - 852CE01CC548F598A8B32E8756C5E4E1 method: DELETE - uri: https://search654a1633.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://searchfabb2026.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the @@ -143,9 +143,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Fri, 01 May 2020 01:45:38 GMT + - Thu, 13 Aug 2020 17:21:48 GMT elapsed-time: - - '4' + - '16' expires: - '-1' odata-version: @@ -155,7 +155,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 75a7793e-8b4d-11ea-9310-2816a845e8c6 + - 7892004f-dd89-11ea-8e4e-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_synonym_map.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_get_synonym_map.yaml similarity index 69% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_synonym_map.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_get_synonym_map.yaml index 68c3546bd748..fe86927ce971 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_synonym_map.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_get_synonym_map.yaml @@ -14,14 +14,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6778A373F35558F2511949D53BFE7365 + - 29C5A4303121A8463A635CEB4E544072 method: POST - uri: https://search33580fc6.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search299919b9.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search33580fc6.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC94518B5F89\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search299919b9.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAD81C81855\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -31,15 +31,15 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:26 GMT + - Thu, 13 Aug 2020 17:22:50 GMT elapsed-time: - - '59' + - '37' etag: - - W/"0x8D7EC94518B5F89" + - W/"0x8D83FAD81C81855" expires: - '-1' location: - - https://search33580fc6.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + - https://search299919b9.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 6d2a446a-8a70-11ea-889b-8c8590507855 + - 9d722ef9-dd89-11ea-80f2-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -63,14 +63,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6778A373F35558F2511949D53BFE7365 + - 29C5A4303121A8463A635CEB4E544072 method: GET - uri: https://search33580fc6.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search299919b9.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search33580fc6.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC94518B5F89\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search299919b9.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FAD81C81855\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: @@ -80,9 +80,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:26 GMT + - Thu, 13 Aug 2020 17:22:50 GMT elapsed-time: - - '114' + - '10' expires: - '-1' odata-version: @@ -92,7 +92,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 6d48cfd4-8a70-11ea-889b-8c8590507855 + - 9daa0011-dd89-11ea-b80f-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: @@ -110,14 +110,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - 6778A373F35558F2511949D53BFE7365 + - 29C5A4303121A8463A635CEB4E544072 method: GET - uri: https://search33580fc6.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 + uri: https://search299919b9.search.windows.net/synonymmaps('test-syn-map')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search33580fc6.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC94518B5F89\"","name":"test-syn-map","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search299919b9.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAD81C81855\"","name":"test-syn-map","format":"solr","synonyms":"USA, United States, United States of America\nWashington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -127,11 +127,11 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:26 GMT + - Thu, 13 Aug 2020 17:22:50 GMT elapsed-time: - - '6' + - '7' etag: - - W/"0x8D7EC94518B5F89" + - W/"0x8D83FAD81C81855" expires: - '-1' odata-version: @@ -141,7 +141,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 6d609484-8a70-11ea-889b-8c8590507855 + - 9db72e15-dd89-11ea-87bc-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_synonym_maps.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_get_synonym_maps.yaml similarity index 68% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_synonym_maps.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_get_synonym_maps.yaml index 696685d5fb0b..d39ca19f9342 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_synonym_maps.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_index_client_synonym_map_live.test_get_synonym_maps.yaml @@ -14,14 +14,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F38023663AA7831EE2B4F0FB244EF306 + - 1E4EEEC33B719054DF44A6D6FD84AEE8 method: POST - uri: https://search43911039.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search43c51a2c.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search43911039.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC9458B82C72\"","name":"test-syn-map-1","format":"solr","synonyms":"USA, + string: '{"@odata.context":"https://search43c51a2c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAD9174391B\"","name":"test-syn-map-1","format":"solr","synonyms":"USA, United States, United States of America","encryptionKey":null}' headers: cache-control: @@ -31,15 +31,15 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:38 GMT + - Thu, 13 Aug 2020 17:23:17 GMT elapsed-time: - - '52' + - '108' etag: - - W/"0x8D7EC9458B82C72" + - W/"0x8D83FAD9174391B" expires: - '-1' location: - - https://search43911039.search.windows.net/synonymmaps('test-syn-map-1')?api-version=2020-06-30 + - https://search43c51a2c.search.windows.net/synonymmaps('test-syn-map-1')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -47,7 +47,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 744fc42c-8a70-11ea-889b-8c8590507855 + - acecc82c-dd89-11ea-942e-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -68,14 +68,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F38023663AA7831EE2B4F0FB244EF306 + - 1E4EEEC33B719054DF44A6D6FD84AEE8 method: POST - uri: https://search43911039.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search43c51a2c.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search43911039.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D7EC9458C32AF7\"","name":"test-syn-map-2","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search43c51a2c.search.windows.net/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D83FAD918ECC6F\"","name":"test-syn-map-2","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}' headers: cache-control: @@ -85,15 +85,15 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:38 GMT + - Thu, 13 Aug 2020 17:23:17 GMT elapsed-time: - - '29' + - '26' etag: - - W/"0x8D7EC9458C32AF7" + - W/"0x8D83FAD918ECC6F" expires: - '-1' location: - - https://search43911039.search.windows.net/synonymmaps('test-syn-map-2')?api-version=2020-06-30 + - https://search43c51a2c.search.windows.net/synonymmaps('test-syn-map-2')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -101,7 +101,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 7471f916-8a70-11ea-889b-8c8590507855 + - ad5871fd-dd89-11ea-8d3d-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains status: @@ -117,15 +117,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.19041-SP0) api-key: - - F38023663AA7831EE2B4F0FB244EF306 + - 1E4EEEC33B719054DF44A6D6FD84AEE8 method: GET - uri: https://search43911039.search.windows.net/synonymmaps?api-version=2020-06-30 + uri: https://search43c51a2c.search.windows.net/synonymmaps?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search43911039.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D7EC9458B82C72\"","name":"test-syn-map-1","format":"solr","synonyms":"USA, - United States, United States of America","encryptionKey":null},{"@odata.etag":"\"0x8D7EC9458C32AF7\"","name":"test-syn-map-2","format":"solr","synonyms":"Washington, + string: '{"@odata.context":"https://search43c51a2c.search.windows.net/$metadata#synonymmaps","value":[{"@odata.etag":"\"0x8D83FAD9174391B\"","name":"test-syn-map-1","format":"solr","synonyms":"USA, + United States, United States of America","encryptionKey":null},{"@odata.etag":"\"0x8D83FAD918ECC6F\"","name":"test-syn-map-2","format":"solr","synonyms":"Washington, Wash. => WA","encryptionKey":null}]}' headers: cache-control: @@ -135,9 +135,9 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 29 Apr 2020 23:23:38 GMT + - Thu, 13 Aug 2020 17:23:17 GMT elapsed-time: - - '14' + - '86' expires: - '-1' odata-version: @@ -147,7 +147,7 @@ interactions: preference-applied: - odata.include-annotations="*" request-id: - - 747cf122-8a70-11ea-889b-8c8590507855 + - ad70f5e0-dd89-11ea-8972-5cf37071153c strict-transport-security: - max-age=15724800; includeSubDomains vary: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_indexer.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_indexer.yaml similarity index 85% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_indexer.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_indexer.yaml index 8b7d7eee7caf..3fc1abb654c1 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_indexer.yaml @@ -14,14 +14,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 77C02FA230F2A765BD5521B74DD1F4A6 method: POST - uri: https://search21dc0f2f.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search207914e0.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21dc0f2f.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED510D525790\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search207914e0.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED510D525790\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://search21dc0f2f.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search207914e0.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -67,14 +67,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 77C02FA230F2A765BD5521B74DD1F4A6 method: POST - uri: https://search21dc0f2f.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search207914e0.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21dc0f2f.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED510E3391AF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search207914e0.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED510E3391AF\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://search21dc0f2f.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://search207914e0.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -120,14 +120,14 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-search-documents/11.1.0b2 Python/3.8.5 (Windows-10-10.0.17763-SP0) api-key: - 77C02FA230F2A765BD5521B74DD1F4A6 method: POST - uri: https://search21dc0f2f.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search207914e0.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21dc0f2f.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED510EA2BB62\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search207914e0.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED510EA2BB62\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://search21dc0f2f.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://search207914e0.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexer.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_or_update_indexer.yaml similarity index 68% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexer.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_or_update_indexer.yaml index 6b55bf9022ff..be8e9e0fcaac 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_or_update_indexer.yaml @@ -18,10 +18,10 @@ interactions: api-key: - 611B37AA724F1C68730D7CF6A8C3A842 method: POST - uri: https://searchd06a1351.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search8001902.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd06a1351.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5117F9A6D3\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search8001902.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5117F9A6D3\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://searchd06a1351.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search8001902.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - 611B37AA724F1C68730D7CF6A8C3A842 method: POST - uri: https://searchd06a1351.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search8001902.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd06a1351.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED511891E3D4\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search8001902.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED511891E3D4\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://searchd06a1351.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://search8001902.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - 611B37AA724F1C68730D7CF6A8C3A842 method: POST - uri: https://searchd06a1351.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search8001902.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd06a1351.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5118EC7055\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search8001902.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5118EC7055\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://searchd06a1351.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://search8001902.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -172,10 +172,10 @@ interactions: api-key: - 611B37AA724F1C68730D7CF6A8C3A842 method: GET - uri: https://searchd06a1351.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search8001902.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd06a1351.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5118EC7055\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://search8001902.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5118EC7055\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: - no-cache @@ -225,10 +225,10 @@ interactions: api-key: - 611B37AA724F1C68730D7CF6A8C3A842 method: PUT - uri: https://searchd06a1351.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search8001902.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd06a1351.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED511931C355\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search8001902.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED511931C355\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -273,10 +273,10 @@ interactions: api-key: - 611B37AA724F1C68730D7CF6A8C3A842 method: GET - uri: https://searchd06a1351.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search8001902.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd06a1351.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED511931C355\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://search8001902.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED511931C355\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: - no-cache @@ -319,10 +319,10 @@ interactions: api-key: - 611B37AA724F1C68730D7CF6A8C3A842 method: GET - uri: https://searchd06a1351.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search8001902.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchd06a1351.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED511931C355\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search8001902.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED511931C355\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexer_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_or_update_indexer_if_unchanged.yaml similarity index 91% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexer_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_or_update_indexer_if_unchanged.yaml index 62ff90a85bdc..834bdb04e118 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_indexer_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_create_or_update_indexer_if_unchanged.yaml @@ -18,10 +18,10 @@ interactions: api-key: - 7966DDD092384BAD2A12CDC8418DF7D1 method: POST - uri: https://searchf01f188b.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search71b21e3c.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf01f188b.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE17B51C89C5\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search71b21e3c.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE17B51C89C5\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://searchf01f188b.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search71b21e3c.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - 7966DDD092384BAD2A12CDC8418DF7D1 method: POST - uri: https://searchf01f188b.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search71b21e3c.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf01f188b.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EE17B5D72DF6\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search71b21e3c.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EE17B5D72DF6\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://searchf01f188b.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://search71b21e3c.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - 7966DDD092384BAD2A12CDC8418DF7D1 method: POST - uri: https://searchf01f188b.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search71b21e3c.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf01f188b.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17B61DBE45\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search71b21e3c.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17B61DBE45\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://searchf01f188b.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://search71b21e3c.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -179,10 +179,10 @@ interactions: api-key: - 7966DDD092384BAD2A12CDC8418DF7D1 method: PUT - uri: https://searchf01f188b.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search71b21e3c.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf01f188b.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17B646D43E\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search71b21e3c.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17B646D43E\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -237,7 +237,7 @@ interactions: api-key: - 7966DDD092384BAD2A12CDC8418DF7D1 method: PUT - uri: https://searchf01f188b.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search71b21e3c.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexer.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_delete_indexer.yaml similarity index 90% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexer.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_delete_indexer.yaml index 3417b5aa6198..f2f37ca18688 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_delete_indexer.yaml @@ -18,10 +18,10 @@ interactions: api-key: - 9E6C3CF9019ACCA2B66CCE69981C8123 method: POST - uri: https://search21c10f2e.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search205e14df.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21c10f2e.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5125E3C05D\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search205e14df.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5125E3C05D\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://search21c10f2e.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search205e14df.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - 9E6C3CF9019ACCA2B66CCE69981C8123 method: POST - uri: https://search21c10f2e.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search205e14df.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21c10f2e.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5126BDF45D\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search205e14df.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5126BDF45D\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://search21c10f2e.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://search205e14df.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - 9E6C3CF9019ACCA2B66CCE69981C8123 method: POST - uri: https://search21c10f2e.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search205e14df.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21c10f2e.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5127191D3F\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search205e14df.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5127191D3F\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://search21c10f2e.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://search205e14df.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -172,10 +172,10 @@ interactions: api-key: - 9E6C3CF9019ACCA2B66CCE69981C8123 method: GET - uri: https://search21c10f2e.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search205e14df.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21c10f2e.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5127191D3F\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://search205e14df.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5127191D3F\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: - no-cache @@ -220,7 +220,7 @@ interactions: api-key: - 9E6C3CF9019ACCA2B66CCE69981C8123 method: DELETE - uri: https://search21c10f2e.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search205e14df.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: string: '' @@ -256,10 +256,10 @@ interactions: api-key: - 9E6C3CF9019ACCA2B66CCE69981C8123 method: GET - uri: https://search21c10f2e.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search205e14df.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search21c10f2e.search.windows.net/$metadata#indexers","value":[]}' + string: '{"@odata.context":"https://search205e14df.search.windows.net/$metadata#indexers","value":[]}' headers: cache-control: - no-cache diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexer_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_delete_indexer_if_unchanged.yaml similarity index 72% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexer_if_unchanged.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_delete_indexer_if_unchanged.yaml index b7c19d082a8e..5dc7f936a81d 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexer_if_unchanged.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_delete_indexer_if_unchanged.yaml @@ -18,10 +18,10 @@ interactions: api-key: - E3F54485B0A3180E091774FCC0413692 method: POST - uri: https://searchbaf1468.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search54491a19.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchbaf1468.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE17BEFA29F2\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search54491a19.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7EE17BEFA29F2\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://searchbaf1468.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search54491a19.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - E3F54485B0A3180E091774FCC0413692 method: POST - uri: https://searchbaf1468.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search54491a19.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchbaf1468.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EE17BF71C167\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search54491a19.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EE17BF71C167\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://searchbaf1468.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://search54491a19.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - E3F54485B0A3180E091774FCC0413692 method: POST - uri: https://searchbaf1468.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search54491a19.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchbaf1468.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17BFE1B5D9\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search54491a19.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17BFE1B5D9\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://searchbaf1468.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://search54491a19.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -179,10 +179,10 @@ interactions: api-key: - E3F54485B0A3180E091774FCC0413692 method: PUT - uri: https://searchbaf1468.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search54491a19.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchbaf1468.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17C015077F\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search54491a19.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7EE17C015077F\"","name":"sample-indexer","description":"updated","dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -231,7 +231,7 @@ interactions: api-key: - E3F54485B0A3180E091774FCC0413692 method: DELETE - uri: https://searchbaf1468.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://search54491a19.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: string: '{"error":{"code":"","message":"The precondition given in one of the diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_indexer.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_get_indexer.yaml similarity index 90% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_indexer.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_get_indexer.yaml index 87df466b6794..d770999174bb 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_get_indexer.yaml @@ -18,10 +18,10 @@ interactions: api-key: - EF6DF05F92A8948F94DCE2B89C2D1E9C method: POST - uri: https://searchf5c90dfb.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searche35313ac.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf5c90dfb.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5130775CFC\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searche35313ac.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5130775CFC\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://searchf5c90dfb.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://searche35313ac.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - EF6DF05F92A8948F94DCE2B89C2D1E9C method: POST - uri: https://searchf5c90dfb.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searche35313ac.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf5c90dfb.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED51313C576E\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searche35313ac.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED51313C576E\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://searchf5c90dfb.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://searche35313ac.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - EF6DF05F92A8948F94DCE2B89C2D1E9C method: POST - uri: https://searchf5c90dfb.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searche35313ac.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf5c90dfb.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5131BBB0C0\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searche35313ac.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5131BBB0C0\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://searchf5c90dfb.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://searche35313ac.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -172,10 +172,10 @@ interactions: api-key: - EF6DF05F92A8948F94DCE2B89C2D1E9C method: GET - uri: https://searchf5c90dfb.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + uri: https://searche35313ac.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf5c90dfb.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5131BBB0C0\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searche35313ac.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5131BBB0C0\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_indexer_status.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_get_indexer_status.yaml similarity index 90% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_indexer_status.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_get_indexer_status.yaml index 2b2236927f69..2d6411ef8b31 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_indexer_status.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_get_indexer_status.yaml @@ -18,10 +18,10 @@ interactions: api-key: - 58F301B68D82458CCAFF56AF190D90E9 method: POST - uri: https://search638110fe.search.windows.net/datasources?api-version=2020-06-30 + uri: https://search78e216af.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search638110fe.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED513BD34FD0\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://search78e216af.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED513BD34FD0\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://search638110fe.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://search78e216af.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - 58F301B68D82458CCAFF56AF190D90E9 method: POST - uri: https://search638110fe.search.windows.net/indexes?api-version=2020-06-30 + uri: https://search78e216af.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search638110fe.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED513C63EA4A\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://search78e216af.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED513C63EA4A\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://search638110fe.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://search78e216af.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - 58F301B68D82458CCAFF56AF190D90E9 method: POST - uri: https://search638110fe.search.windows.net/indexers?api-version=2020-06-30 + uri: https://search78e216af.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search638110fe.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED513CD9A4E5\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://search78e216af.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED513CD9A4E5\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://search638110fe.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://search78e216af.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -172,10 +172,10 @@ interactions: api-key: - 58F301B68D82458CCAFF56AF190D90E9 method: GET - uri: https://search638110fe.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 + uri: https://search78e216af.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search638110fe.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":null,"executionHistory":[],"limits":{"maxRunTime":"PT0S","maxDocumentExtractionSize":0,"maxDocumentContentCharactersToExtract":0}}' + string: '{"@odata.context":"https://search78e216af.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":null,"executionHistory":[],"limits":{"maxRunTime":"PT0S","maxDocumentExtractionSize":0,"maxDocumentContentCharactersToExtract":0}}' headers: cache-control: - no-cache diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexer.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_list_indexer.yaml similarity index 66% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexer.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_list_indexer.yaml index 58b99fddae0d..4800b09b1313 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_list_indexer.yaml @@ -18,10 +18,10 @@ interactions: api-key: - FAD6BE165A2964FC68B2409CBD3188D3 method: POST - uri: https://search4f70e77.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchf8231428.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4f70e77.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5146AB7BFE\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchf8231428.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5146AB7BFE\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://search4f70e77.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://searchf8231428.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - FAD6BE165A2964FC68B2409CBD3188D3 method: POST - uri: https://search4f70e77.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searchf8231428.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4f70e77.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5147408421\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchf8231428.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5147408421\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://search4f70e77.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://searchf8231428.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - FAD6BE165A2964FC68B2409CBD3188D3 method: POST - uri: https://search4f70e77.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchf8231428.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4f70e77.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED514792D1C2\"","name":"another-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchf8231428.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED514792D1C2\"","name":"another-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://search4f70e77.search.windows.net/datasources('another-datasource')?api-version=2020-06-30 + - https://searchf8231428.search.windows.net/datasources('another-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -177,10 +177,10 @@ interactions: api-key: - FAD6BE165A2964FC68B2409CBD3188D3 method: POST - uri: https://search4f70e77.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searchf8231428.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4f70e77.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED51484C7F82\"","name":"another-index","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchf8231428.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED51484C7F82\"","name":"another-index","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -197,7 +197,7 @@ interactions: expires: - '-1' location: - - https://search4f70e77.search.windows.net/indexes('another-index')?api-version=2020-06-30 + - https://searchf8231428.search.windows.net/indexes('another-index')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -230,10 +230,10 @@ interactions: api-key: - FAD6BE165A2964FC68B2409CBD3188D3 method: POST - uri: https://search4f70e77.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searchf8231428.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4f70e77.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED51489A5F94\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searchf8231428.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED51489A5F94\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -250,7 +250,7 @@ interactions: expires: - '-1' location: - - https://search4f70e77.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://searchf8231428.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -283,10 +283,10 @@ interactions: api-key: - FAD6BE165A2964FC68B2409CBD3188D3 method: POST - uri: https://search4f70e77.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searchf8231428.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4f70e77.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5148C94048\"","name":"another-indexer","description":null,"dataSourceName":"another-datasource","skillsetName":null,"targetIndexName":"another-index","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searchf8231428.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5148C94048\"","name":"another-indexer","description":null,"dataSourceName":"another-datasource","skillsetName":null,"targetIndexName":"another-index","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -303,7 +303,7 @@ interactions: expires: - '-1' location: - - https://search4f70e77.search.windows.net/indexers('another-indexer')?api-version=2020-06-30 + - https://searchf8231428.search.windows.net/indexers('another-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -331,10 +331,10 @@ interactions: api-key: - FAD6BE165A2964FC68B2409CBD3188D3 method: GET - uri: https://search4f70e77.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searchf8231428.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search4f70e77.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5148C94048\"","name":"another-indexer","description":null,"dataSourceName":"another-datasource","skillsetName":null,"targetIndexName":"another-index","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null},{"@odata.etag":"\"0x8D7ED51489A5F94\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://searchf8231428.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5148C94048\"","name":"another-indexer","description":null,"dataSourceName":"another-datasource","skillsetName":null,"targetIndexName":"another-index","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null},{"@odata.etag":"\"0x8D7ED51489A5F94\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: - no-cache diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_reset_indexer.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_reset_indexer.yaml similarity index 66% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_reset_indexer.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_reset_indexer.yaml index efe4cc0736bd..d28d4b9d7030 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_reset_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_reset_indexer.yaml @@ -18,10 +18,10 @@ interactions: api-key: - 7F271F32C4D5BFC55396C3FF580E49E7 method: POST - uri: https://search13bc0ede.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searchca8148f.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search13bc0ede.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED51B1466EFF\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searchca8148f.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED51B1466EFF\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://search13bc0ede.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://searchca8148f.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - 7F271F32C4D5BFC55396C3FF580E49E7 method: POST - uri: https://search13bc0ede.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searchca8148f.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search13bc0ede.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED51B2085B9F\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searchca8148f.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED51B2085B9F\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://search13bc0ede.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://searchca8148f.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - 7F271F32C4D5BFC55396C3FF580E49E7 method: POST - uri: https://search13bc0ede.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searchca8148f.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search13bc0ede.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED51B275D75A\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searchca8148f.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED51B275D75A\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://search13bc0ede.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://searchca8148f.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -172,10 +172,10 @@ interactions: api-key: - 7F271F32C4D5BFC55396C3FF580E49E7 method: GET - uri: https://search13bc0ede.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searchca8148f.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search13bc0ede.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED51B275D75A\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://searchca8148f.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED51B275D75A\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: - no-cache @@ -220,7 +220,7 @@ interactions: api-key: - 7F271F32C4D5BFC55396C3FF580E49E7 method: POST - uri: https://search13bc0ede.search.windows.net/indexers('sample-indexer')/search.reset?api-version=2020-06-30 + uri: https://searchca8148f.search.windows.net/indexers('sample-indexer')/search.reset?api-version=2020-06-30 response: body: string: '' @@ -256,10 +256,10 @@ interactions: api-key: - 7F271F32C4D5BFC55396C3FF580E49E7 method: GET - uri: https://search13bc0ede.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 + uri: https://searchca8148f.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://search13bc0ede.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":{"status":"reset","errorMessage":null,"startTime":"2020-04-30T21:59:04.132Z","endTime":"2020-04-30T21:59:04.132Z","itemsProcessed":0,"itemsFailed":0,"initialTrackingState":null,"finalTrackingState":null,"errors":[],"warnings":[],"metrics":null},"executionHistory":[{"status":"reset","errorMessage":null,"startTime":"2020-04-30T21:59:04.132Z","endTime":"2020-04-30T21:59:04.132Z","itemsProcessed":0,"itemsFailed":0,"initialTrackingState":null,"finalTrackingState":null,"errors":[],"warnings":[],"metrics":null}],"limits":null}' + string: '{"@odata.context":"https://searchca8148f.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":{"status":"reset","errorMessage":null,"startTime":"2020-04-30T21:59:04.132Z","endTime":"2020-04-30T21:59:04.132Z","itemsProcessed":0,"itemsFailed":0,"initialTrackingState":null,"finalTrackingState":null,"errors":[],"warnings":[],"metrics":null},"executionHistory":[{"status":"reset","errorMessage":null,"startTime":"2020-04-30T21:59:04.132Z","endTime":"2020-04-30T21:59:04.132Z","itemsProcessed":0,"itemsFailed":0,"initialTrackingState":null,"finalTrackingState":null,"errors":[],"warnings":[],"metrics":null}],"limits":null}' headers: cache-control: - no-cache diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_run_indexer.yaml b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_run_indexer.yaml similarity index 90% rename from sdk/search/azure-search-documents/tests/recordings/test_service_live.test_run_indexer.yaml rename to sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_run_indexer.yaml index 21529220b0d4..d4ef13187476 100644 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_run_indexer.yaml +++ b/sdk/search/azure-search-documents/tests/recordings/test_search_indexer_client_live.test_run_indexer.yaml @@ -18,10 +18,10 @@ interactions: api-key: - 46F2314D8E0FDB67E7AB8379484C7D80 method: POST - uri: https://searchf6ac0e10.search.windows.net/datasources?api-version=2020-06-30 + uri: https://searche43613c1.search.windows.net/datasources?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf6ac0e10.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5160A7FF06\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' + string: '{"@odata.context":"https://searche43613c1.search.windows.net/$metadata#datasources/$entity","@odata.etag":"\"0x8D7ED5160A7FF06\"","name":"sample-datasource","description":null,"type":"azureblob","subtype":null,"credentials":{"connectionString":null},"container":{"name":"searchcontainer","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null}' headers: cache-control: - no-cache @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://searchf6ac0e10.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 + - https://searche43613c1.search.windows.net/datasources('sample-datasource')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -71,10 +71,10 @@ interactions: api-key: - 46F2314D8E0FDB67E7AB8379484C7D80 method: POST - uri: https://searchf6ac0e10.search.windows.net/indexes?api-version=2020-06-30 + uri: https://searche43613c1.search.windows.net/indexes?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf6ac0e10.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5162298E08\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' + string: '{"@odata.context":"https://searche43613c1.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED5162298E08\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' headers: cache-control: - no-cache @@ -91,7 +91,7 @@ interactions: expires: - '-1' location: - - https://searchf6ac0e10.search.windows.net/indexes('hotels')?api-version=2020-06-30 + - https://searche43613c1.search.windows.net/indexes('hotels')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -124,10 +124,10 @@ interactions: api-key: - 46F2314D8E0FDB67E7AB8379484C7D80 method: POST - uri: https://searchf6ac0e10.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searche43613c1.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf6ac0e10.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5162765C60\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' + string: '{"@odata.context":"https://searche43613c1.search.windows.net/$metadata#indexers/$entity","@odata.etag":"\"0x8D7ED5162765C60\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}' headers: cache-control: - no-cache @@ -144,7 +144,7 @@ interactions: expires: - '-1' location: - - https://searchf6ac0e10.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 + - https://searche43613c1.search.windows.net/indexers('sample-indexer')?api-version=2020-06-30 odata-version: - '4.0' pragma: @@ -172,10 +172,10 @@ interactions: api-key: - 46F2314D8E0FDB67E7AB8379484C7D80 method: GET - uri: https://searchf6ac0e10.search.windows.net/indexers?api-version=2020-06-30 + uri: https://searche43613c1.search.windows.net/indexers?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf6ac0e10.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5162765C60\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' + string: '{"@odata.context":"https://searche43613c1.search.windows.net/$metadata#indexers","value":[{"@odata.etag":"\"0x8D7ED5162765C60\"","name":"sample-indexer","description":null,"dataSourceName":"sample-datasource","skillsetName":null,"targetIndexName":"hotels","disabled":false,"schedule":null,"parameters":null,"fieldMappings":[],"outputFieldMappings":[],"cache":null}]}' headers: cache-control: - no-cache @@ -220,7 +220,7 @@ interactions: api-key: - 46F2314D8E0FDB67E7AB8379484C7D80 method: POST - uri: https://searchf6ac0e10.search.windows.net/indexers('sample-indexer')/search.run?api-version=2020-06-30 + uri: https://searche43613c1.search.windows.net/indexers('sample-indexer')/search.run?api-version=2020-06-30 response: body: string: '' @@ -258,10 +258,10 @@ interactions: api-key: - 46F2314D8E0FDB67E7AB8379484C7D80 method: GET - uri: https://searchf6ac0e10.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 + uri: https://searche43613c1.search.windows.net/indexers('sample-indexer')/search.status?api-version=2020-06-30 response: body: - string: '{"@odata.context":"https://searchf6ac0e10.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":null,"executionHistory":[],"limits":{"maxRunTime":"PT0S","maxDocumentExtractionSize":0,"maxDocumentContentCharactersToExtract":0}}' + string: '{"@odata.context":"https://searche43613c1.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.IndexerExecutionInfo","name":"sample-indexer","status":"running","lastResult":null,"executionHistory":[],"limits":{"maxRunTime":"PT0S","maxDocumentExtractionSize":0,"maxDocumentContentCharactersToExtract":0}}' headers: cache-control: - no-cache diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_index.yaml b/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_index.yaml deleted file mode 100644 index 7ccda4c66d25..000000000000 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_index.yaml +++ /dev/null @@ -1,57 +0,0 @@ -interactions: -- request: - body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [{"name": "MyProfile"}], "corsOptions": {"allowedOrigins": - ["*"], "maxAgeInSeconds": 60}}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '260' - Content-Type: - - application/json - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - 1C166A5AB3A98880F52DC59909AC7CD1 - method: POST - uri: https://search3f00e58.search.windows.net/indexes?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search3f00e58.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EC94044D5005\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' - headers: - cache-control: - - no-cache - content-length: - - '889' - content-type: - - application/json; odata.metadata=minimal - date: - - Wed, 29 Apr 2020 23:21:16 GMT - elapsed-time: - - '1126' - etag: - - W/"0x8D7EC94044D5005" - expires: - - '-1' - location: - - https://search3f00e58.search.windows.net/indexes('hotels')?api-version=2020-06-30 - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 1f504398-8a70-11ea-889b-8c8590507855 - strict-transport-security: - - max-age=15724800; includeSubDomains - status: - code: 201 - message: Created -version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_index.yaml b/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_index.yaml deleted file mode 100644 index 794b4a528f64..000000000000 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_index.yaml +++ /dev/null @@ -1,116 +0,0 @@ -interactions: -- request: - body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [], "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": - 60}}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '239' - Content-Type: - - application/json - Prefer: - - return=representation - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - C02F3671BBF7211EEE91673DC882584B - method: PUT - uri: https://searchaa3a127a.search.windows.net/indexes('hotels')?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searchaa3a127a.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EC940BA55393\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' - headers: - cache-control: - - no-cache - content-length: - - '816' - content-type: - - application/json; odata.metadata=minimal - date: - - Wed, 29 Apr 2020 23:21:28 GMT - elapsed-time: - - '535' - etag: - - W/"0x8D7EC940BA55393" - expires: - - '-1' - location: - - https://searchaa3a127a.search.windows.net/indexes('hotels')?api-version=2020-06-30 - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 26fdbe86-8a70-11ea-889b-8c8590507855 - strict-transport-security: - - max-age=15724800; includeSubDomains - status: - code: 201 - message: Created -- request: - body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [{"name": "MyProfile"}], "corsOptions": {"allowedOrigins": - ["*"], "maxAgeInSeconds": 60}}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '260' - Content-Type: - - application/json - Prefer: - - return=representation - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - C02F3671BBF7211EEE91673DC882584B - method: PUT - uri: https://searchaa3a127a.search.windows.net/indexes('hotels')?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searchaa3a127a.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7EC940BEEC61E\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' - headers: - cache-control: - - no-cache - content-length: - - '890' - content-type: - - application/json; odata.metadata=minimal - date: - - Wed, 29 Apr 2020 23:21:28 GMT - elapsed-time: - - '329' - etag: - - W/"0x8D7EC940BEEC61E" - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 27799c54-8a70-11ea-889b-8c8590507855 - strict-transport-security: - - max-age=15724800; includeSubDomains - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset_if_unchanged.yaml deleted file mode 100644 index a6e702cf0d47..000000000000 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_create_or_update_skillset_if_unchanged.yaml +++ /dev/null @@ -1,221 +0,0 @@ -interactions: -- request: - body: '{"name": "test-ss", "description": "desc1", "skills": [{"@odata.type": - "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", - "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": - "organizations"}]}]}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '253' - Content-Type: - - application/json - Prefer: - - return=representation - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) - api-key: - - 898AD7814EFB81496ACE7ECB4B684BFD - method: PUT - uri: https://searcha9b1907.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searcha9b1907.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7ED716321E476\"","name":"test-ss","description":"desc1","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' - headers: - cache-control: - - no-cache - content-length: - - '587' - content-type: - - application/json; odata.metadata=minimal - date: - - Fri, 01 May 2020 01:45:54 GMT - elapsed-time: - - '162' - etag: - - W/"0x8D7ED716321E476" - expires: - - '-1' - location: - - https://searcha9b1907.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 7ef51806-8b4d-11ea-875d-2816a845e8c6 - strict-transport-security: - - max-age=15724800; includeSubDomains - status: - code: 201 - message: Created -- request: - body: '{"name": "test-ss", "description": "desc2", "skills": [{"@odata.type": - "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", - "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": - "organizations"}]}], "@odata.etag": "\"0x8D7ED716321E476\""}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '293' - Content-Type: - - application/json - Prefer: - - return=representation - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) - api-key: - - 898AD7814EFB81496ACE7ECB4B684BFD - method: PUT - uri: https://searcha9b1907.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searcha9b1907.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7ED716345788B\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' - headers: - cache-control: - - no-cache - content-length: - - '587' - content-type: - - application/json; odata.metadata=minimal - date: - - Fri, 01 May 2020 01:45:54 GMT - elapsed-time: - - '41' - etag: - - W/"0x8D7ED716345788B" - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 7f45c05a-8b4d-11ea-84d4-2816a845e8c6 - strict-transport-security: - - max-age=15724800; includeSubDomains - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) - api-key: - - 898AD7814EFB81496ACE7ECB4B684BFD - method: GET - uri: https://searcha9b1907.search.windows.net/skillsets?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searcha9b1907.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7ED716345788B\"","name":"test-ss","description":"desc2","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' - headers: - cache-control: - - no-cache - content-length: - - '668' - content-type: - - application/json; odata.metadata=minimal - date: - - Fri, 01 May 2020 01:45:54 GMT - elapsed-time: - - '57' - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 7f60123a-8b4d-11ea-9805-2816a845e8c6 - strict-transport-security: - - max-age=15724800; includeSubDomains - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: '{"name": "test-ss", "description": "desc1", "skills": [{"@odata.type": - "#Microsoft.Skills.Text.EntityRecognitionSkill", "inputs": [{"name": "text", - "source": "/document/content"}], "outputs": [{"name": "organizations", "targetName": - "organizations"}]}], "@odata.etag": "\"0x8D7ED716321E476\""}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '293' - Content-Type: - - application/json - If-Match: - - '"0x8D7ED716321E476"' - Prefer: - - return=representation - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) - api-key: - - 898AD7814EFB81496ACE7ECB4B684BFD - method: PUT - uri: https://searcha9b1907.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - response: - body: - string: '{"error":{"code":"","message":"The precondition given in one of the - request headers evaluated to false. No change was made to the resource from - this request."}}' - headers: - cache-control: - - no-cache - content-language: - - en - content-length: - - '160' - content-type: - - application/json; odata.metadata=minimal - date: - - Fri, 01 May 2020 01:45:54 GMT - elapsed-time: - - '10' - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 7f7d2740-8b4d-11ea-9321-2816a845e8c6 - strict-transport-security: - - max-age=15724800; includeSubDomains - status: - code: 412 - message: Precondition Failed -version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexes_if_unchanged.yaml b/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexes_if_unchanged.yaml deleted file mode 100644 index 82f7363da976..000000000000 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_delete_indexes_if_unchanged.yaml +++ /dev/null @@ -1,166 +0,0 @@ -interactions: -- request: - body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [{"name": "MyProfile"}], "corsOptions": {"allowedOrigins": - ["*"], "maxAgeInSeconds": 60}}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '260' - Content-Type: - - application/json - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) - api-key: - - 0ABC8B358D4D85386822B456F8767860 - method: POST - uri: https://searchbbd1469.search.windows.net/indexes?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searchbbd1469.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED714678528F\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[{"name":"MyProfile","functionAggregation":null,"text":null,"functions":[]}],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' - headers: - cache-control: - - no-cache - content-length: - - '889' - content-type: - - application/json; odata.metadata=minimal - date: - - Fri, 01 May 2020 01:45:06 GMT - elapsed-time: - - '627' - etag: - - W/"0x8D7ED714678528F" - expires: - - '-1' - location: - - https://searchbbd1469.search.windows.net/indexes('hotels')?api-version=2020-06-30 - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 61fbe900-8b4d-11ea-aac9-2816a845e8c6 - strict-transport-security: - - max-age=15724800; includeSubDomains - status: - code: 201 - message: Created -- request: - body: '{"name": "hotels", "fields": [{"name": "hotelId", "type": "Edm.String", - "key": true, "searchable": false}, {"name": "baseRate", "type": "Edm.Double"}], - "scoringProfiles": [], "corsOptions": {"allowedOrigins": ["*"], "maxAgeInSeconds": - 60}}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '239' - Content-Type: - - application/json - Prefer: - - return=representation - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) - api-key: - - 0ABC8B358D4D85386822B456F8767860 - method: PUT - uri: https://searchbbd1469.search.windows.net/indexes('hotels')?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searchbbd1469.search.windows.net/$metadata#indexes/$entity","@odata.etag":"\"0x8D7ED714695F21D\"","name":"hotels","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":{"allowedOrigins":["*"],"maxAgeInSeconds":60},"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}' - headers: - cache-control: - - no-cache - content-length: - - '815' - content-type: - - application/json; odata.metadata=minimal - date: - - Fri, 01 May 2020 01:45:06 GMT - elapsed-time: - - '104' - etag: - - W/"0x8D7ED714695F21D" - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 629611e8-8b4d-11ea-ad52-2816a845e8c6 - strict-transport-security: - - max-age=15724800; includeSubDomains - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - If-Match: - - '"0x8D7ED714678528F"' - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Windows-10-10.0.17763-SP0) - api-key: - - 0ABC8B358D4D85386822B456F8767860 - method: DELETE - uri: https://searchbbd1469.search.windows.net/indexes('hotels')?api-version=2020-06-30 - response: - body: - string: '{"error":{"code":"","message":"The precondition given in one of the - request headers evaluated to false. No change was made to the resource from - this request."}}' - headers: - cache-control: - - no-cache - content-language: - - en - content-length: - - '160' - content-type: - - application/json; odata.metadata=minimal - date: - - Fri, 01 May 2020 01:45:06 GMT - elapsed-time: - - '15' - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 62b2aff8-8b4d-11ea-8440-2816a845e8c6 - strict-transport-security: - - max-age=15724800; includeSubDomains - status: - code: 412 - message: Precondition Failed -version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_service_statistics.yaml b/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_service_statistics.yaml deleted file mode 100644 index 32a7cfd386c4..000000000000 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_service_statistics.yaml +++ /dev/null @@ -1,48 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - 9099402AA5DD674D2F4AB5E4CFAE0073 - method: GET - uri: https://searchabe712a7.search.windows.net/servicestats?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://searchabe712a7.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06_Preview.ServiceStatistics","counters":{"documentCount":{"usage":0,"quota":null},"indexesCount":{"usage":0,"quota":3},"indexersCount":{"usage":0,"quota":3},"dataSourcesCount":{"usage":0,"quota":3},"storageSize":{"usage":0,"quota":52428800},"synonymMaps":{"usage":0,"quota":3},"skillsetCount":{"usage":0,"quota":3}},"limits":{"maxFieldsPerIndex":1000,"maxFieldNestingDepthPerIndex":10,"maxComplexCollectionFieldsPerIndex":40,"maxComplexObjectsInCollectionsPerDocument":3000}}' - headers: - cache-control: - - no-cache - content-length: - - '579' - content-type: - - application/json; odata.metadata=minimal - date: - - Wed, 29 Apr 2020 23:20:34 GMT - elapsed-time: - - '52' - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 06b3ad20-8a70-11ea-889b-8c8590507855 - strict-transport-security: - - max-age=15724800; includeSubDomains - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_skillset.yaml b/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_skillset.yaml deleted file mode 100644 index 143a1beb3550..000000000000 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_get_skillset.yaml +++ /dev/null @@ -1,150 +0,0 @@ -interactions: -- request: - body: '{"name": "test-ss", "description": "desc", "skills": [{"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", - "inputs": [{"name": "text", "source": "/document/content"}], "outputs": [{"name": - "organizations", "targetName": "organizations"}]}]}' - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '252' - Content-Type: - - application/json - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - E526608EB11E433B65F1F2591FD92E31 - method: POST - uri: https://search4a30e77.search.windows.net/skillsets?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search4a30e77.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC947C1D56A3\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":null,"description":null,"context":null,"categories":[],"defaultLanguageCode":null,"minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' - headers: - cache-control: - - no-cache - content-length: - - '586' - content-type: - - application/json; odata.metadata=minimal - date: - - Wed, 29 Apr 2020 23:24:37 GMT - elapsed-time: - - '62' - etag: - - W/"0x8D7EC947C1D56A3" - expires: - - '-1' - location: - - https://search4a30e77.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 97b78ada-8a70-11ea-889b-8c8590507855 - strict-transport-security: - - max-age=15724800; includeSubDomains - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - E526608EB11E433B65F1F2591FD92E31 - method: GET - uri: https://search4a30e77.search.windows.net/skillsets?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search4a30e77.search.windows.net/$metadata#skillsets","value":[{"@odata.etag":"\"0x8D7EC947C1D56A3\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}]}' - headers: - cache-control: - - no-cache - content-length: - - '667' - content-type: - - application/json; odata.metadata=minimal - date: - - Wed, 29 Apr 2020 23:24:37 GMT - elapsed-time: - - '45' - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 97d70fb8-8a70-11ea-889b-8c8590507855 - strict-transport-security: - - max-age=15724800; includeSubDomains - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - E526608EB11E433B65F1F2591FD92E31 - method: GET - uri: https://search4a30e77.search.windows.net/skillsets('test-ss')?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search4a30e77.search.windows.net/$metadata#skillsets/$entity","@odata.etag":"\"0x8D7EC947C1D56A3\"","name":"test-ss","description":"desc","skills":[{"@odata.type":"#Microsoft.Skills.Text.EntityRecognitionSkill","name":"#1","description":null,"context":"/document","categories":["Person","Quantity","Organization","URL","Email","Location","DateTime"],"defaultLanguageCode":"en","minimumPrecision":null,"includeTypelessEntities":null,"inputs":[{"name":"text","source":"/document/content","sourceContext":null,"inputs":[]}],"outputs":[{"name":"organizations","targetName":"organizations"}]}],"cognitiveServices":null,"knowledgeStore":null}' - headers: - cache-control: - - no-cache - content-length: - - '663' - content-type: - - application/json; odata.metadata=minimal - date: - - Wed, 29 Apr 2020 23:24:37 GMT - elapsed-time: - - '19' - etag: - - W/"0x8D7EC947C1D56A3" - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 97e45696-8a70-11ea-889b-8c8590507855 - strict-transport-security: - - max-age=15724800; includeSubDomains - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexes.yaml b/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexes.yaml deleted file mode 100644 index b20808a684b5..000000000000 --- a/sdk/search/azure-search-documents/tests/recordings/test_service_live.test_list_indexes.yaml +++ /dev/null @@ -1,48 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json;odata.metadata=minimal - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-search-documents/1.0.0b3 Python/3.7.3 (Darwin-19.3.0-x86_64-i386-64bit) - api-key: - - FF50C21851A8A287CCB25DE530228B72 - method: GET - uri: https://search4f80e78.search.windows.net/indexes?api-version=2020-06-30 - response: - body: - string: '{"@odata.context":"https://search4f80e78.search.windows.net/$metadata#indexes","value":[{"@odata.etag":"\"0x8D7EC94296AF173\"","name":"drgqefsg","defaultScoringProfile":null,"fields":[{"name":"hotelId","type":"Edm.String","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"hotelName","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"category","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"parkingIncluded","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"lastRenovationDate","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"rating","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"location","type":"Edm.GeographyPoint","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"address","type":"Edm.ComplexType","fields":[{"name":"streetAddress","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"city","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"stateProvince","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"country","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"postalCode","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]},{"name":"rooms","type":"Collection(Edm.ComplexType)","fields":[{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"en.lucene","synonymMaps":[]},{"name":"descriptionFr","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":"fr.lucene","synonymMaps":[]},{"name":"type","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"baseRate","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"bedOptions","type":"Edm.String","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"sleepsCount","type":"Edm.Int32","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"smokingAllowed","type":"Edm.Boolean","searchable":false,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]},{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":true,"retrievable":true,"sortable":false,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"synonymMaps":[]}]}],"scoringProfiles":[{"name":"nearest","functionAggregation":"sum","text":null,"functions":[{"fieldName":"location","interpolation":"linear","type":"distance","boost":2.0,"freshness":null,"magnitude":null,"distance":{"referencePointParameter":"myloc","boostingDistance":100.0},"tag":null}]}],"corsOptions":null,"suggesters":[{"name":"sg","searchMode":"analyzingInfixMatching","sourceFields":["description","hotelName"]}],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":null}]}' - headers: - cache-control: - - no-cache - content-length: - - '6159' - content-type: - - application/json; odata.metadata=minimal - date: - - Wed, 29 Apr 2020 23:22:22 GMT - elapsed-time: - - '76' - expires: - - '-1' - odata-version: - - '4.0' - pragma: - - no-cache - preference-applied: - - odata.include-annotations="*" - request-id: - - 474ae466-8a70-11ea-889b-8c8590507855 - strict-transport-security: - - max-age=15724800; includeSubDomains - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/sdk/search/azure-search-documents/tests/test_batching_client.py b/sdk/search/azure-search-documents/tests/test_batching_client.py index 5ec9d86ccf49..3add83fb8b85 100644 --- a/sdk/search/azure-search-documents/tests/test_batching_client.py +++ b/sdk/search/azure-search-documents/tests/test_batching_client.py @@ -11,21 +11,22 @@ SearchIndexDocumentBatchingClient, ) from azure.core.credentials import AzureKeyCredential +from azure.core.exceptions import HttpResponseError CREDENTIAL = AzureKeyCredential(key="test_api_key") class TestSearchBatchingClient(object): def test_search_index_document_batching_client_kwargs(self): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, window=100, batch_size=100) + client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, window=100) - assert client.batch_size == 100 + assert client.batch_size == 1000 assert client._window == 100 assert client._auto_flush client.close() def test_batch_queue(self): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL) + client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, auto_flush=False) assert client._index_documents_batch client.add_upload_actions(["upload1"]) @@ -37,51 +38,44 @@ def test_batch_queue(self): assert len(client.actions) == 0 client._index_documents_batch.enqueue_actions(actions) assert len(client.actions) == 7 - - - def test_succeeded_queue(self): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL) - - assert client._index_documents_batch - client.add_upload_actions(["upload1"]) - client.add_delete_actions(["delete1", "delete2"]) - client.add_merge_actions(["merge1", "merge2", "merge3"]) - client.add_merge_or_upload_actions(["merge_or_upload1"]) actions = client._index_documents_batch.dequeue_actions() - client._index_documents_batch.enqueue_succeeded_actions(actions) - assert len(client.succeeded_actions) == 7 - - - def test_failed_queue(self): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL) - - assert client._index_documents_batch - client.add_upload_actions(["upload1"]) - client.add_delete_actions(["delete1", "delete2"]) - client.add_merge_actions(["merge1", "merge2", "merge3"]) - client.add_merge_or_upload_actions(["merge_or_upload1"]) - actions = client._index_documents_batch.dequeue_actions() - client._index_documents_batch.enqueue_failed_actions(actions) - assert len(client.failed_actions) == 7 + assert len(client.actions) == 0 + for action in actions: + client._index_documents_batch.enqueue_action(action) + assert len(client.actions) == 7 @mock.patch( - "azure.search.documents._internal._search_index_document_batching_client.SearchIndexDocumentBatchingClient.flush" + "azure.search.documents._internal._search_index_document_batching_client.SearchIndexDocumentBatchingClient._process_if_needed" ) - def test_flush_if_needed(self, mock_flush): - client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, window=1000, batch_size=2) + def test_process_if_needed(self, mock_process_if_needed): + client = SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, window=1000, auto_flush=False) client.add_upload_actions(["upload1"]) client.add_delete_actions(["delete1", "delete2"]) - assert mock_flush.called - client.close() + assert mock_process_if_needed.called @mock.patch( "azure.search.documents._internal._search_index_document_batching_client.SearchIndexDocumentBatchingClient._cleanup" ) def test_context_manager(self, mock_cleanup): - with SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL) as client: + with SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, auto_flush=False) as client: client.add_upload_actions(["upload1"]) client.add_delete_actions(["delete1", "delete2"]) assert mock_cleanup.called + + def test_flush(self): + DOCUMENT = { + 'Category': 'Hotel', + 'HotelId': '1000', + 'Rating': 4.0, + 'Rooms': [], + 'HotelName': 'Azure Inn', + } + with mock.patch.object(SearchIndexDocumentBatchingClient, "_index_documents_actions", side_effect=HttpResponseError("Error")): + with SearchIndexDocumentBatchingClient("endpoint", "index name", CREDENTIAL, auto_flush=False) as client: + client._index_key = "HotelId" + client.add_upload_actions([DOCUMENT]) + client.flush() + assert len(client.actions) == 0 diff --git a/sdk/search/azure-search-documents/tests/test_search_client.py b/sdk/search/azure-search-documents/tests/test_search_client.py new file mode 100644 index 000000000000..bf84a0d57c27 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_client.py @@ -0,0 +1,272 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +import pytest + +try: + from unittest import mock +except ImportError: + import mock + +from azure.core.paging import ItemPaged +from azure.core.credentials import AzureKeyCredential + +from azure.search.documents._internal._generated.models import ( + IndexBatch, + SearchDocumentsResult, + SearchResult, +) +from azure.search.documents._internal._search_client import SearchPageIterator + +from azure.search.documents import ( + IndexDocumentsBatch, + SearchClient, + RequestEntityTooLargeError, +) +from azure.search.documents.models import odata + +CREDENTIAL = AzureKeyCredential(key="test_api_key") + +CRUD_METHOD_NAMES = [ + "upload_documents", + "delete_documents", + "merge_documents", + "merge_or_upload_documents", +] + +CRUD_METHOD_MAP = dict( + zip(CRUD_METHOD_NAMES, ["upload", "delete", "merge", "mergeOrUpload"]) +) + + +class Test_odata(object): + def test_const(self): + assert odata("no escapes") == "no escapes" + + def test_numbers(self): + assert odata("foo eq {foo}", foo=10) == "foo eq 10" + + def test_string(self): + assert odata("foo eq {foo}", foo="a string") == "foo eq 'a string'" + + def test_mixed(self): + expected = "foo eq 'a string' and bar le 10" + out = odata("foo eq {foo} and bar le {bar}", foo="a string", bar=10) + assert out == expected + + def test_escape_single_quote(self): + assert odata("foo eq {foo}", foo="a '' str'ing") == "foo eq 'a '''' str''ing'" + + def test_prevent_double_quoting(self): + assert odata("foo eq '{foo}'", foo="a string") == "foo eq 'a string'" + + +class TestSearchClient(object): + def test_init(self): + client = SearchClient("endpoint", "index name", CREDENTIAL) + assert client._headers == { + "api-key": "test_api_key", + "Accept": "application/json;odata.metadata=none", + } + + def test_credential_roll(self): + credential = AzureKeyCredential(key="old_api_key") + client = SearchClient("endpoint", "index name", credential) + assert client._headers == { + "api-key": "old_api_key", + "Accept": "application/json;odata.metadata=none", + } + credential.update("new_api_key") + assert client._headers == { + "api-key": "new_api_key", + "Accept": "application/json;odata.metadata=none", + } + + def test_headers_merge(self): + credential = AzureKeyCredential(key="test_api_key") + client = SearchClient("endpoint", "index name", credential) + orig = {"foo": "bar"} + result = client._merge_client_headers(orig) + assert result is not orig + assert result == { + "api-key": "test_api_key", + "Accept": "application/json;odata.metadata=none", + "foo": "bar", + } + + def test_repr(self): + client = SearchClient("endpoint", "index name", CREDENTIAL) + assert repr(client) == "".format( + repr("endpoint"), repr("index name") + ) + + @mock.patch( + "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.count" + ) + def test_get_document_count(self, mock_count): + client = SearchClient("endpoint", "index name", CREDENTIAL) + client.get_document_count() + assert mock_count.called + assert mock_count.call_args[0] == () + assert len(mock_count.call_args[1]) == 1 + assert mock_count.call_args[1]["headers"] == client._headers + + + @mock.patch( + "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.get" + ) + def test_get_document(self, mock_get): + client = SearchClient("endpoint", "index name", CREDENTIAL) + client.get_document("some_key") + assert mock_get.called + assert mock_get.call_args[0] == () + assert len(mock_get.call_args[1]) == 3 + assert mock_get.call_args[1]["headers"] == client._headers + assert mock_get.call_args[1]["key"] == "some_key" + assert mock_get.call_args[1]["selected_fields"] == None + + mock_get.reset() + + client.get_document("some_key", selected_fields="foo") + assert mock_get.called + assert mock_get.call_args[0] == () + assert len(mock_get.call_args[1]) == 3 + assert mock_get.call_args[1]["headers"] == client._headers + assert mock_get.call_args[1]["key"] == "some_key" + assert mock_get.call_args[1]["selected_fields"] == "foo" + + @mock.patch( + "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.search_post" + ) + def test_search_query_argument(self, mock_search_post): + client = SearchClient("endpoint", "index name", CREDENTIAL) + result = client.search(search_text="search text") + assert isinstance(result, ItemPaged) + assert result._page_iterator_class is SearchPageIterator + search_result = SearchDocumentsResult() + search_result.results = [SearchResult(additional_properties={"key": "val"})] + mock_search_post.return_value = search_result + assert not mock_search_post.called + next(result) + assert mock_search_post.called + assert mock_search_post.call_args[0] == () + assert ( + mock_search_post.call_args[1]["search_request"].search_text == "search text" + ) + + @mock.patch( + "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.suggest_post" + ) + def test_suggest_query_argument(self, mock_suggest_post): + client = SearchClient("endpoint", "index name", CREDENTIAL) + result = client.suggest( + search_text="search text", suggester_name="sg" + ) + assert mock_suggest_post.called + assert mock_suggest_post.call_args[0] == () + assert mock_suggest_post.call_args[1]["headers"] == client._headers + assert ( + mock_suggest_post.call_args[1]["suggest_request"].search_text + == "search text" + ) + + def test_suggest_bad_argument(self): + client = SearchClient("endpoint", "index name", CREDENTIAL) + with pytest.raises(TypeError) as e: + client.suggest("bad_query") + assert str(e) == "Expected a SuggestQuery for 'query', but got {}".format( + repr("bad_query") + ) + + @mock.patch( + "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.autocomplete_post" + ) + def test_autocomplete_query_argument(self, mock_autocomplete_post): + client = SearchClient("endpoint", "index name", CREDENTIAL) + result = client.autocomplete( + search_text="search text", suggester_name="sg" + ) + assert mock_autocomplete_post.called + assert mock_autocomplete_post.call_args[0] == () + assert mock_autocomplete_post.call_args[1]["headers"] == client._headers + assert ( + mock_autocomplete_post.call_args[1]["autocomplete_request"].search_text + == "search text" + ) + + def test_autocomplete_bad_argument(self): + client = SearchClient("endpoint", "index name", CREDENTIAL) + with pytest.raises(TypeError) as e: + client.autocomplete("bad_query") + assert str( + e + ) == "Expected a AutocompleteQuery for 'query', but got {}".format( + repr("bad_query") + ) + + @pytest.mark.parametrize( + "arg", [[], ["doc1"], ["doc1", "doc2"]], ids=lambda x: str(len(x)) + " docs" + ) + @pytest.mark.parametrize("method_name", CRUD_METHOD_NAMES) + def test_add_method(self, arg, method_name): + with mock.patch.object( + SearchClient, "index_documents", return_value=None + ) as mock_index_documents: + client = SearchClient("endpoint", "index name", CREDENTIAL) + + method = getattr(client, method_name) + method(arg, extra="foo") + + assert mock_index_documents.called + assert len(mock_index_documents.call_args[0]) == 1 + batch = mock_index_documents.call_args[0][0] + assert isinstance(batch, IndexDocumentsBatch) + assert all( + action.action_type == CRUD_METHOD_MAP[method_name] + for action in batch.actions + ) + assert [action.additional_properties for action in batch.actions] == arg + assert mock_index_documents.call_args[1]["headers"] == client._headers + assert mock_index_documents.call_args[1]["extra"] == "foo" + + @mock.patch( + "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.index" + ) + def test_index_documents(self, mock_index): + client = SearchClient("endpoint", "index name", CREDENTIAL) + + batch = IndexDocumentsBatch() + actions = batch.add_upload_actions("upload1") + assert len(actions) == 1 + for x in actions: + assert x.action_type == "upload" + actions = batch.add_delete_actions("delete1", "delete2") + assert len(actions) == 2 + for x in actions: + assert x.action_type == "delete" + actions = batch.add_merge_actions(["merge1", "merge2", "merge3"]) + for x in actions: + assert x.action_type == "merge" + actions = batch.add_merge_or_upload_actions("merge_or_upload1") + for x in actions: + assert x.action_type == "mergeOrUpload" + + client.index_documents(batch, extra="foo") + assert mock_index.called + assert mock_index.call_args[0] == () + assert len(mock_index.call_args[1]) == 4 + assert mock_index.call_args[1]["headers"] == client._headers + assert mock_index.call_args[1]["extra"] == "foo" + index_documents = mock_index.call_args[1]["batch"] + assert isinstance(index_documents, IndexBatch) + assert index_documents.actions == batch.actions + + def test_request_too_large_error(self): + with mock.patch.object(SearchClient, "_index_documents_actions", side_effect=RequestEntityTooLargeError("Error")): + client = SearchClient("endpoint", "index name", CREDENTIAL) + batch = IndexDocumentsBatch() + batch.add_upload_actions("upload1") + with pytest.raises(RequestEntityTooLargeError): + client.index_documents(batch, extra="foo") diff --git a/sdk/search/azure-search-documents/tests/test_search_client_basic_live.py b/sdk/search/azure-search-documents/tests/test_search_client_basic_live.py new file mode 100644 index 000000000000..55e570ca1c98 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_client_basic_live.py @@ -0,0 +1,58 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer + +from search_service_preparer import SearchServicePreparer + +CWD = dirname(realpath(__file__)) + +SCHEMA = open(join(CWD, "hotel_schema.json")).read() +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding='utf-8')) +from azure.core.exceptions import HttpResponseError +from azure.core.credentials import AzureKeyCredential +from azure.search.documents import SearchClient + +TIME_TO_SLEEP = 3 + +class SearchClientTest(AzureMgmtTestCase): + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_document_count(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + assert client.get_document_count() == 10 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_document(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + for hotel_id in range(1, 11): + result = client.get_document(key=str(hotel_id)) + expected = BATCH["value"][hotel_id - 1] + assert result.get("hotelId") == expected.get("hotelId") + assert result.get("hotelName") == expected.get("hotelName") + assert result.get("description") == expected.get("description") + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_document_missing(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + with pytest.raises(HttpResponseError): + client.get_document(key="1000") diff --git a/sdk/search/azure-search-documents/tests/test_search_client_batching_client_live.py b/sdk/search/azure-search-documents/tests/test_search_client_batching_client_live.py new file mode 100644 index 000000000000..f46cd0c951e0 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_client_batching_client_live.py @@ -0,0 +1,212 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer + +from search_service_preparer import SearchServicePreparer + +CWD = dirname(realpath(__file__)) + +SCHEMA = open(join(CWD, "hotel_schema.json")).read() +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding='utf-8')) +from azure.core.exceptions import HttpResponseError +from azure.core.credentials import AzureKeyCredential +from azure.search.documents import SearchIndexDocumentBatchingClient, SearchClient + +TIME_TO_SLEEP = 3 + +class SearchIndexDocumentBatchingClientTest(AzureMgmtTestCase): + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_upload_documents_new(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + DOCUMENTS = [ + {"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure Inn"}, + {"hotelId": "1001", "rating": 4, "rooms": [], "hotelName": "Redmond Hotel"}, + ] + batch_client.add_upload_actions(DOCUMENTS) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + assert client.get_document_count() == 12 + for doc in DOCUMENTS: + result = client.get_document(key=doc["hotelId"]) + assert result["hotelId"] == doc["hotelId"] + assert result["hotelName"] == doc["hotelName"] + assert result["rating"] == doc["rating"] + assert result["rooms"] == doc["rooms"] + batch_client.close() + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_upload_documents_existing(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + DOCUMENTS = [ + {"hotelId": "1000", "rating": 5, "rooms": [], "hotelName": "Azure Inn"}, + {"hotelId": "3", "rating": 4, "rooms": [], "hotelName": "Redmond Hotel"}, + ] + batch_client.add_upload_actions(DOCUMENTS) + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + assert client.get_document_count() == 11 + batch_client.close() + + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_documents_existing(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + batch_client.add_delete_actions([{"hotelId": "3"}, {"hotelId": "4"}]) + batch_client.close() + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + assert client.get_document_count() == 8 + + with pytest.raises(HttpResponseError): + client.get_document(key="3") + + with pytest.raises(HttpResponseError): + client.get_document(key="4") + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_documents_missing(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + batch_client.add_delete_actions([{"hotelId": "1000"}, {"hotelId": "4"}]) + batch_client.close() + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + assert client.get_document_count() == 9 + + with pytest.raises(HttpResponseError): + client.get_document(key="1000") + + with pytest.raises(HttpResponseError): + client.get_document(key="4") + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_merge_documents_existing(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + batch_client.add_merge_actions( + [{"hotelId": "3", "rating": 1}, {"hotelId": "4", "rating": 2}] + ) + batch_client.close() + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + assert client.get_document_count() == 10 + + result = client.get_document(key="3") + assert result["rating"] == 1 + + result = client.get_document(key="4") + assert result["rating"] == 2 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_merge_documents_missing(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + batch_client.add_merge_actions( + [{"hotelId": "1000", "rating": 1}, {"hotelId": "4", "rating": 2}] + ) + batch_client.close() + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + assert client.get_document_count() == 10 + + with pytest.raises(HttpResponseError): + client.get_document(key="1000") + + result = client.get_document(key="4") + assert result["rating"] == 2 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_merge_or_upload_documents(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client = SearchIndexDocumentBatchingClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + batch_client._batch_size = 2 + batch_client.add_merge_or_upload_actions( + [{"hotelId": "1000", "rating": 1}, {"hotelId": "4", "rating": 2}] + ) + batch_client.close() + + # There can be some lag before a document is searchable + if self.is_live: + time.sleep(TIME_TO_SLEEP) + + assert client.get_document_count() == 11 + + result = client.get_document(key="1000") + assert result["rating"] == 1 + + result = client.get_document(key="4") + assert result["rating"] == 2 diff --git a/sdk/search/azure-search-documents/tests/test_index_live.py b/sdk/search/azure-search-documents/tests/test_search_client_index_document_live.py similarity index 52% rename from sdk/search/azure-search-documents/tests/test_index_live.py rename to sdk/search/azure-search-documents/tests/test_search_client_index_document_live.py index 8b8317c14126..484f925e18c8 100644 --- a/sdk/search/azure-search-documents/tests/test_index_live.py +++ b/sdk/search/azure-search-documents/tests/test_search_client_index_document_live.py @@ -16,8 +16,10 @@ CWD = dirname(realpath(__file__)) SCHEMA = open(join(CWD, "hotel_schema.json")).read() -BATCH = json.load(open(join(CWD, "hotel_small.json"))) - +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding='utf-8')) from azure.core.exceptions import HttpResponseError from azure.core.credentials import AzureKeyCredential from azure.search.documents import SearchClient @@ -25,154 +27,6 @@ TIME_TO_SLEEP = 3 class SearchClientTest(AzureMgmtTestCase): - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_document_count(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - assert client.get_document_count() == 10 - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_document(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - for hotel_id in range(1, 11): - result = client.get_document(key=str(hotel_id)) - expected = BATCH["value"][hotel_id - 1] - assert result.get("hotelId") == expected.get("hotelId") - assert result.get("hotelName") == expected.get("hotelName") - assert result.get("description") == expected.get("description") - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_document_missing(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - with pytest.raises(HttpResponseError): - client.get_document(key="1000") - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_search_simple(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - results = list(client.search(search_text="hotel")) - assert len(results) == 7 - - results = list(client.search(search_text="motel")) - assert len(results) == 2 - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_search_filter(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - select = ("hotelName", "category", "description") - results = list(client.search( - search_text="WiFi", - filter="category eq 'Budget'", - select=",".join(select), - order_by="hotelName desc" - )) - assert [x["hotelName"] for x in results] == sorted( - [x["hotelName"] for x in results], reverse=True - ) - expected = { - "category", - "hotelName", - "description", - "@search.score", - "@search.highlights", - } - assert all(set(x) == expected for x in results) - assert all(x["category"] == "Budget" for x in results) - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_search_counts(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - results = client.search(search_text="hotel") - assert results.get_count() is None - - results = client.search(search_text="hotel", include_total_count=True) - assert results.get_count() == 7 - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_search_coverage(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - results = client.search(search_text="hotel") - assert results.get_coverage() is None - - results = client.search(search_text="hotel", minimum_coverage=50.0) - cov = results.get_coverage() - assert isinstance(cov, float) - assert cov >= 50.0 - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_search_facets_none(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - select = ("hotelName", "category", "description") - results = client.search(search_text="WiFi", select=",".join(select)) - assert results.get_facets() is None - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_search_facets_result(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - - select = ("hotelName", "category", "description") - results = client.search(search_text="WiFi", - facets=["category"], - select=",".join(select) - ) - assert results.get_facets() == { - "category": [ - {"value": "Budget", "count": 4}, - {"value": "Luxury", "count": 1}, - ] - } - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_autocomplete(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - results = client.autocomplete(search_text="mot", suggester_name="sg") - assert results == [{"text": "motel", "query_plus_text": "motel"}] - - @ResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_suggest(self, api_key, endpoint, index_name, **kwargs): - client = SearchClient( - endpoint, index_name, AzureKeyCredential(api_key) - ) - results = client.suggest(search_text="mot", suggester_name="sg") - assert results == [ - {"hotelId": "2", "text": "Cheapest hotel in town. Infact, a motel."}, - {"hotelId": "9", "text": "Secret Point Motel"}, - ] - @ResourceGroupPreparer(random_name_enabled=True) @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) def test_upload_documents_new(self, api_key, endpoint, index_name, **kwargs): diff --git a/sdk/search/azure-search-documents/tests/test_search_client_search_live.py b/sdk/search/azure-search-documents/tests/test_search_client_search_live.py new file mode 100644 index 000000000000..f247e167b589 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_client_search_live.py @@ -0,0 +1,146 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer + +from search_service_preparer import SearchServicePreparer + +CWD = dirname(realpath(__file__)) + +SCHEMA = open(join(CWD, "hotel_schema.json")).read() +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding='utf-8')) +from azure.core.exceptions import HttpResponseError +from azure.core.credentials import AzureKeyCredential +from azure.search.documents import SearchClient + +TIME_TO_SLEEP = 3 + +class SearchClientTest(AzureMgmtTestCase): + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_search_simple(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + results = list(client.search(search_text="hotel")) + assert len(results) == 7 + + results = list(client.search(search_text="motel")) + assert len(results) == 2 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_search_filter(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + select = ("hotelName", "category", "description") + results = list(client.search( + search_text="WiFi", + filter="category eq 'Budget'", + select=",".join(select), + order_by="hotelName desc" + )) + assert [x["hotelName"] for x in results] == sorted( + [x["hotelName"] for x in results], reverse=True + ) + expected = { + "category", + "hotelName", + "description", + "@search.score", + "@search.highlights", + } + assert all(set(x) == expected for x in results) + assert all(x["category"] == "Budget" for x in results) + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_search_counts(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + results = client.search(search_text="hotel") + assert results.get_count() is None + + results = client.search(search_text="hotel", include_total_count=True) + assert results.get_count() == 7 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_search_coverage(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + results = client.search(search_text="hotel") + assert results.get_coverage() is None + + results = client.search(search_text="hotel", minimum_coverage=50.0) + cov = results.get_coverage() + assert isinstance(cov, float) + assert cov >= 50.0 + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_search_facets_none(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + select = ("hotelName", "category", "description") + results = client.search(search_text="WiFi", select=",".join(select)) + assert results.get_facets() is None + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_search_facets_result(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + + select = ("hotelName", "category", "description") + results = client.search(search_text="WiFi", + facets=["category"], + select=",".join(select) + ) + assert results.get_facets() == { + "category": [ + {"value": "Budget", "count": 4}, + {"value": "Luxury", "count": 1}, + ] + } + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_autocomplete(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + results = client.autocomplete(search_text="mot", suggester_name="sg") + assert results == [{"text": "motel", "query_plus_text": "motel"}] + + @ResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_suggest(self, api_key, endpoint, index_name, **kwargs): + client = SearchClient( + endpoint, index_name, AzureKeyCredential(api_key) + ) + results = client.suggest(search_text="mot", suggester_name="sg") + assert results == [ + {"hotelId": "2", "text": "Cheapest hotel in town. Infact, a motel."}, + {"hotelId": "9", "text": "Secret Point Motel"}, + ] diff --git a/sdk/search/azure-search-documents/tests/test_search_index_client.py b/sdk/search/azure-search-documents/tests/test_search_index_client.py index d628c5cf455e..55dd866595b2 100644 --- a/sdk/search/azure-search-documents/tests/test_search_index_client.py +++ b/sdk/search/azure-search-documents/tests/test_search_index_client.py @@ -10,261 +10,109 @@ except ImportError: import mock -from azure.core.paging import ItemPaged from azure.core.credentials import AzureKeyCredential - -from azure.search.documents._internal._generated.models import ( - IndexBatch, - SearchDocumentsResult, - SearchResult, -) -from azure.search.documents._internal._search_client import SearchPageIterator - -from azure.search.documents import ( - IndexDocumentsBatch, - SearchClient, - SearchIndexDocumentBatchingClient, -) -from azure.search.documents.models import odata +from azure.search.documents import SearchClient +from azure.search.documents.indexes import SearchIndexClient, SearchIndexerClient +from azure.search.documents.indexes.models import SearchIndexerDataContainer, SearchIndexerDataSourceConnection +from azure.search.documents.indexes._internal._utils import pack_search_indexer_data_source CREDENTIAL = AzureKeyCredential(key="test_api_key") -CRUD_METHOD_NAMES = [ - "upload_documents", - "delete_documents", - "merge_documents", - "merge_or_upload_documents", -] - -CRUD_METHOD_MAP = dict( - zip(CRUD_METHOD_NAMES, ["upload", "delete", "merge", "mergeOrUpload"]) -) - - -class Test_odata(object): - def test_const(self): - assert odata("no escapes") == "no escapes" - - def test_numbers(self): - assert odata("foo eq {foo}", foo=10) == "foo eq 10" - - def test_string(self): - assert odata("foo eq {foo}", foo="a string") == "foo eq 'a string'" - def test_mixed(self): - expected = "foo eq 'a string' and bar le 10" - out = odata("foo eq {foo} and bar le {bar}", foo="a string", bar=10) - assert out == expected - - def test_escape_single_quote(self): - assert odata("foo eq {foo}", foo="a '' str'ing") == "foo eq 'a '''' str''ing'" - - def test_prevent_double_quoting(self): - assert odata("foo eq '{foo}'", foo="a string") == "foo eq 'a string'" - - -class TestSearchClient(object): - def test_init(self): - client = SearchClient("endpoint", "index name", CREDENTIAL) +class TestSearchIndexClient(object): + def test_index_init(self): + client = SearchIndexClient("endpoint", CREDENTIAL) assert client._headers == { "api-key": "test_api_key", - "Accept": "application/json;odata.metadata=none", + "Accept": "application/json;odata.metadata=minimal", } - def test_credential_roll(self): + def test_index_credential_roll(self): credential = AzureKeyCredential(key="old_api_key") - client = SearchClient("endpoint", "index name", credential) + client = SearchIndexClient("endpoint", credential) assert client._headers == { "api-key": "old_api_key", - "Accept": "application/json;odata.metadata=none", + "Accept": "application/json;odata.metadata=minimal", } credential.update("new_api_key") assert client._headers == { "api-key": "new_api_key", - "Accept": "application/json;odata.metadata=none", - } - - def test_headers_merge(self): - credential = AzureKeyCredential(key="test_api_key") - client = SearchClient("endpoint", "index name", credential) - orig = {"foo": "bar"} - result = client._merge_client_headers(orig) - assert result is not orig - assert result == { - "api-key": "test_api_key", - "Accept": "application/json;odata.metadata=none", - "foo": "bar", + "Accept": "application/json;odata.metadata=minimal", } - def test_repr(self): - client = SearchClient("endpoint", "index name", CREDENTIAL) - assert repr(client) == "".format( - repr("endpoint"), repr("index name") - ) - - @mock.patch( - "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.count" - ) - def test_get_document_count(self, mock_count): - client = SearchClient("endpoint", "index name", CREDENTIAL) - client.get_document_count() - assert mock_count.called - assert mock_count.call_args[0] == () - assert len(mock_count.call_args[1]) == 1 - assert mock_count.call_args[1]["headers"] == client._headers - - - @mock.patch( - "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.get" - ) - def test_get_document(self, mock_get): - client = SearchClient("endpoint", "index name", CREDENTIAL) - client.get_document("some_key") - assert mock_get.called - assert mock_get.call_args[0] == () - assert len(mock_get.call_args[1]) == 3 - assert mock_get.call_args[1]["headers"] == client._headers - assert mock_get.call_args[1]["key"] == "some_key" - assert mock_get.call_args[1]["selected_fields"] == None - - mock_get.reset() - - client.get_document("some_key", selected_fields="foo") - assert mock_get.called - assert mock_get.call_args[0] == () - assert len(mock_get.call_args[1]) == 3 - assert mock_get.call_args[1]["headers"] == client._headers - assert mock_get.call_args[1]["key"] == "some_key" - assert mock_get.call_args[1]["selected_fields"] == "foo" + def test_get_search_client(self): + credential = AzureKeyCredential(key="old_api_key") + client = SearchIndexClient("endpoint", credential) + search_client = client.get_search_client('index') + assert isinstance(search_client, SearchClient) @mock.patch( - "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.search_post" + "azure.search.documents.indexes._internal._generated._search_service_client.SearchServiceClient.get_service_statistics" ) - def test_search_query_argument(self, mock_search_post): - client = SearchClient("endpoint", "index name", CREDENTIAL) - result = client.search(search_text="search text") - assert isinstance(result, ItemPaged) - assert result._page_iterator_class is SearchPageIterator - search_result = SearchDocumentsResult() - search_result.results = [SearchResult(additional_properties={"key": "val"})] - mock_search_post.return_value = search_result - assert not mock_search_post.called - next(result) - assert mock_search_post.called - assert mock_search_post.call_args[0] == () - assert ( - mock_search_post.call_args[1]["search_request"].search_text == "search text" - ) + def test_get_service_statistics(self, mock_get_stats): + client = SearchIndexClient("endpoint", CREDENTIAL) + client.get_service_statistics() + assert mock_get_stats.called + assert mock_get_stats.call_args[0] == () + assert mock_get_stats.call_args[1] == {"headers": client._headers} + + def test_index_endpoint_https(self): + credential = AzureKeyCredential(key="old_api_key") + client = SearchIndexClient("endpoint", credential) + assert client._endpoint.startswith('https') - @mock.patch( - "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.suggest_post" - ) - def test_suggest_query_argument(self, mock_suggest_post): - client = SearchClient("endpoint", "index name", CREDENTIAL) - result = client.suggest( - search_text="search text", suggester_name="sg" - ) - assert mock_suggest_post.called - assert mock_suggest_post.call_args[0] == () - assert mock_suggest_post.call_args[1]["headers"] == client._headers - assert ( - mock_suggest_post.call_args[1]["suggest_request"].search_text - == "search text" - ) + client = SearchIndexClient("https://endpoint", credential) + assert client._endpoint.startswith('https') - def test_suggest_bad_argument(self): - client = SearchClient("endpoint", "index name", CREDENTIAL) - with pytest.raises(TypeError) as e: - client.suggest("bad_query") - assert str(e) == "Expected a SuggestQuery for 'query', but got {}".format( - repr("bad_query") - ) + with pytest.raises(ValueError): + client = SearchIndexClient("http://endpoint", credential) - @mock.patch( - "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.autocomplete_post" - ) - def test_autocomplete_query_argument(self, mock_autocomplete_post): - client = SearchClient("endpoint", "index name", CREDENTIAL) - result = client.autocomplete( - search_text="search text", suggester_name="sg" - ) - assert mock_autocomplete_post.called - assert mock_autocomplete_post.call_args[0] == () - assert mock_autocomplete_post.call_args[1]["headers"] == client._headers - assert ( - mock_autocomplete_post.call_args[1]["autocomplete_request"].search_text - == "search text" - ) + with pytest.raises(ValueError): + client = SearchIndexClient(12345, credential) - def test_autocomplete_bad_argument(self): - client = SearchClient("endpoint", "index name", CREDENTIAL) - with pytest.raises(TypeError) as e: - client.autocomplete("bad_query") - assert str( - e - ) == "Expected a AutocompleteQuery for 'query', but got {}".format( - repr("bad_query") - ) - @pytest.mark.parametrize( - "arg", [[], ["doc1"], ["doc1", "doc2"]], ids=lambda x: str(len(x)) + " docs" - ) - @pytest.mark.parametrize("method_name", CRUD_METHOD_NAMES) - def test_add_method(self, arg, method_name): - with mock.patch.object( - SearchClient, "index_documents", return_value=None - ) as mock_index_documents: - client = SearchClient("endpoint", "index name", CREDENTIAL) +class TestSearchIndexerClient(object): + def test_indexer_init(self): + client = SearchIndexerClient("endpoint", CREDENTIAL) + assert client._headers == { + "api-key": "test_api_key", + "Accept": "application/json;odata.metadata=minimal", + } - method = getattr(client, method_name) - method(arg, extra="foo") + def test_indexer_credential_roll(self): + credential = AzureKeyCredential(key="old_api_key") + client = SearchIndexerClient("endpoint", credential) + assert client._headers == { + "api-key": "old_api_key", + "Accept": "application/json;odata.metadata=minimal", + } + credential.update("new_api_key") + assert client._headers == { + "api-key": "new_api_key", + "Accept": "application/json;odata.metadata=minimal", + } - assert mock_index_documents.called - assert len(mock_index_documents.call_args[0]) == 1 - batch = mock_index_documents.call_args[0][0] - assert isinstance(batch, IndexDocumentsBatch) - assert all( - action.action_type == CRUD_METHOD_MAP[method_name] - for action in batch.actions - ) - assert [action.additional_properties for action in batch.actions] == arg - assert mock_index_documents.call_args[1]["headers"] == client._headers - assert mock_index_documents.call_args[1]["extra"] == "foo" + def test_indexer_endpoint_https(self): + credential = AzureKeyCredential(key="old_api_key") + client = SearchIndexerClient("endpoint", credential) + assert client._endpoint.startswith('https') - @mock.patch( - "azure.search.documents._internal._generated.operations._documents_operations.DocumentsOperations.index" - ) - def test_index_documents(self, mock_index): - client = SearchClient("endpoint", "index name", CREDENTIAL) + client = SearchIndexerClient("https://endpoint", credential) + assert client._endpoint.startswith('https') - batch = IndexDocumentsBatch() - actions = batch.add_upload_actions("upload1") - assert len(actions) == 1 - for x in actions: - assert x.action_type == "upload" - actions = batch.add_delete_actions("delete1", "delete2") - assert len(actions) == 2 - for x in actions: - assert x.action_type == "delete" - actions = batch.add_merge_actions(["merge1", "merge2", "merge3"]) - for x in actions: - assert x.action_type == "merge" - actions = batch.add_merge_or_upload_actions("merge_or_upload1") - for x in actions: - assert x.action_type == "mergeOrUpload" + with pytest.raises(ValueError): + client = SearchIndexerClient("http://endpoint", credential) - client.index_documents(batch, extra="foo") - assert mock_index.called - assert mock_index.call_args[0] == () - assert len(mock_index.call_args[1]) == 4 - assert mock_index.call_args[1]["headers"] == client._headers - assert mock_index.call_args[1]["extra"] == "foo" - index_documents = mock_index.call_args[1]["batch"] - assert isinstance(index_documents, IndexBatch) - assert index_documents.actions == batch.actions + with pytest.raises(ValueError): + client = SearchIndexerClient(12345, credential) - def test_get_batching_client(self): - client = SearchClient("endpoint", "index name", CREDENTIAL) - batching_client = client.get_index_document_batching_client() - assert batching_client.batch_size == 1000 - assert batching_client._window == 0 + def test_datasource_with_empty_connection_string(self): + container = SearchIndexerDataContainer(name='searchcontainer') + data_source_connection = SearchIndexerDataSourceConnection( + name="test", + type="azureblob", + connection_string="", + container=container + ) + packed_data_source_connection = pack_search_indexer_data_source(data_source_connection) + assert packed_data_source_connection.credentials.connection_string == "" diff --git a/sdk/search/azure-search-documents/tests/test_search_index_client_data_source_live.py b/sdk/search/azure-search-documents/tests/test_search_index_client_data_source_live.py new file mode 100644 index 000000000000..8228ce5acd68 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_index_client_data_source_live.py @@ -0,0 +1,163 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexer, + SearchIndexerDataContainer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "hotel_schema.json")).read() +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +class SearchDataSourcesClientTest(AzureMgmtTestCase): + def _create_data_source_connection(self, name="sample-datasource"): + container = SearchIndexerDataContainer(name='searchcontainer') + data_source_connection = SearchIndexerDataSourceConnection( + name=name, + type="azureblob", + connection_string=CONNECTION_STRING, + container=container + ) + return data_source_connection + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_datasource(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + result = client.create_data_source_connection(data_source_connection) + assert result.name == "sample-datasource" + assert result.type == "azureblob" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_datasource(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + result = client.create_data_source_connection(data_source_connection) + assert len(client.get_data_source_connections()) == 1 + client.delete_data_source_connection("sample-datasource") + assert len(client.get_data_source_connections()) == 0 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_datasource(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = client.create_data_source_connection(data_source_connection) + result = client.get_data_source_connection("sample-datasource") + assert result.name == "sample-datasource" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_list_datasource(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection1 = self._create_data_source_connection() + data_source_connection2 = self._create_data_source_connection(name="another-sample") + created1 = client.create_data_source_connection(data_source_connection1) + created2 = client.create_data_source_connection(data_source_connection2) + result = client.get_data_source_connections() + assert isinstance(result, list) + assert set(x.name for x in result) == {"sample-datasource", "another-sample"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_datasource(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = client.create_data_source_connection(data_source_connection) + assert len(client.get_data_source_connections()) == 1 + data_source_connection.description = "updated" + client.create_or_update_data_source_connection(data_source_connection) + assert len(client.get_data_source_connections()) == 1 + result = client.get_data_source_connection("sample-datasource") + assert result.name == "sample-datasource" + assert result.description == "updated" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = client.create_data_source_connection(data_source_connection) + etag = created.e_tag + + # Now update the data source connection + data_source_connection.description = "updated" + client.create_or_update_data_source_connection(data_source_connection) + + # prepare data source connection + data_source_connection.e_tag = etag # reset to the original data source connection + data_source_connection.description = "changed" + with pytest.raises(HttpResponseError): + client.create_or_update_data_source_connection(data_source_connection, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = client.create_data_source_connection(data_source_connection) + etag = created.e_tag + + # Now update the data source connection + data_source_connection.description = "updated" + client.create_or_update_data_source_connection(data_source_connection) + + # prepare data source connection + data_source_connection.e_tag = etag # reset to the original data source connection + with pytest.raises(HttpResponseError): + client.delete_data_source_connection(data_source_connection, match_condition=MatchConditions.IfNotModified) + assert len(client.get_data_source_connections()) == 1 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_datasource_string_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + data_source_connection = self._create_data_source_connection() + created = client.create_data_source_connection(data_source_connection) + etag = created.e_tag + + # Now update the data source connection + data_source_connection.description = "updated" + client.create_or_update_data_source_connection(data_source_connection) + + # prepare data source connection + data_source_connection.e_tag = etag # reset to the original data source connection + with pytest.raises(ValueError): + client.delete_data_source_connection(data_source_connection.name, match_condition=MatchConditions.IfNotModified) diff --git a/sdk/search/azure-search-documents/tests/test_search_index_client_live.py b/sdk/search/azure-search-documents/tests/test_search_index_client_live.py new file mode 100644 index 000000000000..6b145c34e448 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_index_client_live.py @@ -0,0 +1,247 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexer, + SearchIndexerDataContainer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "hotel_schema.json")).read() +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +class SearchIndexClientTest(AzureMgmtTestCase): + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer() + def test_get_service_statistics(self, api_key, endpoint, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.get_service_statistics() + assert isinstance(result, dict) + assert set(result.keys()) == {"counters", "limits"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer() + def test_list_indexes_empty(self, api_key, endpoint, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.list_indexes() + with pytest.raises(StopIteration): + next(result) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_list_indexes(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.list_indexes() + + first = next(result) + assert first.name == index_name + + with pytest.raises(StopIteration): + next(result) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_index(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.get_index(index_name) + assert result.name == index_name + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_index_statistics(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.get_index_statistics(index_name) + assert set(result.keys()) == {'document_count', 'storage_size'} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_indexes(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + client.delete_index(index_name) + import time + if self.is_live: + time.sleep(TIME_TO_SLEEP) + result = client.list_indexes() + with pytest.raises(StopIteration): + next(result) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_indexes_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + + # First create an index + name = "hotels" + fields = [ + { + "name": "hotelId", + "type": "Edm.String", + "key": True, + "searchable": False + }, + { + "name": "baseRate", + "type": "Edm.Double" + }] + scoring_profile = ScoringProfile( + name="MyProfile" + ) + scoring_profiles = [] + scoring_profiles.append(scoring_profile) + cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + result = client.create_index(index) + etag = result.e_tag + # get e tag and update + index.scoring_profiles = [] + client.create_or_update_index(index) + + index.e_tag = etag + with pytest.raises(HttpResponseError): + client.delete_index(index, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_index(self, api_key, endpoint, index_name, **kwargs): + name = "hotels" + fields = [ + SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), + SimpleField(name="baseRate", type=SearchFieldDataType.Double) + ] + scoring_profile = ScoringProfile( + name="MyProfile" + ) + scoring_profiles = [] + scoring_profiles.append(scoring_profile) + cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.create_index(index) + assert result.name == "hotels" + assert result.scoring_profiles[0].name == scoring_profile.name + assert result.cors_options.allowed_origins == cors_options.allowed_origins + assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_index(self, api_key, endpoint, index_name, **kwargs): + name = "hotels" + fields = [ + SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), + SimpleField(name="baseRate", type=SearchFieldDataType.Double) + ] + cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) + scoring_profiles = [] + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + result = client.create_or_update_index(index=index) + assert len(result.scoring_profiles) == 0 + assert result.cors_options.allowed_origins == cors_options.allowed_origins + assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds + scoring_profile = ScoringProfile( + name="MyProfile" + ) + scoring_profiles = [] + scoring_profiles.append(scoring_profile) + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + result = client.create_or_update_index(index=index) + assert result.scoring_profiles[0].name == scoring_profile.name + assert result.cors_options.allowed_origins == cors_options.allowed_origins + assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_indexes_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + + # First create an index + name = "hotels" + fields = [ + { + "name": "hotelId", + "type": "Edm.String", + "key": True, + "searchable": False + }, + { + "name": "baseRate", + "type": "Edm.Double" + }] + scoring_profile = ScoringProfile( + name="MyProfile" + ) + scoring_profiles = [] + scoring_profiles.append(scoring_profile) + cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) + index = SearchIndex( + name=name, + fields=fields, + scoring_profiles=scoring_profiles, + cors_options=cors_options) + result = client.create_index(index) + etag = result.e_tag + # get e tag and update + index.scoring_profiles = [] + client.create_or_update_index(index) + + index.e_tag = etag + with pytest.raises(HttpResponseError): + client.create_or_update_index(index, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_analyze_text(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + analyze_request = AnalyzeTextOptions(text="One's ", analyzer_name="standard.lucene") + result = client.analyze_text(index_name, analyze_request) + assert len(result.tokens) == 2 diff --git a/sdk/search/azure-search-documents/tests/test_search_index_client_skillset_live.py b/sdk/search/azure-search-documents/tests/test_search_index_client_skillset_live.py new file mode 100644 index 000000000000..c7049f1d740d --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_index_client_skillset_live.py @@ -0,0 +1,186 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexer, + SearchIndexerDataContainer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "hotel_schema.json")).read() +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +class SearchSkillsetClientTest(AzureMgmtTestCase): + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_skillset(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") + + result = client.create_skillset(skillset) + assert isinstance(result, SearchIndexerSkillset) + assert result.name == "test-ss" + assert result.description == "desc" + assert result.e_tag + assert len(result.skills) == 1 + assert isinstance(result.skills[0], EntityRecognitionSkill) + + assert len(client.get_skillsets()) == 1 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_skillset(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") + + result = client.create_skillset(skillset) + assert len(client.get_skillsets()) == 1 + + client.delete_skillset("test-ss") + assert len(client.get_skillsets()) == 0 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_skillset_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") + + result = client.create_skillset(skillset) + etag = result.e_tag + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="updated") + updated = client.create_or_update_skillset(skillset) + updated.e_tag = etag + + with pytest.raises(HttpResponseError): + client.delete_skillset(updated, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_skillset(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") + client.create_skillset(skillset) + assert len(client.get_skillsets()) == 1 + + result = client.get_skillset("test-ss") + assert isinstance(result, SearchIndexerSkillset) + assert result.name == "test-ss" + assert result.description == "desc" + assert result.e_tag + assert len(result.skills) == 1 + assert isinstance(result.skills[0], EntityRecognitionSkill) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_skillsets(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset1 = SearchIndexerSkillset(name='test-ss-1', skills=list([s]), description="desc1") + client.create_skillset(skillset1) + skillset2 = SearchIndexerSkillset(name='test-ss-2', skills=list([s]), description="desc2") + client.create_skillset(skillset2) + result = client.get_skillsets() + assert isinstance(result, list) + assert all(isinstance(x, SearchIndexerSkillset) for x in result) + assert set(x.name for x in result) == {"test-ss-1", "test-ss-2"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_skillset(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") + client.create_or_update_skillset(skillset1) + skillset2 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc2") + client.create_or_update_skillset(skillset2) + assert len(client.get_skillsets()) == 1 + + result = client.get_skillset("test-ss") + assert isinstance(result, SearchIndexerSkillset) + assert result.name == "test-ss" + assert result.description == "desc2" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_skillset_inplace(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") + ss = client.create_or_update_skillset(skillset1) + skillset2 = SearchIndexerSkillset(name='test-ss', skills=[s], description="desc2", skillset=ss) + client.create_or_update_skillset(skillset2) + assert len(client.get_skillsets()) == 1 + + result = client.get_skillset("test-ss") + assert isinstance(result, SearchIndexerSkillset) + assert result.name == "test-ss" + assert result.description == "desc2" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_skillset_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], + outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) + + skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") + ss = client.create_or_update_skillset(skillset1) + etag = ss.e_tag + skillset2 = SearchIndexerSkillset(name='test-ss', skills=[s], description="desc2", skillset=ss) + client.create_or_update_skillset(skillset2) + assert len(client.get_skillsets()) == 1 diff --git a/sdk/search/azure-search-documents/tests/test_search_index_client_synonym_map_live.py b/sdk/search/azure-search-documents/tests/test_search_index_client_synonym_map_live.py new file mode 100644 index 000000000000..f3075b4d7b6e --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_index_client_synonym_map_live.py @@ -0,0 +1,181 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexer, + SearchIndexerDataContainer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "hotel_schema.json")).read() +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding='utf-8')) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +class SearchSynonymMapsClientTest(AzureMgmtTestCase): + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_synonym_map(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + result = client.create_synonym_map(synonym_map) + assert isinstance(result, SynonymMap) + assert result.name == "test-syn-map" + assert result.synonyms == [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + assert len(client.get_synonym_maps()) == 1 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_synonym_map(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + result = client.create_synonym_map(synonym_map) + assert len(client.get_synonym_maps()) == 1 + client.delete_synonym_map("test-syn-map") + assert len(client.get_synonym_maps()) == 0 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_synonym_map_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + result = client.create_synonym_map(synonym_map) + etag = result.e_tag + + synonym_map.synonyms = "\n".join([ + "Washington, Wash. => WA", + ]) + client.create_or_update_synonym_map(synonym_map) + + result.e_tag = etag + with pytest.raises(HttpResponseError): + client.delete_synonym_map(result, match_condition=MatchConditions.IfNotModified) + assert len(client.get_synonym_maps()) == 1 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_synonym_map(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + client.create_synonym_map(synonym_map) + assert len(client.get_synonym_maps()) == 1 + result = client.get_synonym_map("test-syn-map") + assert isinstance(result, SynonymMap) + assert result.name == "test-syn-map" + assert result.synonyms == [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_synonym_maps(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + ] + synonym_map_1 = SynonymMap(name="test-syn-map-1", synonyms=synonyms) + client.create_synonym_map(synonym_map_1) + synonyms = [ + "Washington, Wash. => WA", + ] + synonym_map_2 = SynonymMap(name="test-syn-map-2", synonyms=synonyms) + client.create_synonym_map(synonym_map_2) + result = client.get_synonym_maps() + assert isinstance(result, list) + assert all(isinstance(x, SynonymMap) for x in result) + assert set(x.name for x in result) == {"test-syn-map-1", "test-syn-map-2"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_synonym_map(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + client.create_synonym_map(synonym_map) + assert len(client.get_synonym_maps()) == 1 + synonym_map.synonyms = ["Washington, Wash. => WA",] + client.create_or_update_synonym_map(synonym_map) + assert len(client.get_synonym_maps()) == 1 + result = client.get_synonym_map("test-syn-map") + assert isinstance(result, SynonymMap) + assert result.name == "test-syn-map" + assert result.synonyms == [ + "Washington, Wash. => WA", + ] + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_synonym_map_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) + synonyms = [ + "USA, United States, United States of America", + "Washington, Wash. => WA", + ] + synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms) + result = client.create_synonym_map(synonym_map) + etag = result.e_tag + + synonym_map.synonyms = [ + "Washington, Wash. => WA", + ] + + client.create_or_update_synonym_map(synonym_map) + + result.e_tag = etag + with pytest.raises(HttpResponseError): + client.create_or_update_synonym_map(result, match_condition=MatchConditions.IfNotModified) diff --git a/sdk/search/azure-search-documents/tests/test_search_indexer_client_live.py b/sdk/search/azure-search-documents/tests/test_search_indexer_client_live.py new file mode 100644 index 000000000000..17d3d9224fa4 --- /dev/null +++ b/sdk/search/azure-search-documents/tests/test_search_indexer_client_live.py @@ -0,0 +1,188 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import json +from os.path import dirname, join, realpath +import time + +import pytest + +from devtools_testutils import AzureMgmtTestCase + +from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer + +from azure.core import MatchConditions +from azure.core.credentials import AzureKeyCredential +from azure.core.exceptions import HttpResponseError +from azure.search.documents.indexes.models import( + AnalyzeTextOptions, + AnalyzeResult, + CorsOptions, + EntityRecognitionSkill, + SearchIndex, + InputFieldMappingEntry, + OutputFieldMappingEntry, + ScoringProfile, + SearchIndexerSkillset, + SearchIndexerDataSourceConnection, + SearchIndexer, + SearchIndexerDataContainer, + SynonymMap, + SimpleField, + SearchFieldDataType +) +from azure.search.documents.indexes import SearchIndexClient, SearchIndexerClient + +CWD = dirname(realpath(__file__)) +SCHEMA = open(join(CWD, "hotel_schema.json")).read() +try: + BATCH = json.load(open(join(CWD, "hotel_small.json"))) +except UnicodeDecodeError: + BATCH = json.load(open(join(CWD, "hotel_small.json"), encoding="utf-8")) +TIME_TO_SLEEP = 5 +CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' + +class SearchIndexersClientTest(AzureMgmtTestCase): + + def _prepare_indexer(self, endpoint, api_key, name="sample-indexer", ds_name="sample-datasource", id_name="hotels"): + con_str = self.settings.AZURE_STORAGE_CONNECTION_STRING + self.scrubber.register_name_pair(con_str, 'connection_string') + container = SearchIndexerDataContainer(name='searchcontainer') + data_source_connection = SearchIndexerDataSourceConnection( + name=ds_name, + type="azureblob", + connection_string=con_str, + container=container + ) + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + ds = client.create_data_source_connection(data_source_connection) + + index_name = id_name + fields = [ + { + "name": "hotelId", + "type": "Edm.String", + "key": True, + "searchable": False + }] + index = SearchIndex(name=index_name, fields=fields) + ind = SearchIndexClient(endpoint, AzureKeyCredential(api_key)).create_index(index) + return SearchIndexer(name=name, data_source_name=ds.name, target_index_name=ind.name) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + result = client.create_indexer(indexer) + assert result.name == "sample-indexer" + assert result.target_index_name == "hotels" + assert result.data_source_name == "sample-datasource" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + result = client.create_indexer(indexer) + assert len(client.get_indexers()) == 1 + client.delete_indexer("sample-indexer") + assert len(client.get_indexers()) == 0 + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_reset_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + result = client.create_indexer(indexer) + assert len(client.get_indexers()) == 1 + result = client.reset_indexer("sample-indexer") + assert client.get_indexer_status("sample-indexer").last_result.status in ('InProgress', 'reset') + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_run_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + result = client.create_indexer(indexer) + assert len(client.get_indexers()) == 1 + start = time.time() + client.run_indexer("sample-indexer") + assert client.get_indexer_status("sample-indexer").status == 'running' + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + created = client.create_indexer(indexer) + result = client.get_indexer("sample-indexer") + assert result.name == "sample-indexer" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_list_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer1 = self._prepare_indexer(endpoint, api_key) + indexer2 = self._prepare_indexer(endpoint, api_key, name="another-indexer", ds_name="another-datasource", id_name="another-index") + created1 = client.create_indexer(indexer1) + created2 = client.create_indexer(indexer2) + result = client.get_indexers() + assert isinstance(result, list) + assert set(x.name for x in result) == {"sample-indexer", "another-indexer"} + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_indexer(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + created = client.create_indexer(indexer) + assert len(client.get_indexers()) == 1 + indexer.description = "updated" + client.create_or_update_indexer(indexer) + assert len(client.get_indexers()) == 1 + result = client.get_indexer("sample-indexer") + assert result.name == "sample-indexer" + assert result.description == "updated" + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_get_indexer_status(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + result = client.create_indexer(indexer) + status = client.get_indexer_status("sample-indexer") + assert status.status is not None + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_create_or_update_indexer_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + created = client.create_indexer(indexer) + etag = created.e_tag + + + indexer.description = "updated" + client.create_or_update_indexer(indexer) + + indexer.e_tag = etag + with pytest.raises(HttpResponseError): + client.create_or_update_indexer(indexer, match_condition=MatchConditions.IfNotModified) + + @SearchResourceGroupPreparer(random_name_enabled=True) + @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) + def test_delete_indexer_if_unchanged(self, api_key, endpoint, index_name, **kwargs): + client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) + indexer = self._prepare_indexer(endpoint, api_key) + result = client.create_indexer(indexer) + etag = result.e_tag + + indexer.description = "updated" + client.create_or_update_indexer(indexer) + + indexer.e_tag = etag + with pytest.raises(HttpResponseError): + client.delete_indexer(indexer, match_condition=MatchConditions.IfNotModified) diff --git a/sdk/search/azure-search-documents/tests/test_search_service_client.py b/sdk/search/azure-search-documents/tests/test_search_service_client.py deleted file mode 100644 index 55dd866595b2..000000000000 --- a/sdk/search/azure-search-documents/tests/test_search_service_client.py +++ /dev/null @@ -1,118 +0,0 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ - -import pytest - -try: - from unittest import mock -except ImportError: - import mock - -from azure.core.credentials import AzureKeyCredential -from azure.search.documents import SearchClient -from azure.search.documents.indexes import SearchIndexClient, SearchIndexerClient -from azure.search.documents.indexes.models import SearchIndexerDataContainer, SearchIndexerDataSourceConnection -from azure.search.documents.indexes._internal._utils import pack_search_indexer_data_source - -CREDENTIAL = AzureKeyCredential(key="test_api_key") - - -class TestSearchIndexClient(object): - def test_index_init(self): - client = SearchIndexClient("endpoint", CREDENTIAL) - assert client._headers == { - "api-key": "test_api_key", - "Accept": "application/json;odata.metadata=minimal", - } - - def test_index_credential_roll(self): - credential = AzureKeyCredential(key="old_api_key") - client = SearchIndexClient("endpoint", credential) - assert client._headers == { - "api-key": "old_api_key", - "Accept": "application/json;odata.metadata=minimal", - } - credential.update("new_api_key") - assert client._headers == { - "api-key": "new_api_key", - "Accept": "application/json;odata.metadata=minimal", - } - - def test_get_search_client(self): - credential = AzureKeyCredential(key="old_api_key") - client = SearchIndexClient("endpoint", credential) - search_client = client.get_search_client('index') - assert isinstance(search_client, SearchClient) - - @mock.patch( - "azure.search.documents.indexes._internal._generated._search_service_client.SearchServiceClient.get_service_statistics" - ) - def test_get_service_statistics(self, mock_get_stats): - client = SearchIndexClient("endpoint", CREDENTIAL) - client.get_service_statistics() - assert mock_get_stats.called - assert mock_get_stats.call_args[0] == () - assert mock_get_stats.call_args[1] == {"headers": client._headers} - - def test_index_endpoint_https(self): - credential = AzureKeyCredential(key="old_api_key") - client = SearchIndexClient("endpoint", credential) - assert client._endpoint.startswith('https') - - client = SearchIndexClient("https://endpoint", credential) - assert client._endpoint.startswith('https') - - with pytest.raises(ValueError): - client = SearchIndexClient("http://endpoint", credential) - - with pytest.raises(ValueError): - client = SearchIndexClient(12345, credential) - - -class TestSearchIndexerClient(object): - def test_indexer_init(self): - client = SearchIndexerClient("endpoint", CREDENTIAL) - assert client._headers == { - "api-key": "test_api_key", - "Accept": "application/json;odata.metadata=minimal", - } - - def test_indexer_credential_roll(self): - credential = AzureKeyCredential(key="old_api_key") - client = SearchIndexerClient("endpoint", credential) - assert client._headers == { - "api-key": "old_api_key", - "Accept": "application/json;odata.metadata=minimal", - } - credential.update("new_api_key") - assert client._headers == { - "api-key": "new_api_key", - "Accept": "application/json;odata.metadata=minimal", - } - - def test_indexer_endpoint_https(self): - credential = AzureKeyCredential(key="old_api_key") - client = SearchIndexerClient("endpoint", credential) - assert client._endpoint.startswith('https') - - client = SearchIndexerClient("https://endpoint", credential) - assert client._endpoint.startswith('https') - - with pytest.raises(ValueError): - client = SearchIndexerClient("http://endpoint", credential) - - with pytest.raises(ValueError): - client = SearchIndexerClient(12345, credential) - - def test_datasource_with_empty_connection_string(self): - container = SearchIndexerDataContainer(name='searchcontainer') - data_source_connection = SearchIndexerDataSourceConnection( - name="test", - type="azureblob", - connection_string="", - container=container - ) - packed_data_source_connection = pack_search_indexer_data_source(data_source_connection) - assert packed_data_source_connection.credentials.connection_string == "" diff --git a/sdk/search/azure-search-documents/tests/test_service_live.py b/sdk/search/azure-search-documents/tests/test_service_live.py deleted file mode 100644 index 6b7e7853bde9..000000000000 --- a/sdk/search/azure-search-documents/tests/test_service_live.py +++ /dev/null @@ -1,790 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- -import json -from os.path import dirname, join, realpath -import time - -import pytest - -from devtools_testutils import AzureMgmtTestCase - -from search_service_preparer import SearchServicePreparer, SearchResourceGroupPreparer - -from azure.core import MatchConditions -from azure.core.credentials import AzureKeyCredential -from azure.core.exceptions import HttpResponseError -from azure.search.documents.indexes.models import( - AnalyzeTextOptions, - AnalyzeResult, - CorsOptions, - EntityRecognitionSkill, - SearchIndex, - InputFieldMappingEntry, - OutputFieldMappingEntry, - ScoringProfile, - SearchIndexerSkillset, - SearchIndexerDataSourceConnection, - SearchIndexer, - SearchIndexerDataContainer, - SynonymMap, - SimpleField, - SearchFieldDataType -) -from azure.search.documents.indexes import SearchIndexClient, SearchIndexerClient - -CWD = dirname(realpath(__file__)) -SCHEMA = open(join(CWD, "hotel_schema.json")).read() -BATCH = json.load(open(join(CWD, "hotel_small.json"))) -TIME_TO_SLEEP = 5 -CONNECTION_STRING = 'DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net' - -class SearchClientTest(AzureMgmtTestCase): - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer() - def test_get_service_statistics(self, api_key, endpoint, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.get_service_statistics() - assert isinstance(result, dict) - assert set(result.keys()) == {"counters", "limits"} - -class SearchIndexesClientTest(AzureMgmtTestCase): - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer() - def test_list_indexes_empty(self, api_key, endpoint, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.list_indexes() - with pytest.raises(StopIteration): - next(result) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_list_indexes(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.list_indexes() - - first = next(result) - assert first.name == index_name - - with pytest.raises(StopIteration): - next(result) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_index(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.get_index(index_name) - assert result.name == index_name - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_index_statistics(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.get_index_statistics(index_name) - assert set(result.keys()) == {'document_count', 'storage_size'} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_indexes(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - client.delete_index(index_name) - import time - if self.is_live: - time.sleep(TIME_TO_SLEEP) - result = client.list_indexes() - with pytest.raises(StopIteration): - next(result) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_indexes_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - - # First create an index - name = "hotels" - fields = [ - { - "name": "hotelId", - "type": "Edm.String", - "key": True, - "searchable": False - }, - { - "name": "baseRate", - "type": "Edm.Double" - }] - scoring_profile = ScoringProfile( - name="MyProfile" - ) - scoring_profiles = [] - scoring_profiles.append(scoring_profile) - cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - result = client.create_index(index) - etag = result.e_tag - # get e tag and update - index.scoring_profiles = [] - client.create_or_update_index(index) - - index.e_tag = etag - with pytest.raises(HttpResponseError): - client.delete_index(index, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_index(self, api_key, endpoint, index_name, **kwargs): - name = "hotels" - fields = [ - SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), - SimpleField(name="baseRate", type=SearchFieldDataType.Double) - ] - scoring_profile = ScoringProfile( - name="MyProfile" - ) - scoring_profiles = [] - scoring_profiles.append(scoring_profile) - cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.create_index(index) - assert result.name == "hotels" - assert result.scoring_profiles[0].name == scoring_profile.name - assert result.cors_options.allowed_origins == cors_options.allowed_origins - assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_index(self, api_key, endpoint, index_name, **kwargs): - name = "hotels" - fields = [ - SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True), - SimpleField(name="baseRate", type=SearchFieldDataType.Double) - ] - cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) - scoring_profiles = [] - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - result = client.create_or_update_index(index=index) - assert len(result.scoring_profiles) == 0 - assert result.cors_options.allowed_origins == cors_options.allowed_origins - assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds - scoring_profile = ScoringProfile( - name="MyProfile" - ) - scoring_profiles = [] - scoring_profiles.append(scoring_profile) - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - result = client.create_or_update_index(index=index) - assert result.scoring_profiles[0].name == scoring_profile.name - assert result.cors_options.allowed_origins == cors_options.allowed_origins - assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_indexes_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - - # First create an index - name = "hotels" - fields = [ - { - "name": "hotelId", - "type": "Edm.String", - "key": True, - "searchable": False - }, - { - "name": "baseRate", - "type": "Edm.Double" - }] - scoring_profile = ScoringProfile( - name="MyProfile" - ) - scoring_profiles = [] - scoring_profiles.append(scoring_profile) - cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) - index = SearchIndex( - name=name, - fields=fields, - scoring_profiles=scoring_profiles, - cors_options=cors_options) - result = client.create_index(index) - etag = result.e_tag - # get e tag and update - index.scoring_profiles = [] - client.create_or_update_index(index) - - index.e_tag = etag - with pytest.raises(HttpResponseError): - client.create_or_update_index(index, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_analyze_text(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - analyze_request = AnalyzeTextOptions(text="One's ", analyzer_name="standard.lucene") - result = client.analyze_text(index_name, analyze_request) - assert len(result.tokens) == 2 - -class SearchSynonymMapsClientTest(AzureMgmtTestCase): - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_synonym_map(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - result = client.create_synonym_map(synonym_map) - assert isinstance(result, SynonymMap) - assert result.name == "test-syn-map" - assert result.synonyms == [ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ] - assert len(client.get_synonym_maps()) == 1 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_synonym_map(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - result = client.create_synonym_map(synonym_map) - assert len(client.get_synonym_maps()) == 1 - client.delete_synonym_map("test-syn-map") - assert len(client.get_synonym_maps()) == 0 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_synonym_map_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - result = client.create_synonym_map(synonym_map) - etag = result.e_tag - - synonym_map.synonyms = "\n".join([ - "Washington, Wash. => WA", - ]) - client.create_or_update_synonym_map(synonym_map) - - result.e_tag = etag - with pytest.raises(HttpResponseError): - client.delete_synonym_map(result, match_condition=MatchConditions.IfNotModified) - assert len(client.get_synonym_maps()) == 1 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_synonym_map(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - client.create_synonym_map(synonym_map) - assert len(client.get_synonym_maps()) == 1 - result = client.get_synonym_map("test-syn-map") - assert isinstance(result, SynonymMap) - assert result.name == "test-syn-map" - assert result.synonyms == [ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ] - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_synonym_maps(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - ]) - synonym_map_1 = SynonymMap(name="test-syn-map-1", synonyms=solr_format_synonyms) - client.create_synonym_map(synonym_map_1) - solr_format_synonyms = "\n".join([ - "Washington, Wash. => WA", - ]) - synonym_map_2 = SynonymMap(name="test-syn-map-2", synonyms=solr_format_synonyms) - client.create_synonym_map(synonym_map_2) - result = client.get_synonym_maps() - assert isinstance(result, list) - assert all(isinstance(x, SynonymMap) for x in result) - assert set(x.name for x in result) == {"test-syn-map-1", "test-syn-map-2"} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_synonym_map(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - client.create_synonym_map(synonym_map) - assert len(client.get_synonym_maps()) == 1 - synonym_map.synonyms = "\n".join([ - "Washington, Wash. => WA", - ]) - client.create_or_update_synonym_map(synonym_map) - assert len(client.get_synonym_maps()) == 1 - result = client.get_synonym_map("test-syn-map") - assert isinstance(result, SynonymMap) - assert result.name == "test-syn-map" - assert result.synonyms == [ - "Washington, Wash. => WA", - ] - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_synonym_map_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexClient(endpoint, AzureKeyCredential(api_key)) - solr_format_synonyms = "\n".join([ - "USA, United States, United States of America", - "Washington, Wash. => WA", - ]) - synonym_map = SynonymMap(name="test-syn-map", synonyms=solr_format_synonyms) - result = client.create_synonym_map(synonym_map) - etag = result.e_tag - - synonym_map.synonyms = "\n".join([ - "Washington, Wash. => WA", - ]) - - client.create_or_update_synonym_map(synonym_map) - - result.e_tag = etag - with pytest.raises(HttpResponseError): - client.create_or_update_synonym_map(result, match_condition=MatchConditions.IfNotModified) - - -class SearchSkillsetClientTest(AzureMgmtTestCase): - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_skillset(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") - - result = client.create_skillset(skillset) - assert isinstance(result, SearchIndexerSkillset) - assert result.name == "test-ss" - assert result.description == "desc" - assert result.e_tag - assert len(result.skills) == 1 - assert isinstance(result.skills[0], EntityRecognitionSkill) - - assert len(client.get_skillsets()) == 1 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_skillset(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") - - result = client.create_skillset(skillset) - assert len(client.get_skillsets()) == 1 - - client.delete_skillset("test-ss") - assert len(client.get_skillsets()) == 0 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_skillset_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") - - result = client.create_skillset(skillset) - etag = result.e_tag - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="updated") - updated = client.create_or_update_skillset(skillset) - updated.e_tag = etag - - with pytest.raises(HttpResponseError): - client.delete_skillset(updated, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_skillset(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc") - client.create_skillset(skillset) - assert len(client.get_skillsets()) == 1 - - result = client.get_skillset("test-ss") - assert isinstance(result, SearchIndexerSkillset) - assert result.name == "test-ss" - assert result.description == "desc" - assert result.e_tag - assert len(result.skills) == 1 - assert isinstance(result.skills[0], EntityRecognitionSkill) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_skillsets(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset1 = SearchIndexerSkillset(name='test-ss-1', skills=list([s]), description="desc1") - client.create_skillset(skillset1) - skillset2 = SearchIndexerSkillset(name='test-ss-2', skills=list([s]), description="desc2") - client.create_skillset(skillset2) - result = client.get_skillsets() - assert isinstance(result, list) - assert all(isinstance(x, SearchIndexerSkillset) for x in result) - assert set(x.name for x in result) == {"test-ss-1", "test-ss-2"} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_skillset(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") - client.create_or_update_skillset(skillset1) - skillset2 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc2") - client.create_or_update_skillset(skillset2) - assert len(client.get_skillsets()) == 1 - - result = client.get_skillset("test-ss") - assert isinstance(result, SearchIndexerSkillset) - assert result.name == "test-ss" - assert result.description == "desc2" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_skillset_inplace(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") - ss = client.create_or_update_skillset(skillset1) - skillset2 = SearchIndexerSkillset(name='test-ss', skills=[s], description="desc2", skillset=ss) - client.create_or_update_skillset(skillset2) - assert len(client.get_skillsets()) == 1 - - result = client.get_skillset("test-ss") - assert isinstance(result, SearchIndexerSkillset) - assert result.name == "test-ss" - assert result.description == "desc2" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_skillset_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - s = EntityRecognitionSkill(inputs=[InputFieldMappingEntry(name="text", source="/document/content")], - outputs=[OutputFieldMappingEntry(name="organizations", target_name="organizations")]) - - skillset1 = SearchIndexerSkillset(name='test-ss', skills=list([s]), description="desc1") - ss = client.create_or_update_skillset(skillset1) - etag = ss.e_tag - skillset2 = SearchIndexerSkillset(name='test-ss', skills=[s], description="desc2", skillset=ss) - client.create_or_update_skillset(skillset2) - assert len(client.get_skillsets()) == 1 - -class SearchDataSourcesClientTest(AzureMgmtTestCase): - - def _create_data_source_connection(self, name="sample-datasource"): - container = SearchIndexerDataContainer(name='searchcontainer') - data_source_connection = SearchIndexerDataSourceConnection( - name=name, - type="azureblob", - connection_string=CONNECTION_STRING, - container=container - ) - return data_source_connection - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_datasource(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - result = client.create_data_source_connection(data_source_connection) - assert result.name == "sample-datasource" - assert result.type == "azureblob" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_datasource(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - result = client.create_data_source_connection(data_source_connection) - assert len(client.get_data_source_connections()) == 1 - client.delete_data_source_connection("sample-datasource") - assert len(client.get_data_source_connections()) == 0 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_datasource(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = client.create_data_source_connection(data_source_connection) - result = client.get_data_source_connection("sample-datasource") - assert result.name == "sample-datasource" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_list_datasource(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection1 = self._create_data_source_connection() - data_source_connection2 = self._create_data_source_connection(name="another-sample") - created1 = client.create_data_source_connection(data_source_connection1) - created2 = client.create_data_source_connection(data_source_connection2) - result = client.get_data_source_connections() - assert isinstance(result, list) - assert set(x.name for x in result) == {"sample-datasource", "another-sample"} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_datasource(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = client.create_data_source_connection(data_source_connection) - assert len(client.get_data_source_connections()) == 1 - data_source_connection.description = "updated" - client.create_or_update_data_source_connection(data_source_connection) - assert len(client.get_data_source_connections()) == 1 - result = client.get_data_source_connection("sample-datasource") - assert result.name == "sample-datasource" - assert result.description == "updated" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = client.create_data_source_connection(data_source_connection) - etag = created.e_tag - - # Now update the data source connection - data_source_connection.description = "updated" - client.create_or_update_data_source_connection(data_source_connection) - - # prepare data source connection - data_source_connection.e_tag = etag # reset to the original data source connection - data_source_connection.description = "changed" - with pytest.raises(HttpResponseError): - client.create_or_update_data_source_connection(data_source_connection, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = client.create_data_source_connection(data_source_connection) - etag = created.e_tag - - # Now update the data source connection - data_source_connection.description = "updated" - client.create_or_update_data_source_connection(data_source_connection) - - # prepare data source connection - data_source_connection.e_tag = etag # reset to the original data source connection - with pytest.raises(HttpResponseError): - client.delete_data_source_connection(data_source_connection, match_condition=MatchConditions.IfNotModified) - assert len(client.get_data_source_connections()) == 1 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_datasource_string_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - data_source_connection = self._create_data_source_connection() - created = client.create_data_source_connection(data_source_connection) - etag = created.e_tag - - # Now update the data source connection - data_source_connection.description = "updated" - client.create_or_update_data_source_connection(data_source_connection) - - # prepare data source connection - data_source_connection.e_tag = etag # reset to the original data source connection - with pytest.raises(ValueError): - client.delete_data_source_connection(data_source_connection.name, match_condition=MatchConditions.IfNotModified) - - -class SearchIndexersClientTest(AzureMgmtTestCase): - - def _prepare_indexer(self, endpoint, api_key, name="sample-indexer", ds_name="sample-datasource", id_name="hotels"): - con_str = self.settings.AZURE_STORAGE_CONNECTION_STRING - self.scrubber.register_name_pair(con_str, 'connection_string') - container = SearchIndexerDataContainer(name='searchcontainer') - data_source_connection = SearchIndexerDataSourceConnection( - name=ds_name, - type="azureblob", - connection_string=con_str, - container=container - ) - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - ds = client.create_data_source_connection(data_source_connection) - - index_name = id_name - fields = [ - { - "name": "hotelId", - "type": "Edm.String", - "key": True, - "searchable": False - }] - index = SearchIndex(name=index_name, fields=fields) - ind = SearchIndexClient(endpoint, AzureKeyCredential(api_key)).create_index(index) - return SearchIndexer(name=name, data_source_name=ds.name, target_index_name=ind.name) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - result = client.create_indexer(indexer) - assert result.name == "sample-indexer" - assert result.target_index_name == "hotels" - assert result.data_source_name == "sample-datasource" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - result = client.create_indexer(indexer) - assert len(client.get_indexers()) == 1 - client.delete_indexer("sample-indexer") - assert len(client.get_indexers()) == 0 - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_reset_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - result = client.create_indexer(indexer) - assert len(client.get_indexers()) == 1 - result = client.reset_indexer("sample-indexer") - assert client.get_indexer_status("sample-indexer").last_result.status in ('InProgress', 'reset') - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_run_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - result = client.create_indexer(indexer) - assert len(client.get_indexers()) == 1 - start = time.time() - client.run_indexer("sample-indexer") - assert client.get_indexer_status("sample-indexer").status == 'running' - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - created = client.create_indexer(indexer) - result = client.get_indexer("sample-indexer") - assert result.name == "sample-indexer" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_list_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer1 = self._prepare_indexer(endpoint, api_key) - indexer2 = self._prepare_indexer(endpoint, api_key, name="another-indexer", ds_name="another-datasource", id_name="another-index") - created1 = client.create_indexer(indexer1) - created2 = client.create_indexer(indexer2) - result = client.get_indexers() - assert isinstance(result, list) - assert set(x.name for x in result) == {"sample-indexer", "another-indexer"} - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_indexer(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - created = client.create_indexer(indexer) - assert len(client.get_indexers()) == 1 - indexer.description = "updated" - client.create_or_update_indexer(indexer) - assert len(client.get_indexers()) == 1 - result = client.get_indexer("sample-indexer") - assert result.name == "sample-indexer" - assert result.description == "updated" - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_get_indexer_status(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - result = client.create_indexer(indexer) - status = client.get_indexer_status("sample-indexer") - assert status.status is not None - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_create_or_update_indexer_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - created = client.create_indexer(indexer) - etag = created.e_tag - - - indexer.description = "updated" - client.create_or_update_indexer(indexer) - - indexer.e_tag = etag - with pytest.raises(HttpResponseError): - client.create_or_update_indexer(indexer, match_condition=MatchConditions.IfNotModified) - - @SearchResourceGroupPreparer(random_name_enabled=True) - @SearchServicePreparer(schema=SCHEMA, index_batch=BATCH) - def test_delete_indexer_if_unchanged(self, api_key, endpoint, index_name, **kwargs): - client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) - indexer = self._prepare_indexer(endpoint, api_key) - result = client.create_indexer(indexer) - etag = result.e_tag - - indexer.description = "updated" - client.create_or_update_indexer(indexer) - - indexer.e_tag = etag - with pytest.raises(HttpResponseError): - client.delete_indexer(indexer, match_condition=MatchConditions.IfNotModified) diff --git a/sdk/search/ci.yml b/sdk/search/ci.yml index e07afa82b513..7f3ef37472b7 100644 --- a/sdk/search/ci.yml +++ b/sdk/search/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/security/ci.yml b/sdk/security/ci.yml index cc92473c69a6..69283f4f0938 100644 --- a/sdk/security/ci.yml +++ b/sdk/security/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: security Artifacts: - name: azure_mgmt_security - safeName: azuremgmtsecurity \ No newline at end of file + safeName: azuremgmtsecurity diff --git a/sdk/serialconsole/ci.yml b/sdk/serialconsole/ci.yml index b59c3c8918ed..495a72461d79 100644 --- a/sdk/serialconsole/ci.yml +++ b/sdk/serialconsole/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: serialconsole Artifacts: - name: azure_mgmt_serialconsole - safeName: azuremgmtserialconsole \ No newline at end of file + safeName: azuremgmtserialconsole diff --git a/sdk/servermanager/ci.yml b/sdk/servermanager/ci.yml index d17bce17796b..f6093cc14305 100644 --- a/sdk/servermanager/ci.yml +++ b/sdk/servermanager/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: servermanager Artifacts: - name: azure_mgmt_servermanager - safeName: azuremgmtservermanager \ No newline at end of file + safeName: azuremgmtservermanager diff --git a/sdk/servicebus/azure-servicebus/README.md b/sdk/servicebus/azure-servicebus/README.md index 36319b7f146c..67ee777c5f10 100644 --- a/sdk/servicebus/azure-servicebus/README.md +++ b/sdk/servicebus/azure-servicebus/README.md @@ -158,9 +158,9 @@ with ServiceBusClient.from_connection_string(connstr) as client: ### Receive messages from a queue -To receive from a queue, you can either perform an ad-hoc receive via "receiver.receive_messages()" or receive persistently through the receiver itself. +To receive from a queue, you can either perform an ad-hoc receive via `receiver.receive_messages()` or receive persistently through the receiver itself. -#### Receive messages from a queue through iterating over ServiceBusReceiver +#### [Receive messages from a queue through iterating over ServiceBusReceiver][streaming_receive_reference] ```Python from azure.servicebus import ServiceBusClient @@ -173,7 +173,7 @@ with ServiceBusClient.from_connection_string(connstr) as client: # max_wait_time specifies how long the receiver should wait with no incoming messages before stopping receipt. # Default is None; to receive forever. with client.get_queue_receiver(queue_name, max_wait_time=30) as receiver: - for msg in receiver: # ServiceBusReceiver instance is a generator + for msg in receiver: # ServiceBusReceiver instance is a generator. This is equivilent to get_streaming_message_iter(). print(str(msg)) # If it is desired to halt receiving early, one can break out of the loop here safely. ``` @@ -183,7 +183,7 @@ with ServiceBusClient.from_connection_string(connstr) as client: > See [AutoLockRenewer](#autolockrenew) for a helper to perform this in the background automatically. > Lock duration is set in Azure on the queue or topic itself. -#### [Receive messages from a queue through `ServiceBusReceiver.receive_messages()`][receive_reference] +#### [Receive messages from a queue through ServiceBusReceiver.receive_messages()][receive_reference] > **NOTE:** `ServiceBusReceiver.receive_messages()` receives a single or constrained list of messages through an ad-hoc method call, as opposed to receiving perpetually from the generator. It always returns a list. @@ -446,14 +446,14 @@ contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additio [service_bus_overview]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview [queue_status_codes]: https://docs.microsoft.com/rest/api/servicebus/create-queue#response-codes [service_bus_docs]: https://docs.microsoft.com/azure/service-bus/ -[service_bus_mgmt_docs]: https://docs.microsoft.com/en-us/python/api/overview/azure/servicebus/management?view=azure-python -[queue_concept]: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview#queues -[topic_concept]: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview#topics -[subscription_concept]: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-queues-topics-subscriptions#topics-and-subscriptions -[azure_namespace_creation]: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-create-namespace-portal +[service_bus_mgmt_docs]: https://docs.microsoft.com/python/api/overview/azure/servicebus/management?view=azure-python +[queue_concept]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview#queues +[topic_concept]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview#topics +[subscription_concept]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-queues-topics-subscriptions#topics-and-subscriptions +[azure_namespace_creation]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-create-namespace-portal [servicebus_management_repository]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/servicebus/azure-mgmt-servicebus -[get_servicebus_conn_str]: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-create-namespace-portal#get-the-connection-string -[servicebus_aad_authentication]: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-authentication-and-authorization +[get_servicebus_conn_str]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-create-namespace-portal#get-the-connection-string +[servicebus_aad_authentication]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-authentication-and-authorization [token_credential_interface]: ../../core/azure-core/azure/core/credentials.py [pypi_azure_identity]: https://pypi.org/project/azure-identity/ [message_reference]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/latest/azure.servicebus.html#azure.servicebus.Message @@ -462,6 +462,7 @@ contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additio [client_reference]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/latest/azure.servicebus.html#azure.servicebus.ServiceBusClient [send_reference]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/latest/azure.servicebus.html?highlight=send_messages#azure.servicebus.ServiceBusSender.send_messages [receive_reference]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/latest/azure.servicebus.html?highlight=receive#azure.servicebus.ServiceBusReceiver.receive_messages +[streaming_receive_reference]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/latest/azure.servicebus.html?highlight=get_streaming_message_iter#azure.servicebus.ServiceBusReceiver.get_streaming_message_iter [session_receive_reference]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/latest/azure.servicebus.html?highlight=receive#azure.servicebus.ServiceBusSessionReceiver.receive_messages [session_send_reference]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/latest/azure.servicebus.html?highlight=session_id#azure.servicebus.Message.session_id [complete_reference]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/latest/azure.servicebus.html?highlight=complete#azure.servicebus.ReceivedMessage.complete diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_common/auto_lock_renewer.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_common/auto_lock_renewer.py index cb9a939f6c01..f1744342bd68 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_common/auto_lock_renewer.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_common/auto_lock_renewer.py @@ -53,6 +53,17 @@ class AutoLockRenew(object): """ def __init__(self, executor=None, max_workers=None): + # type: (ThreadPoolExecutor, int) -> None + """Auto renew locks for messages and sessions using a background thread pool. + + :param executor: A user-specified thread pool. This cannot be combined with + setting `max_workers`. + :type executor: ~concurrent.futures.ThreadPoolExecutor + :param max_workers: Specify the maximum workers in the thread pool. If not + specified the number used will be derived from the core count of the environment. + This cannot be combined with `executor`. + :type max_workers: int + """ self._executor = executor or ThreadPoolExecutor(max_workers=max_workers) self._shutdown = threading.Event() self._sleep_time = 1 @@ -109,16 +120,18 @@ def _auto_lock_renew(self, renewable, starttime, timeout, on_lock_renew_failure= on_lock_renew_failure(renewable, error) def register(self, renewable, timeout=300, on_lock_renew_failure=None): + # type: (Union[ReceivedMessage, ServiceBusSession], float, Optional[LockRenewFailureCallback]) -> None """Register a renewable entity for automatic lock renewal. :param renewable: A locked entity that needs to be renewed. - :type renewable: ~azure.servicebus.ReceivedMessage or - ~azure.servicebus.ServiceBusSession - :param float timeout: A time in seconds that the lock should be maintained for. - Default value is 300 (5 minutes). - :param Optional[LockRenewFailureCallback] on_lock_renew_failure: - A callback may be specified to be called when the lock is lost on the renewable that is being registered. - Default value is None (no callback). + :type renewable: Union[~azure.servicebus.ReceivedMessage, ~azure.servicebus.ServiceBusSession] + :param timeout: A time in seconds that the lock should be maintained for. Default value is 300 (5 minutes). + :type timeout: float + :param on_lock_renew_failure: A callback may be specified to be called when the lock is lost on the renewable + that is being registered. Default value is None (no callback). + :type on_lock_renew_failure: Optional[LockRenewFailureCallback] + + :rtype: None """ if self._shutdown.is_set(): raise ServiceBusError("The AutoLockRenew has already been shutdown. Please create a new instance for" @@ -131,6 +144,8 @@ def close(self, wait=True): :param wait: Whether to block until thread pool has shutdown. Default is `True`. :type wait: bool + + :rtype: None """ self._shutdown.set() self._executor.shutdown(wait=wait) diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_common/message.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_common/message.py index 8d05221c8322..335c5a3be1a3 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_common/message.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_common/message.py @@ -9,7 +9,7 @@ import uuid import functools import logging -from typing import Optional, List, Union, Iterable, TYPE_CHECKING, Callable +from typing import Optional, List, Union, Iterable, TYPE_CHECKING, Callable, Any import uamqp.message @@ -52,7 +52,8 @@ MessageLockExpired, SessionLockExpired, MessageSettleFailed, - MessageContentTooLarge) + MessageContentTooLarge, + ServiceBusError) from .utils import utc_from_timestamp, utc_now, copy_messages_to_sendable_if_needed if TYPE_CHECKING: from .._servicebus_receiver import ServiceBusReceiver @@ -65,7 +66,7 @@ class Message(object): # pylint: disable=too-many-public-methods,too-many-insta """A Service Bus Message. :param body: The data to send in a single message. - :type body: str or bytes + :type body: Union[str, bytes] :keyword dict properties: The user defined properties on the message. :keyword str session_id: The session identifier of the message for a sessionful entity. @@ -95,6 +96,7 @@ class Message(object): # pylint: disable=too-many-public-methods,too-many-insta """ def __init__(self, body, **kwargs): + # type: (Union[str, bytes], Any) -> None # Although we might normally thread through **kwargs this causes # problems as MessageProperties won't absorb spurious args. self._encoding = kwargs.pop("encoding", 'UTF-8') @@ -491,7 +493,6 @@ class BatchMessage(object): :vartype message: ~uamqp.BatchMessage :param int max_size_in_bytes: The maximum size of bytes data that a BatchMessage object can hold. - """ def __init__(self, max_size_in_bytes=None): # type: (Optional[int]) -> None @@ -570,11 +571,11 @@ class PeekMessage(Message): This message is still on the queue, and unlocked. A peeked message cannot be completed, abandoned, dead-lettered or deferred. It has no lock token or expiry. - """ def __init__(self, message): - super(PeekMessage, self).__init__(None, message=message) + # type: (uamqp.message.Message) -> None + super(PeekMessage, self).__init__(None, message=message) # type: ignore def _to_outgoing_message(self): # type: () -> Message @@ -741,12 +742,17 @@ class ReceivedMessageBase(PeekMessage): """ def __init__(self, message, mode=ReceiveSettleMode.PeekLock, **kwargs): + # type: (uamqp.message.Message, ReceiveSettleMode, Any) -> None super(ReceivedMessageBase, self).__init__(message=message) self._settled = (mode == ReceiveSettleMode.ReceiveAndDelete) self._received_timestamp_utc = utc_now() self._is_deferred_message = kwargs.get("is_deferred_message", False) - self.auto_renew_error = None - self._receiver = None # type: ignore + self.auto_renew_error = None # type: Optional[Exception] + try: + self._receiver = kwargs.pop("receiver") # type: Union[ServiceBusReceiver, ServiceBusSessionReceiver] + except KeyError: + raise TypeError("ReceivedMessage requires a receiver to be initialized. This class should never be" + \ + "initialized by a user; the Message class should be utilized instead.") self._expiry = None def _check_live(self, action): @@ -769,6 +775,7 @@ def _check_live(self, action): def _settle_via_mgmt_link(self, settle_operation, dead_letter_reason=None, dead_letter_description=None): # type: (str, Optional[str], Optional[str]) -> Callable # pylint: disable=protected-access + if settle_operation == MESSAGE_COMPLETE: return functools.partial( self._receiver._settle_message, @@ -822,13 +829,14 @@ def _settle_via_receiver_link(self, settle_operation, dead_letter_reason=None, d @property def _lock_expired(self): # type: () -> bool + # pylint: disable=protected-access """ Whether the lock on the message has expired. :rtype: bool """ try: - if self._receiver.session: # pylint: disable=protected-access + if self._receiver.session: # type: ignore raise TypeError("Session messages do not expire. Please use the Session expiry instead.") except AttributeError: # Is not a session receiver pass @@ -859,6 +867,7 @@ def lock_token(self): @property def locked_until_utc(self): # type: () -> Optional[datetime.datetime] + # pylint: disable=protected-access """ The UTC datetime until which the message will be locked in the queue/subscription. When the lock expires, delivery count of hte message is incremented and the message @@ -867,7 +876,7 @@ def locked_until_utc(self): :rtype: datetime.datetime """ try: - if self._settled or self._receiver.session: # pylint: disable=protected-access + if self._settled or self._receiver.session: # type: ignore return None except AttributeError: # not settled, and isn't session receiver. pass @@ -1021,6 +1030,7 @@ def defer(self): def renew_lock(self): # type: () -> None + # pylint: disable=protected-access,no-member """Renew the message lock. This will maintain the lock on the message to ensure it is not returned to the queue @@ -1041,7 +1051,7 @@ def renew_lock(self): :raises: ~azure.servicebus.exceptions.MessageAlreadySettled is message has already been settled. """ try: - if self._receiver.session: + if self._receiver.session: # type: ignore raise TypeError("Session messages cannot be renewed. Please renew the Session lock instead.") except AttributeError: pass @@ -1050,5 +1060,5 @@ def renew_lock(self): if not token: raise ValueError("Unable to renew lock - no lock token found.") - expiry = self._receiver._renew_locks(token) # pylint: disable=protected-access,no-member + expiry = self._receiver._renew_locks(token) # type: ignore self._expiry = utc_from_timestamp(expiry[MGMT_RESPONSE_MESSAGE_EXPIRATION][0]/1000.0) diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_common/mgmt_handlers.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_common/mgmt_handlers.py index 48ebdfe156ec..c2cfa70a5e5a 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_common/mgmt_handlers.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_common/mgmt_handlers.py @@ -62,6 +62,7 @@ def deferred_message_op( status_code, message, description, + receiver, mode=ReceiveSettleMode.PeekLock, message_type=ReceivedMessage ): @@ -69,7 +70,7 @@ def deferred_message_op( parsed = [] for m in message.get_data()[b'messages']: wrapped = uamqp.Message.decode_from_bytes(bytearray(m[b'message'])) - parsed.append(message_type(wrapped, mode, is_deferred_message=True)) + parsed.append(message_type(wrapped, mode, is_deferred_message=True, receiver=receiver)) return parsed if status_code in [202, 204]: return [] diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_common/receiver_mixins.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_common/receiver_mixins.py index edd3404800cd..2a767e4795a6 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_common/receiver_mixins.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_common/receiver_mixins.py @@ -51,8 +51,7 @@ def _populate_attributes(self, **kwargs): self._max_wait_time = kwargs.get("max_wait_time", None) def _build_message(self, received, message_type=ReceivedMessage): - message = message_type(message=received, mode=self._mode) - message._receiver = self # pylint: disable=protected-access + message = message_type(message=received, mode=self._mode, receiver=self) self._last_received_sequenced_number = message.sequence_number return message diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_client.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_client.py index a5677f0b151c..787eafdbaf7e 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_client.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_client.py @@ -458,7 +458,7 @@ def get_subscription_deadletter_receiver(self, topic_name, subscription_name, ** return handler def get_subscription_session_receiver(self, topic_name, subscription_name, session_id=None, **kwargs): - # type: (str, str, str, Any) -> ServiceBusReceiver + # type: (str, str, str, Any) -> ServiceBusSessionReceiver """Get ServiceBusReceiver for the specific subscription under the topic. :param str topic_name: The name of specific Service Bus Topic the client connects to. diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_receiver.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_receiver.py index 7a322e6b76a0..130ff7a77f7e 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_receiver.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_receiver.py @@ -277,7 +277,7 @@ def _settle_message(self, settlement, lock_tokens, dead_letter_details=None): ) def _renew_locks(self, *lock_tokens): - # type: (*str) -> Any + # type: (str) -> Any message = {MGMT_REQUEST_LOCK_TOKENS: types.AMQPArray(lock_tokens)} return self._mgmt_request_response_with_retry( REQUEST_RESPONSE_RENEWLOCK_OPERATION, @@ -286,15 +286,25 @@ def _renew_locks(self, *lock_tokens): ) def get_streaming_message_iter(self, max_wait_time=None): + # type: (float) -> Iterator[ReceivedMessage] """Receive messages from an iterator indefinitely, or if a max_wait_time is specified, until such a timeout occurs. - :param float max_wait_time: Maximum time to wait in seconds for the next message to arrive. + :param max_wait_time: Maximum time to wait in seconds for the next message to arrive. If no messages arrive, and no timeout is specified, this call will not return until the connection is closed. If specified, and no messages arrive for the timeout period, the iterator will stop. + :type max_wait_time: float + :rtype: Iterator[ReceivedMessage] - :rtype Iterator[ReceivedMessage] + .. admonition:: Example: + + .. literalinclude:: ../samples/sync_samples/sample_code_servicebus.py + :start-after: [START receive_forever] + :end-before: [END receive_forever] + :language: python + :dedent: 4 + :caption: Receive indefinitely from an iterator in streaming fashion. """ return self._iter_contextual_wrapper(max_wait_time) @@ -308,6 +318,7 @@ def from_connection_string( """Create a ServiceBusReceiver from a connection string. :param conn_str: The connection string of a Service Bus. + :type conn_str: str :keyword str queue_name: The path of specific Service Bus Queue the client connects to. :keyword str topic_name: The path of specific Service Bus Topic which contains the Subscription the client connects to. @@ -384,7 +395,8 @@ def receive_messages(self, max_batch_size=None, max_wait_time=None): If no messages arrive, and no timeout is specified, this call will not return until the connection is closed. If specified, an no messages arrive within the timeout period, an empty list will be returned. - :rtype: list[~azure.servicebus.ReceivedMessage] + + :rtype: List[~azure.servicebus.ReceivedMessage] .. admonition:: Example: @@ -411,9 +423,9 @@ def receive_deferred_messages(self, sequence_numbers): When receiving deferred messages from a partitioned entity, all of the supplied sequence numbers must be messages from the same partition. - :param list[int] sequence_numbers: A list of the sequence numbers of messages that have been + :param List[int] sequence_numbers: A list of the sequence numbers of messages that have been deferred. - :rtype: list[~azure.servicebus.ReceivedMessage] + :rtype: List[~azure.servicebus.ReceivedMessage] .. admonition:: Example: @@ -440,14 +452,12 @@ def receive_deferred_messages(self, sequence_numbers): self._populate_message_properties(message) - handler = functools.partial(mgmt_handlers.deferred_message_op, mode=self._mode) + handler = functools.partial(mgmt_handlers.deferred_message_op, mode=self._mode, receiver=self) messages = self._mgmt_request_response_with_retry( REQUEST_RESPONSE_RECEIVE_BY_SEQUENCE_NUMBER, message, handler ) - for m in messages: - m._receiver = self # pylint: disable=protected-access return messages def peek_messages(self, message_count=1, sequence_number=None): @@ -460,7 +470,8 @@ def peek_messages(self, message_count=1, sequence_number=None): :param int message_count: The maximum number of messages to try and peek. The default value is 1. :param int sequence_number: A message sequence number from which to start browsing messages. - :rtype: list[~azure.servicebus.PeekMessage] + + :rtype: List[~azure.servicebus.PeekMessage] .. admonition:: Example: diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_sender.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_sender.py index d7b199502c69..a5a5131cac22 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_sender.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_sender.py @@ -198,10 +198,10 @@ def schedule_messages(self, messages, schedule_time_utc): """Send Message or multiple Messages to be enqueued at a specific time. Returns a list of the sequence numbers of the enqueued messages. :param messages: The message or list of messages to schedule. - :type messages: ~azure.servicebus.Message or list[~azure.servicebus.Message] + :type messages: Union[~azure.servicebus.Message, List[~azure.servicebus.Message]] :param schedule_time_utc: The utc date and time to enqueue the messages. :type schedule_time_utc: ~datetime.datetime - :rtype: list[int] + :rtype: List[int] .. admonition:: Example: @@ -266,6 +266,7 @@ def from_connection_string( """Create a ServiceBusSender from a connection string. :param conn_str: The connection string of a Service Bus. + :type conn_str: str :keyword str queue_name: The path of specific Service Bus Queue the client connects to. Only one of queue_name or topic_name can be provided. :keyword str topic_name: The path of specific Service Bus Topic the client connects to. @@ -280,7 +281,8 @@ def from_connection_string( keys: `'proxy_hostname'` (str value) and `'proxy_port'` (int value). Additionally the following keys may also be present: `'username', 'password'`. :keyword str user_agent: If specified, this will be added in front of the built-in user agent string. - :rtype: ~azure.servicebus.ServiceBusSenderClient + + :rtype: ~azure.servicebus.ServiceBusSender .. admonition:: Example: diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_session_receiver.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_session_receiver.py index 417abe97bf98..e69d30d2f847 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_session_receiver.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_session_receiver.py @@ -82,13 +82,14 @@ class ServiceBusSessionReceiver(ServiceBusReceiver, SessionReceiverMixin): """ def __init__(self, fully_qualified_namespace, credential, **kwargs): + # type: (str, TokenCredential, Any) -> None super(ServiceBusSessionReceiver, self).__init__(fully_qualified_namespace, credential, **kwargs) self._populate_session_attributes(**kwargs) self._session = ServiceBusSession(self._session_id, self, self._config.encoding) @property def session(self): - # type: ()->ServiceBusSession + # type: () -> ServiceBusSession """ Get the ServiceBusSession object linked with the receiver. Session is only available to session-enabled entities. @@ -115,7 +116,7 @@ def from_connection_string( # type: (str, Any) -> ServiceBusSessionReceiver """Create a ServiceBusSessionReceiver from a connection string. - :param conn_str: The connection string of a Service Bus. + :param str conn_str: The connection string of a Service Bus. :keyword str queue_name: The path of specific Service Bus Queue the client connects to. :keyword str topic_name: The path of specific Service Bus Topic which contains the Subscription the client connects to. diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_async_auto_lock_renewer.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_async_auto_lock_renewer.py index be006a36f1c8..fbbdc7cac69f 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_async_auto_lock_renewer.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_async_auto_lock_renewer.py @@ -72,8 +72,12 @@ def _renewable(self, renewable: Union[ReceivedMessage, ServiceBusSession]) -> bo return False if renewable._lock_expired: return False - if not renewable._receiver._running: - return False + try: + if not renewable._receiver._running: # type: ignore + return False + except AttributeError: # If for whatever reason the renewable isn't hooked up to a receiver + raise ServiceBusError("Cannot renew an entity without an associated receiver. " + "ReceivedMessage and active ServiceBusReceiver.Session objects are expected.") return True async def _auto_lock_renew(self, diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_async_message.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_async_message.py index 6bd8c7122864..2e6a66e5559a 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_async_message.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_async_message.py @@ -125,7 +125,8 @@ async def defer(self) -> None: # type: ignore await self._settle_message(MESSAGE_DEFER) self._settled = True - async def renew_lock(self) -> None: # type: ignore + async def renew_lock(self) -> None: + # pylint: disable=protected-access """Renew the message lock. This will maintain the lock on the message to ensure @@ -142,7 +143,7 @@ async def renew_lock(self) -> None: # type: ignore :raises: ~azure.servicebus.exceptions.MessageAlreadySettled is message has already been settled. """ try: - if self._receiver.session: # pylint: disable=protected-access + if self._receiver.session: # type: ignore raise TypeError("Session messages cannot be renewed. Please renew the Session lock instead.") except AttributeError: pass @@ -151,5 +152,5 @@ async def renew_lock(self) -> None: # type: ignore if not token: raise ValueError("Unable to renew lock - no lock token found.") - expiry = await self._receiver._renew_locks(token) # pylint: disable=protected-access + expiry = await self._receiver._renew_locks(token) # type: ignore self._expiry = utc_from_timestamp(expiry[MGMT_RESPONSE_MESSAGE_EXPIRATION][0]/1000.0) diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_base_handler_async.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_base_handler_async.py index f22ed2b058b1..125574319d79 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_base_handler_async.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_base_handler_async.py @@ -9,7 +9,7 @@ import uamqp from uamqp.message import MessageProperties -from .._base_handler import _generate_sas_token +from .._base_handler import _generate_sas_token, _AccessToken from .._common._configuration import Configuration from .._common.utils import create_properties from .._common.constants import ( @@ -23,7 +23,7 @@ ) if TYPE_CHECKING: - from azure.core.credentials import TokenCredential + from azure.core.credentials import TokenCredential, AccessToken _LOGGER = logging.getLogger(__name__) @@ -35,12 +35,12 @@ class ServiceBusSharedKeyCredential(object): :param str key: The shared access key. """ - def __init__(self, policy: str, key: str): + def __init__(self, policy: str, key: str) -> None: self.policy = policy self.key = key self.token_type = TOKEN_TYPE_SASTOKEN - async def get_token(self, *scopes, **kwargs): # pylint:disable=unused-argument + async def get_token(self, *scopes: str, **kwargs: Any) -> _AccessToken: # pylint:disable=unused-argument if not scopes: raise ValueError("No token scope provided.") return _generate_sas_token(scopes[0], self.policy, self.key) diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_client_async.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_client_async.py index bf34ba0c413d..eae7adb06f42 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_client_async.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_client_async.py @@ -102,7 +102,7 @@ def from_connection_string( """ Create a ServiceBusClient from a connection string. - :param conn_str: The connection string of a Service Bus. + :param str conn_str: The connection string of a Service Bus. :keyword str entity_name: Optional entity name, this can be the name of Queue or Topic. It must be specified if the credential is for specific Queue or Topic. :keyword bool logging_enable: Whether to output network trace logs to the logger. Default is `False`. @@ -129,7 +129,7 @@ def from_connection_string( return cls( fully_qualified_namespace=host, entity_name=entity_in_conn_str or kwargs.pop("entity_name", None), - credential=ServiceBusSharedKeyCredential(policy, key), + credential=ServiceBusSharedKeyCredential(policy, key), # type: ignore **kwargs ) @@ -459,7 +459,7 @@ def get_subscription_deadletter_receiver(self, topic_name, subscription_name, ** return handler def get_subscription_session_receiver(self, topic_name, subscription_name, session_id=None, **kwargs): - # type: (str, str, str, Any) -> ServiceBusReceiver + # type: (str, str, str, Any) -> ServiceBusSessionReceiver """Get ServiceBusReceiver for the specific subscription under the topic. :param str topic_name: The name of specific Service Bus Topic the client connects to. diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_receiver_async.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_receiver_async.py index 571bcdc1610b..ac3a7a672f9d 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_receiver_async.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_receiver_async.py @@ -103,7 +103,7 @@ def __init__( fully_qualified_namespace: str, credential: "TokenCredential", **kwargs: Any - ): + ) -> None: self._message_iter = None # type: Optional[AsyncIterator[ReceivedMessage]] if kwargs.get("entity_name"): super(ServiceBusReceiver, self).__init__( @@ -293,6 +293,15 @@ def get_streaming_message_iter(self, max_wait_time: float = None) -> AsyncIterat timeout period, the iterator will stop. :rtype AsyncIterator[ReceivedMessage] + + .. admonition:: Example: + + .. literalinclude:: ../samples/async_samples/sample_code_servicebus.py + :start-after: [START receive_forever_async] + :end-before: [END receive_forever_async] + :language: python + :dedent: 4 + :caption: Receive indefinitely from an iterator in streaming fashion. """ return self._IterContextualWrapper(self, max_wait_time) @@ -304,7 +313,7 @@ def from_connection_string( ) -> "ServiceBusReceiver": """Create a ServiceBusReceiver from a connection string. - :param conn_str: The connection string of a Service Bus. + :param str conn_str: The connection string of a Service Bus. :keyword str queue_name: The path of specific Service Bus Queue the client connects to. :keyword str topic_name: The path of specific Service Bus Topic which contains the Subscription the client connects to. @@ -437,14 +446,15 @@ async def receive_deferred_messages(self, sequence_numbers): self._populate_message_properties(message) - handler = functools.partial(mgmt_handlers.deferred_message_op, mode=self._mode, message_type=ReceivedMessage) + handler = functools.partial(mgmt_handlers.deferred_message_op, + mode=self._mode, + message_type=ReceivedMessage, + receiver=self) messages = await self._mgmt_request_response_with_retry( REQUEST_RESPONSE_RECEIVE_BY_SEQUENCE_NUMBER, message, handler ) - for m in messages: - m._receiver = self # pylint: disable=protected-access return messages async def peek_messages(self, message_count=1, sequence_number=0): diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_sender_async.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_sender_async.py index b82d8d754e51..4171981a4599 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_sender_async.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_sender_async.py @@ -75,7 +75,7 @@ def __init__( fully_qualified_namespace: str, credential: "TokenCredential", **kwargs: Any - ): + ) -> None: if kwargs.get("entity_name"): super(ServiceBusSender, self).__init__( fully_qualified_namespace=fully_qualified_namespace, @@ -208,7 +208,7 @@ def from_connection_string( ) -> "ServiceBusSender": """Create a ServiceBusSender from a connection string. - :param conn_str: The connection string of a Service Bus. + :param str conn_str: The connection string of a Service Bus. :keyword str queue_name: The path of specific Service Bus Queue the client connects to. :keyword str topic_name: The path of specific Service Bus Topic the client connects to. :keyword bool logging_enable: Whether to output network trace logs to the logger. Default is `False`. diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_session_async.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_session_async.py index 9fe8b58c39a9..b2446d8ed411 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_session_async.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_session_async.py @@ -73,6 +73,7 @@ async def set_session_state(self, state): :param state: The state value. :type state: str, bytes or bytearray + :rtype: None .. admonition:: Example: @@ -103,6 +104,8 @@ async def renew_lock(self): This operation can also be performed as a threaded background task by registering the session with an `azure.servicebus.aio.AutoLockRenew` instance. + :rtype: None + .. admonition:: Example: .. literalinclude:: ../samples/async_samples/sample_code_servicebus_async.py diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_session_receiver_async.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_session_receiver_async.py index f56336569da9..ffc808f7b819 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_session_receiver_async.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/_servicebus_session_receiver_async.py @@ -86,7 +86,7 @@ def __init__( fully_qualified_namespace: str, credential: "TokenCredential", **kwargs: Any - ): + ) -> None: super(ServiceBusSessionReceiver, self).__init__(fully_qualified_namespace, credential, **kwargs) self._populate_session_attributes(**kwargs) self._session = ServiceBusSession(self._session_id, self, self._config.encoding) @@ -99,7 +99,7 @@ def from_connection_string( ) -> "ServiceBusSessionReceiver": """Create a ServiceBusSessionReceiver from a connection string. - :param conn_str: The connection string of a Service Bus. + :param str conn_str: The connection string of a Service Bus. :keyword str queue_name: The path of specific Service Bus Queue the client connects to. :keyword str topic_name: The path of specific Service Bus Topic which contains the Subscription the client connects to. diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/management/_management_client_async.py b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/management/_management_client_async.py index 2712c0076987..33aba6288654 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/aio/management/_management_client_async.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/aio/management/_management_client_async.py @@ -130,7 +130,7 @@ async def _get_rule_element(self, topic_name, subscription_name, rule_name, **kw return element @classmethod - def from_connection_string(cls, conn_str: str, **kwargs) -> "ServiceBusManagementClient": + def from_connection_string(cls, conn_str: str, **kwargs: Any) -> "ServiceBusManagementClient": """Create a client from connection string. :param str conn_str: The connection string of the Service Bus Namespace. @@ -322,7 +322,7 @@ async def delete_queue(self, queue: Union[str, QueueProperties], **kwargs) -> No with _handle_response_error(): await self._impl.entity.delete(queue_name, api_version=constants.API_VERSION, **kwargs) - def list_queues(self, **kwargs) -> AsyncItemPaged[QueueProperties]: + def list_queues(self, **kwargs: Any) -> AsyncItemPaged[QueueProperties]: """List the queues of a ServiceBus namespace. :returns: An iterable (auto-paging) response of QueueProperties. @@ -342,7 +342,7 @@ def entry_to_qd(entry): return AsyncItemPaged( get_next, extract_data) - def list_queues_runtime_info(self, **kwargs) -> AsyncItemPaged[QueueRuntimeProperties]: + def list_queues_runtime_info(self, **kwargs: Any) -> AsyncItemPaged[QueueRuntimeProperties]: """List the runtime information of the queues in a ServiceBus namespace. :returns: An iterable (auto-paging) response of QueueRuntimeProperties. @@ -522,7 +522,7 @@ async def delete_topic(self, topic: Union[str, TopicProperties], **kwargs) -> No topic_name = topic await self._impl.entity.delete(topic_name, api_version=constants.API_VERSION, **kwargs) - def list_topics(self, **kwargs) -> AsyncItemPaged[TopicProperties]: + def list_topics(self, **kwargs: Any) -> AsyncItemPaged[TopicProperties]: """List the topics of a ServiceBus namespace. :returns: An iterable (auto-paging) response of TopicProperties. @@ -541,7 +541,7 @@ def entry_to_topic(entry): return AsyncItemPaged( get_next, extract_data) - def list_topics_runtime_info(self, **kwargs) -> AsyncItemPaged[TopicRuntimeProperties]: + def list_topics_runtime_info(self, **kwargs: Any) -> AsyncItemPaged[TopicRuntimeProperties]: """List the topics runtime information of a ServiceBus namespace. :returns: An iterable (auto-paging) response of TopicRuntimeProperties. @@ -753,7 +753,7 @@ async def delete_subscription( await self._impl.subscription.delete(topic_name, subscription_name, api_version=constants.API_VERSION, **kwargs) def list_subscriptions( - self, topic: Union[str, TopicProperties], **kwargs) -> AsyncItemPaged[SubscriptionProperties]: + self, topic: Union[str, TopicProperties], **kwargs: Any) -> AsyncItemPaged[SubscriptionProperties]: """List the subscriptions of a ServiceBus Topic. :param Union[str, ~azure.servicebus.management.TopicProperties] topic: The topic that owns the subscription. @@ -780,7 +780,7 @@ def entry_to_subscription(entry): get_next, extract_data) def list_subscriptions_runtime_info( - self, topic: Union[str, TopicProperties], **kwargs) -> AsyncItemPaged[SubscriptionRuntimeProperties]: + self, topic: Union[str, TopicProperties], **kwargs: Any) -> AsyncItemPaged[SubscriptionRuntimeProperties]: """List the subscriptions runtime information of a ServiceBus. :param Union[str, ~azure.servicebus.management.TopicProperties] topic: The topic that owns the subscription. @@ -960,7 +960,10 @@ async def delete_rule( topic_name, subscription_name, rule_name, api_version=constants.API_VERSION, **kwargs) def list_rules( - self, topic: Union[str, TopicProperties], subscription: Union[str, SubscriptionProperties], **kwargs + self, + topic: Union[str, TopicProperties], + subscription: Union[str, SubscriptionProperties], + **kwargs: Any ) -> AsyncItemPaged[RuleProperties]: """List the rules of a topic subscription. diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/exceptions.py b/sdk/servicebus/azure-servicebus/azure/servicebus/exceptions.py index e929b9e2b062..6daec6210d7b 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/exceptions.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/exceptions.py @@ -4,6 +4,8 @@ # license information. # ------------------------------------------------------------------------- +from typing import Optional + from uamqp import errors, constants from ._common.constants import SESSION_LOCK_LOST, SESSION_LOCK_TIMEOUT @@ -158,6 +160,7 @@ class ServiceBusError(Exception): """ def __init__(self, message, inner_exception=None): + # type: (Optional[str], Optional[Exception]) -> None self.inner_exception = inner_exception super(ServiceBusError, self).__init__(message) @@ -205,6 +208,7 @@ class MessageAlreadySettled(MessageError): """ def __init__(self, action): + # type: (str) -> None message = "Unable to {} message as it has already been settled".format(action) super(MessageAlreadySettled, self).__init__(message) @@ -213,6 +217,7 @@ class MessageSettleFailed(ServiceBusError): """Attempt to settle a message failed.""" def __init__(self, action, inner_exception): + # type: (str, Exception) -> None message = "Failed to {} message. Error: {}".format(action, inner_exception) self.inner_exception = inner_exception super(MessageSettleFailed, self).__init__(message, inner_exception) @@ -222,12 +227,13 @@ class MessageSendFailed(ServiceBusError): """A message failed to send to the Service Bus entity.""" def __init__(self, inner_exception): + # type: (Exception) -> None message = "Message failed to send. Error: {}".format(inner_exception) self.condition = None self.description = None if hasattr(inner_exception, 'condition'): - self.condition = inner_exception.condition - self.description = inner_exception.description + self.condition = inner_exception.condition # type: ignore + self.description = inner_exception.description # type: ignore self.inner_exception = inner_exception super(MessageSendFailed, self).__init__(message, inner_exception) @@ -240,6 +246,7 @@ class MessageLockExpired(ServiceBusError): """ def __init__(self, message=None, inner_exception=None): + # type: (Optional[str], Optional[Exception]) -> None message = message or "Message lock expired" super(MessageLockExpired, self).__init__(message, inner_exception=inner_exception) @@ -252,6 +259,7 @@ class SessionLockExpired(ServiceBusError): """ def __init__(self, message=None, inner_exception=None): + # type: (Optional[str], Optional[Exception]) -> None message = message or "Session lock expired" super(SessionLockExpired, self).__init__(message, inner_exception=inner_exception) diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/management/_management_client.py b/sdk/servicebus/azure-servicebus/azure/servicebus/management/_management_client.py index 56aaeed2e111..9c326af09dd6 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/management/_management_client.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/management/_management_client.py @@ -939,7 +939,7 @@ def update_rule(self, topic, subscription, rule, **kwargs): ) def delete_rule(self, topic, subscription, rule, **kwargs): - # type: (Union[str, TopicProperties], Union[str, SubscriptionProperties], Union[str, RuleProperties], Any) -> None # pylint:disable=line-too-long + # type: (Union[str,TopicProperties], Union[str,SubscriptionProperties], Union[str,RuleProperties], Any) -> None """Delete a topic subscription rule. :param Union[str, ~azure.servicebus.management.TopicProperties] topic: The topic that owns the subscription. diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/management/_models.py b/sdk/servicebus/azure-servicebus/azure/servicebus/management/_models.py index dc21c2e1ae13..1bf01ae807a5 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/management/_models.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/management/_models.py @@ -260,7 +260,8 @@ class QueueRuntimeProperties(object): def __init__( self, ): - self._name = None + # type: () -> None + self._name = None # type: Optional[str] self._internal_qr = None # type: Optional[InternalQueueDescription] @classmethod @@ -501,7 +502,8 @@ class TopicRuntimeProperties(object): def __init__( self, ): - self._name = None + # type: () -> None + self._name = None # type: Optional[str] self._internal_td = None # type: Optional[InternalTopicDescription] @classmethod @@ -692,8 +694,9 @@ class SubscriptionRuntimeProperties(object): """ def __init__(self): + # type: () -> None self._internal_sd = None # type: Optional[InternalSubscriptionDescription] - self._name = None + self._name = None # type: Optional[str] @classmethod def _from_internal_entity(cls, name, internal_subscription): @@ -944,6 +947,7 @@ class TrueRuleFilter(SqlRuleFilter): """A sql filter with a sql expression that is always True """ def __init__(self): + # type: () -> None super(TrueRuleFilter, self).__init__("1=1", None, True) def _to_internal_entity(self): @@ -959,6 +963,7 @@ class FalseRuleFilter(SqlRuleFilter): """A sql filter with a sql expression that is always True """ def __init__(self): + # type: () -> None super(FalseRuleFilter, self).__init__("1>1", None, True) def _to_internal_entity(self): diff --git a/sdk/servicebus/azure-servicebus/samples/README.md b/sdk/servicebus/azure-servicebus/samples/README.md index 5745df3efec8..103a49d2e729 100644 --- a/sdk/servicebus/azure-servicebus/samples/README.md +++ b/sdk/servicebus/azure-servicebus/samples/README.md @@ -41,9 +41,12 @@ Both [sync version](./sync_samples) and [async version](./async_samples) of samp - [session_send_receive.py](./sync_samples/session_send_receive.py) ([async_version](./async_samples/session_send_receive_async.py)) - Examples to send messages to and receive messages from a session-enabled service bus queue: - Send messages to a session-enabled queue - Receive messages from session-enabled queue -- [schedule_messages_and_cancellation](./sync_samples/schedule_messages_and_cancellation.py) ([async_version](./async_samples/schedule_messages_and_cancellation_async.py)) - Examples to schedule messages and cancel scheduled message: - - Schedule a single message or multiples messages to a queue +- [schedule_messages_and_cancellation](./sync_samples/schedule_messages_and_cancellation.py) ([async_version](./async_samples/schedule_messages_and_cancellation_async.py)) - Examples to schedule messages and cancel scheduled messages on a service bus queue: + - Schedule a single message or multiple messages to a queue - Cancel scheduled messages from a queue +- [schedule_topic_messages_and_cancellation](./sync_samples/schedule_topic_messages_and_cancellation.py) ([async_version](./async_samples/schedule_topic_messages_and_cancellation_async.py)) - Examples to schedule messages and cancel scheduled messages on a service bus topic: + - Schedule a single message or multiple messages to a topic + - Cancel scheduled messages from a topic - [client_identity_authentication.py](./sync_samples/client_identity_authentication.py) ([async_version](./async_samples/client_identity_authentication_async.py)) - Examples to authenticate the client by Azure Activate Directory - Authenticate and create the client utilizing the `azure.identity` library - [proxy.py](./sync_samples/proxy.py) ([async_version](./async_samples/proxy_async.py)) - Examples to send message behind a proxy: diff --git a/sdk/servicebus/azure-servicebus/samples/async_samples/sample_code_servicebus_async.py b/sdk/servicebus/azure-servicebus/samples/async_samples/sample_code_servicebus_async.py index e4b9fa76d014..cd336eb041c1 100644 --- a/sdk/servicebus/azure-servicebus/samples/async_samples/sample_code_servicebus_async.py +++ b/sdk/servicebus/azure-servicebus/samples/async_samples/sample_code_servicebus_async.py @@ -217,6 +217,13 @@ async def example_send_and_receive_async(): await message.complete() # [END receive_async] + # [START receive_forever_async] + async with servicebus_receiver: + async for message in servicebus_receiver.get_streaming_message_iter(): + print(str(message)) + await message.complete() + # [END receive_forever_async] + # [START auto_lock_renew_message_async] from azure.servicebus.aio import AutoLockRenew diff --git a/sdk/servicebus/azure-servicebus/samples/async_samples/schedule_topic_messages_and_cancellation_async.py b/sdk/servicebus/azure-servicebus/samples/async_samples/schedule_topic_messages_and_cancellation_async.py new file mode 100644 index 000000000000..7329d9db7e7d --- /dev/null +++ b/sdk/servicebus/azure-servicebus/samples/async_samples/schedule_topic_messages_and_cancellation_async.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +""" +Example to show scheduling messages to and cancelling messages from a Service Bus Topic asynchronously. +""" + +# pylint: disable=C0111 + +import os +import asyncio +import datetime +from azure.servicebus.aio import ServiceBusClient +from azure.servicebus import Message + +CONNECTION_STR = os.environ["SERVICE_BUS_CONNECTION_STR"] +TOPIC_NAME = os.environ["SERVICE_BUS_TOPIC_NAME"] + + +async def schedule_single_message(sender): + message = Message("Message to be scheduled") + scheduled_time_utc = datetime.datetime.utcnow() + datetime.timedelta(seconds=30) + sequence_number = await sender.schedule_messages(message, scheduled_time_utc) + return sequence_number + + +async def schedule_multiple_messages(sender): + messages_to_schedule = [] + for _ in range(10): + messages_to_schedule.append(Message("Message to be scheduled")) + + scheduled_time_utc = datetime.datetime.utcnow() + datetime.timedelta(seconds=30) + sequence_numbers = await sender.schedule_messages( + messages_to_schedule, scheduled_time_utc + ) + return sequence_numbers + + +async def main(): + servicebus_client = ServiceBusClient.from_connection_string( + conn_str=CONNECTION_STR, logging_enable=True + ) + async with servicebus_client: + sender = servicebus_client.get_topic_sender(topic_name=TOPIC_NAME) + async with sender: + sequence_number = await schedule_single_message(sender) + print( + "Single message is scheduled and sequence number is {}".format( + sequence_number + ) + ) + sequence_numbers = await schedule_multiple_messages(sender) + print( + "Multiple messages are scheduled and sequence numbers are {}".format( + sequence_numbers + ) + ) + + await sender.cancel_scheduled_messages(sequence_number) + await sender.cancel_scheduled_messages(sequence_numbers) + print("All scheduled messages are cancelled.") + + +loop = asyncio.get_event_loop() +loop.run_until_complete(main()) diff --git a/sdk/servicebus/azure-servicebus/samples/sync_samples/sample_code_servicebus.py b/sdk/servicebus/azure-servicebus/samples/sync_samples/sample_code_servicebus.py index 1e6393b8f288..28626350d835 100644 --- a/sdk/servicebus/azure-servicebus/samples/sync_samples/sample_code_servicebus.py +++ b/sdk/servicebus/azure-servicebus/samples/sync_samples/sample_code_servicebus.py @@ -258,6 +258,14 @@ def example_send_and_receive_sync(): message.abandon() # [END abandon_message] + # [START receive_forever] + with servicebus_receiver: + for message in servicebus_receiver.get_streaming_message_iter(): + print(str(message)) + message.complete() + # [END receive_forever] + + def example_receive_deferred_sync(): servicebus_sender = example_create_servicebus_sender_sync() servicebus_receiver = example_create_servicebus_receiver_sync() diff --git a/sdk/servicebus/azure-servicebus/samples/sync_samples/schedule_topic_messages_and_cancellation.py b/sdk/servicebus/azure-servicebus/samples/sync_samples/schedule_topic_messages_and_cancellation.py new file mode 100644 index 000000000000..05c74b73df99 --- /dev/null +++ b/sdk/servicebus/azure-servicebus/samples/sync_samples/schedule_topic_messages_and_cancellation.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +""" +Example to show scheduling messages to and cancelling messages from a Service Bus Queue. +""" + +# pylint: disable=C0111 + +import os +import datetime +from azure.servicebus import ServiceBusClient, Message + +CONNECTION_STR = os.environ["SERVICE_BUS_CONNECTION_STR"] +TOPIC_NAME = os.environ["SERVICE_BUS_TOPIC_NAME"] + + +def schedule_single_message(sender): + message = Message("Message to be scheduled") + scheduled_time_utc = datetime.datetime.utcnow() + datetime.timedelta(seconds=30) + sequence_number = sender.schedule_messages(message, scheduled_time_utc) + return sequence_number + + +def schedule_multiple_messages(sender): + messages_to_schedule = [] + for _ in range(10): + messages_to_schedule.append(Message("Message to be scheduled")) + + scheduled_time_utc = datetime.datetime.utcnow() + datetime.timedelta(seconds=30) + sequence_numbers = sender.schedule_messages( + messages_to_schedule, scheduled_time_utc + ) + return sequence_numbers + + +def main(): + servicebus_client = ServiceBusClient.from_connection_string( + conn_str=CONNECTION_STR, logging_enable=True + ) + with servicebus_client: + sender = servicebus_client.get_topic_sender(topic_name=TOPIC_NAME) + with sender: + sequence_number = schedule_single_message(sender) + print( + "Single message is scheduled and sequence number is {}".format( + sequence_number + ) + ) + sequence_numbers = schedule_multiple_messages(sender) + print( + "Multiple messages are scheduled and sequence numbers are {}".format( + sequence_numbers + ) + ) + + sender.cancel_scheduled_messages(sequence_number) + sender.cancel_scheduled_messages(sequence_numbers) + print("All scheduled messages are cancelled.") + + +if __name__ == "__main__": + main() diff --git a/sdk/servicebus/azure-servicebus/setup.py b/sdk/servicebus/azure-servicebus/setup.py index 4f8f2ccfee06..a66b6aec3de1 100644 --- a/sdk/servicebus/azure-servicebus/setup.py +++ b/sdk/servicebus/azure-servicebus/setup.py @@ -79,7 +79,6 @@ ]), install_requires=[ 'uamqp>=1.2.10,<2.0.0', - 'msrestazure>=0.4.32,<2.0.0', 'azure-common~=1.1', 'msrest>=0.6.17,<2.0.0', 'azure-core<2.0.0,>=1.6.0', diff --git a/sdk/servicebus/azure-servicebus/swagger/README.md b/sdk/servicebus/azure-servicebus/swagger/README.md index 541333f633ec..dad62935f625 100644 --- a/sdk/servicebus/azure-servicebus/swagger/README.md +++ b/sdk/servicebus/azure-servicebus/swagger/README.md @@ -2,28 +2,18 @@ > see https://aka.ms/autorest -### Setup -```ps -cd C:\work -git clone --recursive https://github.com/Azure/autorest.python.git -cd autorest.python -git checkout azure-core -npm install -``` ### Generation ```ps cd C:\Work\ServiceBus\ -autorest --use=@autorest/python@5.0.0-preview.6 +autorest --v3 --python --use=@autorest/python@5.0.0-preview.6 ``` ### Settings ``` yaml -input-file: https://raw.githubusercontent.com/YijunXieMS/azure-rest-api-specs-pr/servicebus_mgmt/specification/servicebus/data-plane/servicebus-swagger.json?token=ALQFVABEGSXQX2IEVU26V2K7AYZ4K +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/sb_dataplane_namespace/specification/servicebus/data-plane/servicebus-swagger.json output-folder: ../azure/servicebus/management/_generated namespace: azure.servicebus.management._generated no-namespace-folders: true license-header: MICROSOFT_MIT_NO_VERSION -enable-xml: false -vanilla: true clear-output-folder: true python: true package-version: "2017-04" diff --git a/sdk/servicebus/azure-servicebus/tests/async_tests/test_queues_async.py b/sdk/servicebus/azure-servicebus/tests/async_tests/test_queues_async.py index 785e12d60418..7e99a5ab6921 100644 --- a/sdk/servicebus/azure-servicebus/tests/async_tests/test_queues_async.py +++ b/sdk/servicebus/azure-servicebus/tests/async_tests/test_queues_async.py @@ -1332,12 +1332,15 @@ async def test_queue_receive_keep_conn_alive_async(self, servicebus_namespace_co servicebus_namespace_connection_string, logging_enable=False) as sb_client: sender = sb_client.get_queue_sender(servicebus_queue.name) - receiver = sb_client.get_queue_receiver(servicebus_queue.name) + receiver = sb_client.get_queue_receiver(servicebus_queue.name, max_wait_time=5) async with sender, receiver: await sender.send_messages([Message("message1"), Message("message2")]) - messages = await receiver.receive_messages(max_batch_size=20, max_wait_time=5) + messages = [] + async for message in receiver: + messages.append(message) + receiver_handler = receiver._handler assert len(messages) == 2 await asyncio.sleep(4 * 60 + 5) # 240s is the service defined connection idle timeout @@ -1346,7 +1349,10 @@ async def test_queue_receive_keep_conn_alive_async(self, servicebus_namespace_co await messages[1].complete() # check receiver link operation await asyncio.sleep(60) # sleep another one minute to ensure we pass the lock_duration time - messages = await receiver.receive_messages(max_batch_size=20, max_wait_time=5) + messages = [] + async for message in receiver: + messages.append(message) + assert len(messages) == 0 # make sure messages are removed from the queue assert receiver_handler == receiver._handler # make sure no reconnection happened diff --git a/sdk/servicebus/azure-servicebus/tests/test_queues.py b/sdk/servicebus/azure-servicebus/tests/test_queues.py index 5d1b27892554..e41c7d14a24b 100644 --- a/sdk/servicebus/azure-servicebus/tests/test_queues.py +++ b/sdk/servicebus/azure-servicebus/tests/test_queues.py @@ -1558,7 +1558,7 @@ def test_queue_message_properties(self): }, properties=uamqp.message.MessageProperties() ) - received_message = ReceivedMessage(uamqp_received_message) + received_message = ReceivedMessage(uamqp_received_message, receiver=None) assert received_message.partition_key == 'r_key' assert received_message.via_partition_key == 'r_via_key' assert received_message.scheduled_enqueue_time_utc == new_scheduled_time @@ -1710,12 +1710,15 @@ def test_queue_receive_keep_conn_alive(self, servicebus_namespace_connection_str servicebus_namespace_connection_string, logging_enable=False) as sb_client: sender = sb_client.get_queue_sender(servicebus_queue.name) - receiver = sb_client.get_queue_receiver(servicebus_queue.name) + receiver = sb_client.get_queue_receiver(servicebus_queue.name, max_wait_time=5) with sender, receiver: sender.send_messages([Message("message1"), Message("message2")]) - messages = receiver.receive_messages(max_batch_size=20, max_wait_time=5) + messages = [] + for message in receiver: + messages.append(message) + receiver_handler = receiver._handler assert len(messages) == 2 time.sleep(4 * 60 + 5) # 240s is the service defined connection idle timeout @@ -1724,7 +1727,11 @@ def test_queue_receive_keep_conn_alive(self, servicebus_namespace_connection_str messages[1].complete() # check receiver link operation time.sleep(60) # sleep another one minute to ensure we pass the lock_duration time - messages = receiver.receive_messages(max_batch_size=20, max_wait_time=5) + + messages = [] + for message in receiver: + messages.append(message) + assert len(messages) == 0 # make sure messages are removed from the queue assert receiver_handler == receiver._handler # make sure no reconnection happened diff --git a/sdk/servicebus/ci.yml b/sdk/servicebus/ci.yml index 29f5e55ae4ef..47fdaf2c29a0 100644 --- a/sdk/servicebus/ci.yml +++ b/sdk/servicebus/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/servicefabric/ci.yml b/sdk/servicefabric/ci.yml index a2ccb391f94b..8c2cee46ec5f 100644 --- a/sdk/servicefabric/ci.yml +++ b/sdk/servicefabric/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -32,4 +31,4 @@ extends: - name: azure_mgmt_servicefabric safeName: azuremgmtservicefabric - name: azure_servicefabric - safeName: azureservicefabric \ No newline at end of file + safeName: azureservicefabric diff --git a/sdk/signalr/ci.yml b/sdk/signalr/ci.yml index 18a2e32044e8..368bdd2aca14 100644 --- a/sdk/signalr/ci.yml +++ b/sdk/signalr/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: signalr Artifacts: - name: azure_mgmt_signalr - safeName: azuremgmtsignalr \ No newline at end of file + safeName: azuremgmtsignalr diff --git a/sdk/sql/ci.yml b/sdk/sql/ci.yml index 54ed8c35a6db..5bd82121cf21 100644 --- a/sdk/sql/ci.yml +++ b/sdk/sql/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -32,4 +31,4 @@ extends: - name: azure_mgmt_sql safeName: azuremgmtsql - name: azure_mgmt_sqlvirtualmachine - safeName: azuremgmtsqlvirtualmachine \ No newline at end of file + safeName: azuremgmtsqlvirtualmachine diff --git a/sdk/storage/azure-storage-blob-changefeed/README.md b/sdk/storage/azure-storage-blob-changefeed/README.md index 4136ad3415ec..001b118d4c9b 100644 --- a/sdk/storage/azure-storage-blob-changefeed/README.md +++ b/sdk/storage/azure-storage-blob-changefeed/README.md @@ -11,7 +11,7 @@ This preview package for Python enables users to get blob change feed events. Th ### Prerequisites * Python 2.7, or 3.5 or later is required to use this package. * You must have an [Azure subscription](https://azure.microsoft.com/free/) and an -[Azure storage account](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account) to use this package. +[Azure storage account](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account) to use this package. ### Install the package Install the Azure Storage Blob ChangeFeed client library for Python with [pip](https://pypi.org/project/pip/): @@ -36,9 +36,9 @@ az storage account create -n my-storage-account-name -g my-resource-group ``` To enable changefeed you can use: -[Azure Portal](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-change-feed?tabs=azure-portal#enable-and-disable-the-change-feed) -[Azure PowerShell](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-change-feed?tabs=azure-powershell#enable-and-disable-the-change-feed) -or [Template](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-change-feed?tabs=template#enable-and-disable-the-change-feed) +[Azure Portal](https://docs.microsoft.com/azure/storage/blobs/storage-blob-change-feed?tabs=azure-portal#enable-and-disable-the-change-feed) +[Azure PowerShell](https://docs.microsoft.com/azure/storage/blobs/storage-blob-change-feed?tabs=azure-powershell#enable-and-disable-the-change-feed) +or [Template](https://docs.microsoft.com/azure/storage/blobs/storage-blob-change-feed?tabs=template#enable-and-disable-the-change-feed) ### Authenticate the client diff --git a/sdk/storage/azure-storage-blob/CHANGELOG.md b/sdk/storage/azure-storage-blob/CHANGELOG.md index 576d0303cd4c..30a3f9a13bbf 100644 --- a/sdk/storage/azure-storage-blob/CHANGELOG.md +++ b/sdk/storage/azure-storage-blob/CHANGELOG.md @@ -1,5 +1,20 @@ # Release History +## 12.4.0 (2020-08-12) +**New features** +- Added support for Object Replication Service on `list_blobs` and `get_blob_properties`. +- Added more support for blob tags. Added `if_tags_match_condition` that allow a user to specify a SQL statement for the blob's tags to satisfy. +- Added support for setting and getting the `default_index_document_path` of `StaticWebsite` property on the service client. +- Added `rehydrate_priority` to BlobProperties. +- Added support to seal an append blob. Added `test_seal_append_blob`. Added ability to specify `seal_destination_blob` on `start_copy_from_url`. `is_append_blob_sealed` property returned on get_blob_properties/download_blob/list_blobs. +- Added support to set tier on a snapshot or version. + +**Fixes** +- Fixed the bug when parsing blob url with '/' in blob name (#12563, #12568). +- Support batch delete empty blob list (#12778, #12779). +- Fixed `blob_samples_query` bug. +- Fixed empty etag in acquire_blob response (#8490). + ## 12.4.0b1 (2020-07-07) **New features** - Added `query_blob` API to enable users to select/project on block blob or block blob snapshot data by providing simple query expressions. diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py index b5366051d7ac..f78cf7319140 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py @@ -44,7 +44,7 @@ get_api_version, serialize_blob_tags_header, serialize_blob_tags, - serialize_query_format + serialize_query_format, get_access_conditions ) from ._deserialize import get_page_ranges_result, deserialize_blob_properties, deserialize_blob_stream, parse_tags from ._quick_query_helper import BlobQueryReader @@ -54,7 +54,7 @@ upload_page_blob) from ._models import BlobType, BlobBlock, BlobProperties, BlobQueryError from ._download import StorageStreamDownloader -from ._lease import BlobLeaseClient, get_access_conditions +from ._lease import BlobLeaseClient if TYPE_CHECKING: from datetime import datetime diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_container_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_container_client.py index 09fe729db1d6..575611c4e7a9 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_container_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_container_client.py @@ -36,13 +36,13 @@ StorageErrorException, SignedIdentifier) from ._deserialize import deserialize_container_properties -from ._serialize import get_modify_conditions, get_container_cpk_scope_info, get_api_version +from ._serialize import get_modify_conditions, get_container_cpk_scope_info, get_api_version, get_access_conditions from ._models import ( # pylint: disable=unused-import ContainerProperties, BlobProperties, BlobType) from ._list_blobs_helper import BlobPrefix, BlobPropertiesPaged -from ._lease import BlobLeaseClient, get_access_conditions +from ._lease import BlobLeaseClient from ._blob_client import BlobClient if TYPE_CHECKING: @@ -1061,7 +1061,7 @@ def _generate_delete_blobs_options(self, delete_snapshots = kwargs.pop('delete_snapshots', None) if_modified_since = kwargs.pop('if_modified_since', None) if_unmodified_since = kwargs.pop('if_unmodified_since', None) - if_tags = kwargs.pop('if_tags_match_condition', None) + if_tags_match_condition = kwargs.pop('if_tags_match_condition', None) kwargs.update({'raise_on_any_failure': raise_on_any_failure, 'sas': self._query_str.replace('?', '&'), 'timeout': '&timeout=' + str(timeout) if timeout else "" @@ -1080,7 +1080,7 @@ def _generate_delete_blobs_options(self, if_modified_since=if_modified_since or blob.get('if_modified_since'), if_unmodified_since=if_unmodified_since or blob.get('if_unmodified_since'), etag=blob.get('etag'), - if_tags=if_tags or blob.get('if_tags_match_condition'), + if_tags_match_condition=if_tags_match_condition or blob.get('if_tags_match_condition'), match_condition=blob.get('match_condition') or MatchConditions.IfNotModified if blob.get('etag') else None, timeout=blob.get('timeout'), @@ -1090,7 +1090,7 @@ def _generate_delete_blobs_options(self, delete_snapshots=delete_snapshots, if_modified_since=if_modified_since, if_unmodified_since=if_unmodified_since, - if_tags=if_tags + if_tags_match_condition=if_tags_match_condition ) query_parameters, header_parameters = self._generate_delete_blobs_subrequest_options(**options) @@ -1186,6 +1186,9 @@ def delete_blobs(self, *blobs, **kwargs): :dedent: 8 :caption: Deleting multiple blobs. """ + if len(blobs) == 0: + return iter(list()) + reqs, options = self._generate_delete_blobs_options(*blobs, **kwargs) return self._batch_send(*reqs, **options) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_blob_operations_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_blob_operations_async.py index 4ad59ac95b4f..24aea41c4e47 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_blob_operations_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_blob_operations_async.py @@ -2160,6 +2160,9 @@ async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, ti source_if_none_match = None if source_modified_access_conditions is not None: source_if_none_match = source_modified_access_conditions.source_if_none_match + source_if_tags = None + if source_modified_access_conditions is not None: + source_if_tags = source_modified_access_conditions.source_if_tags if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -2215,6 +2218,8 @@ async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, ti header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') if source_if_none_match is not None: header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if source_if_tags is not None: + header_parameters['x-ms-source-if-tags'] = self._serialize.header("source_if_tags", source_if_tags, 'str') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py index b79240f370b1..acb79c0eebca 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py @@ -1723,6 +1723,9 @@ class SourceModifiedAccessConditions(Model): :param source_if_none_match: Specify an ETag value to operate only on blobs without a matching value. :type source_if_none_match: str + :param source_if_tags: Specify a SQL where clause on blob tags to operate + only on blobs with a matching value. + :type source_if_tags: str """ _attribute_map = { @@ -1730,6 +1733,7 @@ class SourceModifiedAccessConditions(Model): 'source_if_unmodified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'source_if_unmodified_since'}}, 'source_if_match': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_match'}}, 'source_if_none_match': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_none_match'}}, + 'source_if_tags': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_tags'}}, } _xml_map = { } @@ -1740,6 +1744,7 @@ def __init__(self, **kwargs): self.source_if_unmodified_since = kwargs.get('source_if_unmodified_since', None) self.source_if_match = kwargs.get('source_if_match', None) self.source_if_none_match = kwargs.get('source_if_none_match', None) + self.source_if_tags = kwargs.get('source_if_tags', None) class StaticWebsite(Model): diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py index 03fd5a67fafa..36c3964fa744 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py @@ -1723,6 +1723,9 @@ class SourceModifiedAccessConditions(Model): :param source_if_none_match: Specify an ETag value to operate only on blobs without a matching value. :type source_if_none_match: str + :param source_if_tags: Specify a SQL where clause on blob tags to operate + only on blobs with a matching value. + :type source_if_tags: str """ _attribute_map = { @@ -1730,16 +1733,18 @@ class SourceModifiedAccessConditions(Model): 'source_if_unmodified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'source_if_unmodified_since'}}, 'source_if_match': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_match'}}, 'source_if_none_match': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_none_match'}}, + 'source_if_tags': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_tags'}}, } _xml_map = { } - def __init__(self, *, source_if_modified_since=None, source_if_unmodified_since=None, source_if_match: str=None, source_if_none_match: str=None, **kwargs) -> None: + def __init__(self, *, source_if_modified_since=None, source_if_unmodified_since=None, source_if_match: str=None, source_if_none_match: str=None, source_if_tags: str=None, **kwargs) -> None: super(SourceModifiedAccessConditions, self).__init__(**kwargs) self.source_if_modified_since = source_if_modified_since self.source_if_unmodified_since = source_if_unmodified_since self.source_if_match = source_if_match self.source_if_none_match = source_if_none_match + self.source_if_tags = source_if_tags class StaticWebsite(Model): diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py index dfd2c0521c9d..947801686071 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py @@ -2159,6 +2159,9 @@ def start_copy_from_url(self, copy_source, timeout=None, metadata=None, tier=Non source_if_none_match = None if source_modified_access_conditions is not None: source_if_none_match = source_modified_access_conditions.source_if_none_match + source_if_tags = None + if source_modified_access_conditions is not None: + source_if_tags = source_modified_access_conditions.source_if_tags if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -2214,6 +2217,8 @@ def start_copy_from_url(self, copy_source, timeout=None, metadata=None, tier=Non header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') if source_if_none_match is not None: header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if source_if_tags is not None: + header_parameters['x-ms-source-if-tags'] = self._serialize.header("source_if_tags", source_if_tags, 'str') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_lease.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_lease.py index 092aadc7102c..6180d7851aae 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_lease.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_lease.py @@ -7,32 +7,22 @@ import uuid from typing import ( # pylint: disable=unused-import - Union, Optional, Any, IO, Iterable, AnyStr, Dict, List, Tuple, - TypeVar, TYPE_CHECKING + Union, Optional, Any, TypeVar, TYPE_CHECKING ) from azure.core.tracing.decorator import distributed_trace from ._shared.response_handlers import return_response_headers, process_storage_error -from ._generated.models import StorageErrorException, LeaseAccessConditions +from ._generated.models import StorageErrorException from ._serialize import get_modify_conditions if TYPE_CHECKING: from datetime import datetime - from ._generated.operations import BlobOperations, ContainerOperations + BlobClient = TypeVar("BlobClient") ContainerClient = TypeVar("ContainerClient") -def get_access_conditions(lease): - # type: (Optional[Union[BlobLeaseClient, str]]) -> Union[LeaseAccessConditions, None] - try: - lease_id = lease.id # type: ignore - except AttributeError: - lease_id = lease # type: ignore - return LeaseAccessConditions(lease_id=lease_id) if lease_id else None - - class BlobLeaseClient(object): """Creates a new BlobLeaseClient. @@ -129,7 +119,7 @@ def acquire(self, lease_duration=-1, **kwargs): process_storage_error(error) self.id = response.get('lease_id') # type: str self.last_modified = response.get('last_modified') # type: datetime - self.etag = kwargs.get('etag') # type: str + self.etag = response.get('etag') # type: str @distributed_trace def renew(self, **kwargs): diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_serialize.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_serialize.py index 6781096700b5..1b4ee9f4608d 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_serialize.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_serialize.py @@ -26,7 +26,7 @@ JsonTextConfiguration, QueryFormatType, BlobTag, - BlobTags + BlobTags, LeaseAccessConditions ) @@ -63,6 +63,15 @@ def _get_match_headers(kwargs, match_param, etag_param): return if_match, if_none_match +def get_access_conditions(lease): + # type: (Optional[Union[BlobLeaseClient, str]]) -> Union[LeaseAccessConditions, None] + try: + lease_id = lease.id # type: ignore + except AttributeError: + lease_id = lease # type: ignore + return LeaseAccessConditions(lease_id=lease_id) if lease_id else None + + def get_modify_conditions(kwargs): # type: (Dict[str, Any]) -> ModifiedAccessConditions if_match, if_none_match = _get_match_headers(kwargs, 'match_condition', 'etag') diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_version.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_version.py index 85a0126d5fa7..c40634c05faa 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_version.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_version.py @@ -4,4 +4,4 @@ # license information. # -------------------------------------------------------------------------- -VERSION = "12.4.0b1" +VERSION = "12.4.0" diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_client_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_client_async.py index 3275d02004f8..edf6e2dfc468 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_client_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_client_async.py @@ -16,7 +16,7 @@ from .._shared.policies_async import ExponentialRetry from .._shared.response_handlers import return_response_headers, process_storage_error from .._deserialize import get_page_ranges_result, parse_tags -from .._serialize import get_modify_conditions, get_api_version +from .._serialize import get_modify_conditions, get_api_version, get_access_conditions from .._generated import VERSION from .._generated.aio import AzureBlobStorage from .._generated.models import StorageErrorException, CpkInfo @@ -27,7 +27,6 @@ upload_append_blob, upload_page_blob) from .._models import BlobType, BlobBlock, BlobProperties -from .._lease import get_access_conditions from ._lease_async import BlobLeaseClient from ._download_async import StorageStreamDownloader diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_container_client_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_container_client_async.py index 77c65356729b..0554fc661459 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_container_client_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_container_client_async.py @@ -30,9 +30,8 @@ StorageErrorException, SignedIdentifier) from .._deserialize import deserialize_container_properties -from .._serialize import get_modify_conditions, get_container_cpk_scope_info, get_api_version +from .._serialize import get_modify_conditions, get_container_cpk_scope_info, get_api_version, get_access_conditions from .._container_client import ContainerClient as ContainerClientBase, _get_blob_name -from .._lease import get_access_conditions from .._models import ContainerProperties, BlobType, BlobProperties # pylint: disable=unused-import from ._list_blobs_helper import BlobPropertiesPaged, BlobPrefix from ._lease_async import BlobLeaseClient @@ -952,6 +951,9 @@ async def delete_blobs( # pylint: disable=arguments-differ :dedent: 12 :caption: Deleting multiple blobs. """ + if len(blobs) == 0: + return iter(list()) + reqs, options = self._generate_delete_blobs_options(*blobs, **kwargs) return await self._batch_send(*reqs, **options) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_lease_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_lease_async.py index 6fb5f18e1e7b..5f68a9b7b874 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_lease_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_lease_async.py @@ -115,7 +115,7 @@ async def acquire(self, lease_duration=-1, **kwargs): process_storage_error(error) self.id = response.get('lease_id') # type: str self.last_modified = response.get('last_modified') # type: datetime - self.etag = kwargs.get('etag') # type: str + self.etag = response.get('etag') # type: str @distributed_trace_async async def renew(self, **kwargs): diff --git a/sdk/storage/azure-storage-blob/setup.py b/sdk/storage/azure-storage-blob/setup.py index ded5aa613c25..3dc365826ce4 100644 --- a/sdk/storage/azure-storage-blob/setup.py +++ b/sdk/storage/azure-storage-blob/setup.py @@ -71,7 +71,7 @@ author_email='ascl@microsoft.com', url='https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/storage/azure-storage-blob', classifiers=[ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url.yaml index 56c846accbb9..cb8ebfc9a27f 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer80c3118a?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainer80c3118a?restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -56,7 +56,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersource80c3118a?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainersource80c3118a?restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -97,7 +97,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersource80c3118a/blob80c3118a + uri: https://storagenamestorname.blob.core.windows.net/utcontainersource80c3118a/blob80c3118a response: body: string: '' @@ -141,7 +141,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersource80c3118a/blob80c3118a?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainersource80c3118a/blob80c3118a?comp=appendblock response: body: string: '' @@ -189,7 +189,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a + uri: https://storagenamestorname.blob.core.windows.net/utcontainer80c3118a/blob80c3118a response: body: string: '' @@ -235,7 +235,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=appendblock response: body: string: '' @@ -285,7 +285,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=tags response: body: string: '' @@ -323,7 +323,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=appendblock response: body: string: "\uFEFF\nConditionNotMetThe @@ -368,7 +368,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=appendblock response: body: string: '' @@ -412,7 +412,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a + uri: https://storagenamestorname.blob.core.windows.net/utcontainer80c3118a/blob80c3118a response: body: string: '' @@ -472,7 +472,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a + uri: https://storagenamestorname.blob.core.windows.net/utcontainer80c3118a/blob80c3118a response: body: string: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_with_if_tags.yaml index 9fbe21c04729..b19e0668809f 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_with_if_tags.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainercab0131c?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainercab0131c?restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -56,7 +56,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersourcecab0131c?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainersourcecab0131c?restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -99,7 +99,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainercab0131c/blobcab0131c + uri: https://storagenamestorname.blob.core.windows.net/utcontainercab0131c/blobcab0131c response: body: string: '' @@ -146,7 +146,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainercab0131c/blobcab0131c?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainercab0131c/blobcab0131c?comp=appendblock response: body: string: "\uFEFFConditionNotMetThe @@ -190,7 +190,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainercab0131c/blobcab0131c?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainercab0131c/blobcab0131c?comp=appendblock response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_async.yaml index cb550a04160c..42684c348644 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_async.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer74d91684?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainer74d91684?restype=container response: body: string: '' @@ -34,7 +34,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersource74d91684?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainersource74d91684?restype=container response: body: string: '' @@ -63,7 +63,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersource74d91684/blob74d91684 + uri: https://storagenamestorname.blob.core.windows.net/utcontainersource74d91684/blob74d91684 response: body: string: '' @@ -94,7 +94,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersource74d91684/blob74d91684?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainersource74d91684/blob74d91684?comp=appendblock response: body: string: '' @@ -127,7 +127,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer74d91684/blob74d91684 response: body: string: '' @@ -160,7 +160,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=appendblock response: body: string: '' @@ -195,7 +195,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=tags response: body: string: '' @@ -225,7 +225,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=appendblock response: body: string: "\uFEFF\nConditionNotMetThe @@ -259,7 +259,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=appendblock response: body: string: '' @@ -288,7 +288,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer74d91684/blob74d91684 response: body: string: '' @@ -328,7 +328,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer74d91684/blob74d91684 response: body: string: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_with_if_tags.yaml index 6f916e04e7f8..a4a8ab4138a5 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_with_if_tags.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer47fb1599?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainer47fb1599?restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -41,7 +41,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer47fb1599/blob47fb1599 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer47fb1599/blob47fb1599 response: body: string: '' @@ -75,7 +75,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer47fb1599/blob47fb1599?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainer47fb1599/blob47fb1599?comp=appendblock response: body: string: "\uFEFFConditionNotMetThe @@ -108,7 +108,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer47fb1599/blob47fb1599?comp=appendblock + uri: https://storagenamestorname.blob.core.windows.net/utcontainer47fb1599/blob47fb1599?comp=appendblock response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_block_blob.test_get_block_list_no_blocks.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_block_blob.test_get_block_list_no_blocks.yaml index 4c7a7bb7f4ff..2974f969baa6 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_block_blob.test_get_block_list_no_blocks.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_block_blob.test_get_block_list_no_blocks.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainera4381254?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainera4381254?restype=container response: body: string: '' @@ -63,7 +63,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainera4381254/bloba4381254 + uri: https://storagenamestorname.blob.core.windows.net/utcontainera4381254/bloba4381254 response: body: string: '' @@ -109,7 +109,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainera4381254/bloba4381254?blocklisttype=all&comp=blocklist + uri: https://storagenamestorname.blob.core.windows.net/utcontainera4381254/bloba4381254?blocklisttype=all&comp=blocklist response: body: string: "\uFEFFConditionNotMetThe @@ -148,7 +148,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainera4381254/bloba4381254?blocklisttype=all&comp=blocklist + uri: https://storagenamestorname.blob.core.windows.net/utcontainera4381254/bloba4381254?blocklisttype=all&comp=blocklist response: body: string: "\uFEFFConditionNotMetThe @@ -107,7 +107,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer1c7814d1/blob1c7814d1?blocklisttype=all&comp=blocklist + uri: https://storagenamestorname.blob.core.windows.net/utcontainer1c7814d1/blob1c7814d1?blocklisttype=all&comp=blocklist response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -62,7 +62,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blobb981481 + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blobb981481 response: body: string: '' @@ -112,7 +112,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy response: body: string: '' @@ -162,7 +162,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags response: body: string: '' @@ -200,7 +200,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags response: body: string: "\uFEFF\nConditionNotMetThe @@ -245,7 +245,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags response: body: string: '' @@ -277,7 +277,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags response: body: string: "\uFEFF\nConditionNotMetThe @@ -316,7 +316,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy?comp=tags response: body: string: "\uFEFF\ntag1first @@ -359,7 +359,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy response: body: string: "\uFEFFConditionNotMetThe @@ -404,7 +404,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy response: body: string: '' @@ -454,7 +454,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy response: body: string: "\uFEFFConditionNotMetThe @@ -499,7 +499,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy response: body: string: '' @@ -545,7 +545,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy response: body: string: "\uFEFFConditionNotMetThe @@ -586,7 +586,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb981481/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb981481/blob1copy response: body: string: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_blob_exists_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_blob_exists_with_if_tags.yaml index 4befb9b86e1d..27ee7cfeadf5 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_blob_exists_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_blob_exists_with_if_tags.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerbc1012e9?timeout=5&restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainerbc1012e9?timeout=5&restype=container response: body: string: '' @@ -61,7 +61,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerbc1012e9/blobbc1012e9 + uri: https://storagenamestorname.blob.core.windows.net/utcontainerbc1012e9/blobbc1012e9 response: body: string: '' @@ -107,7 +107,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainerbc1012e9/blobbc1012e9 + uri: https://storagenamestorname.blob.core.windows.net/utcontainerbc1012e9/blobbc1012e9 response: body: string: '' @@ -143,7 +143,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainerbc1012e9/blobbc1012e9 + uri: https://storagenamestorname.blob.core.windows.net/utcontainerbc1012e9/blobbc1012e9 response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_create_blob_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_create_blob_with_if_tags.yaml index 23ecb2083621..fac7bf16a118 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_create_blob_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_create_blob_with_if_tags.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb98312bd?timeout=5&restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb98312bd?timeout=5&restype=container response: body: string: '' @@ -61,7 +61,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb98312bd/blobb98312bd + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb98312bd/blobb98312bd response: body: string: '' @@ -113,7 +113,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb98312bd/blobb98312bd + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb98312bd/blobb98312bd response: body: string: "\uFEFFConditionNotMetThe @@ -158,7 +158,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb98312bd/blobb98312bd + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb98312bd/blobb98312bd response: body: string: '' @@ -204,7 +204,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainerb98312bd/blobb98312bd + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb98312bd/blobb98312bd response: body: string: ??? diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_delete_blob_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_delete_blob_with_if_tags.yaml index 3001412bbc22..b191f949e9d5 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_delete_blob_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_delete_blob_with_if_tags.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb95e12bc?timeout=5&restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb95e12bc?timeout=5&restype=container response: body: string: '' @@ -63,7 +63,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerb95e12bc/blobb95e12bc + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb95e12bc/blobb95e12bc response: body: string: '' @@ -107,7 +107,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainerb95e12bc/blobb95e12bc + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb95e12bc/blobb95e12bc response: body: string: '' @@ -173,7 +173,7 @@ interactions: x-ms-version: - '2019-12-12' method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainerb95e12bc/blobb95e12bc + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb95e12bc/blobb95e12bc response: body: string: "\uFEFFConditionNotMetThe @@ -216,7 +216,7 @@ interactions: x-ms-version: - '2019-12-12' method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainerb95e12bc/blobb95e12bc + uri: https://storagenamestorname.blob.core.windows.net/utcontainerb95e12bc/blobb95e12bc response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_set_blob_properties_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_set_blob_properties_with_if_tags.yaml index e77edd77c209..1865b382e4b4 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_set_blob_properties_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_set_blob_properties_with_if_tags.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer63321641?timeout=5&restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainer63321641?timeout=5&restype=container response: body: string: '' @@ -61,7 +61,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer63321641/blob63321641 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer63321641/blob63321641 response: body: string: '' @@ -113,7 +113,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer63321641/blob63321641?comp=properties + uri: https://storagenamestorname.blob.core.windows.net/utcontainer63321641/blob63321641?comp=properties response: body: string: "\uFEFFConditionNotMetThe @@ -158,7 +158,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer63321641/blob63321641?comp=properties + uri: https://storagenamestorname.blob.core.windows.net/utcontainer63321641/blob63321641?comp=properties response: body: string: '' @@ -194,7 +194,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainer63321641/blob63321641 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer63321641/blob63321641 response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_async_copy_blob_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_async_copy_blob_with_if_tags.yaml index a9e7720c3590..cace5b9bd570 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_async_copy_blob_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_async_copy_blob_with_if_tags.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe?timeout=5&restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe?timeout=5&restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -43,7 +43,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob90b116fe + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob90b116fe response: body: string: '' @@ -78,7 +78,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy response: body: string: '' @@ -113,7 +113,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags response: body: string: '' @@ -143,7 +143,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags response: body: string: "\uFEFF\nConditionNotMetThe @@ -177,7 +177,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags response: body: string: '' @@ -203,7 +203,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags response: body: string: "\uFEFF\nConditionNotMetThe @@ -233,7 +233,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy?comp=tags response: body: string: "\uFEFF\ntag1first @@ -264,7 +264,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy response: body: string: "\uFEFFConditionNotMetThe @@ -296,7 +296,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy response: body: string: '' @@ -330,7 +330,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy response: body: string: "\uFEFFConditionNotMetThe @@ -362,7 +362,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy response: body: string: '' @@ -396,7 +396,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy response: body: string: "\uFEFFConditionNotMetThe @@ -428,7 +428,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer90b116fe/blob1copy + uri: https://storagenamestorname.blob.core.windows.net/utcontainer90b116fe/blob1copy response: body: string: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_blob_exists_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_blob_exists_with_if_tags.yaml index ef7dce7a9703..7e916092082f 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_blob_exists_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_blob_exists_with_if_tags.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer37441566?timeout=5&restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainer37441566?timeout=5&restype=container response: body: string: '' @@ -42,7 +42,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer37441566/blob37441566 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer37441566/blob37441566 response: body: string: '' @@ -73,7 +73,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainer37441566/blob37441566 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer37441566/blob37441566 response: body: string: '' @@ -99,7 +99,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainer37441566/blob37441566 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer37441566/blob37441566 response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_delete_blob_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_delete_blob_with_if_tags.yaml index 9bce61d20e4e..e18f5b1e1e42 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_delete_blob_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_delete_blob_with_if_tags.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer34921539?timeout=5&restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainer34921539?timeout=5&restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -43,7 +43,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer34921539/blob34921539 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer34921539/blob34921539 response: body: string: '' @@ -72,7 +72,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainer34921539/blob34921539 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer34921539/blob34921539 response: body: string: '' @@ -112,7 +112,7 @@ interactions: x-ms-version: - '2019-12-12' method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer34921539/blob34921539 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer34921539/blob34921539 response: body: string: "\uFEFFConditionNotMetThe @@ -142,7 +142,7 @@ interactions: x-ms-version: - '2019-12-12' method: DELETE - uri: https://storagename.blob.core.windows.net/utcontainer34921539/blob34921539 + uri: https://storagenamestorname.blob.core.windows.net/utcontainer34921539/blob34921539 response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_set_blob_properties_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_set_blob_properties_with_if_tags.yaml index 7824b2547086..cc3023d7800b 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_set_blob_properties_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_set_blob_properties_with_if_tags.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerf23f18be?timeout=5&restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainerf23f18be?timeout=5&restype=container response: body: string: '' @@ -42,7 +42,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerf23f18be/blobf23f18be + uri: https://storagenamestorname.blob.core.windows.net/utcontainerf23f18be/blobf23f18be response: body: string: '' @@ -77,7 +77,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerf23f18be/blobf23f18be?comp=properties + uri: https://storagenamestorname.blob.core.windows.net/utcontainerf23f18be/blobf23f18be?comp=properties response: body: string: "\uFEFFConditionNotMetThe @@ -109,7 +109,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerf23f18be/blobf23f18be?comp=properties + uri: https://storagenamestorname.blob.core.windows.net/utcontainerf23f18be/blobf23f18be?comp=properties response: body: string: '' @@ -134,7 +134,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/utcontainerf23f18be/blobf23f18be + uri: https://storagenamestorname.blob.core.windows.net/utcontainerf23f18be/blobf23f18be response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_delete_blobs_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_delete_blobs_with_if_tags.yaml index 1fcca79a189e..76c0f103160e 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_delete_blobs_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_delete_blobs_with_if_tags.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/containera875126b?restype=container + uri: https://storagenamestorname.blob.core.windows.net/containera875126b?restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -62,7 +62,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/containera875126b/blob1 + uri: https://storagenamestorname.blob.core.windows.net/containera875126b/blob1 response: body: string: '' @@ -114,7 +114,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/containera875126b/blob2 + uri: https://storagenamestorname.blob.core.windows.net/containera875126b/blob2 response: body: string: '' @@ -166,7 +166,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/containera875126b/blob3 + uri: https://storagenamestorname.blob.core.windows.net/containera875126b/blob3 response: body: string: '' @@ -225,7 +225,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_cca68ec9-46fa-4a99-99f7-2fe26f7e193b\r\nContent-Type: @@ -295,7 +295,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_1802d756-8b1a-473d-b117-bbbadd8c0d11\r\nContent-Type: diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_delete_blobs_with_if_tagss.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_delete_blobs_with_if_tagss.yaml index 83d4cd344a5d..88077e3d61ef 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_delete_blobs_with_if_tagss.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_delete_blobs_with_if_tagss.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/containerbb5312de?restype=container + uri: https://storagenamestorname.blob.core.windows.net/containerbb5312de?restype=container response: body: string: "\uFEFFContainerAlreadyExistsThe @@ -62,7 +62,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/containerbb5312de/blob1 + uri: https://storagenamestorname.blob.core.windows.net/containerbb5312de/blob1 response: body: string: '' @@ -114,7 +114,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/containerbb5312de/blob2 + uri: https://storagenamestorname.blob.core.windows.net/containerbb5312de/blob2 response: body: string: '' @@ -166,7 +166,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/containerbb5312de/blob3 + uri: https://storagenamestorname.blob.core.windows.net/containerbb5312de/blob3 response: body: string: '' @@ -210,7 +210,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/containerbb5312de/blob1 + uri: https://storagenamestorname.blob.core.windows.net/containerbb5312de/blob1 response: body: string: '' @@ -288,7 +288,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_c25f513a-11f1-473a-a0fb-3e033d834496\r\nContent-Type: @@ -343,7 +343,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/containerbb5312de/blob1 + uri: https://storagenamestorname.blob.core.windows.net/containerbb5312de/blob1 response: body: string: '' @@ -421,7 +421,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_f69be136-4352-4596-854f-e726dd59245c\r\nContent-Type: diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_standard_blob_tier_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_standard_blob_tier_with_if_tags.yaml index 7b741d2a347f..c66660be2aef 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_standard_blob_tier_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_standard_blob_tier_with_if_tags.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/container20d714e9?restype=container + uri: https://storagenamestorname.blob.core.windows.net/container20d714e9?restype=container response: body: string: '' @@ -61,7 +61,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/container20d714e9/blob1 + uri: https://storagenamestorname.blob.core.windows.net/container20d714e9/blob1 response: body: string: '' @@ -113,7 +113,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/container20d714e9/blob2 + uri: https://storagenamestorname.blob.core.windows.net/container20d714e9/blob2 response: body: string: '' @@ -165,7 +165,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/container20d714e9/blob3 + uri: https://storagenamestorname.blob.core.windows.net/container20d714e9/blob3 response: body: string: '' @@ -209,7 +209,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/container20d714e9/blob1 + uri: https://storagenamestorname.blob.core.windows.net/container20d714e9/blob1 response: body: string: '' @@ -289,7 +289,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_9ed44e68-9d43-4414-8d04-a073833ebabc\r\nContent-Type: @@ -362,7 +362,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_79623cee-d4bb-4053-a002-42bfa83e23ba\r\nContent-Type: @@ -405,7 +405,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/container20d714e9/blob1 + uri: https://storagenamestorname.blob.core.windows.net/container20d714e9/blob1 response: body: string: '' @@ -480,7 +480,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_c16ea316-7d06-4c01-9650-ab8e2bdc9c01\r\nContent-Type: diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_delete_blobs_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_delete_blobs_with_if_tags.yaml index 5237441f3dfb..484f2edcff25 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_delete_blobs_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_delete_blobs_with_if_tags.yaml @@ -5,26 +5,25 @@ interactions: User-Agent: - azsdk-python-storage-blob/12.4.0b1 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-date: - - Tue, 04 Aug 2020 18:33:33 GMT + - Tue, 11 Aug 2020 23:14:40 GMT x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainer218e14e8?restype=container + uri: https://storagenamestorname.blob.core.windows.net/acontainer218e14e8?restype=container response: body: - string: "\uFEFFContainerAlreadyExistsThe - specified container already exists.\nRequestId:dd5e511d-301e-0032-018d-6a4dd7000000\nTime:2020-08-04T18:33:33.7805311Z" + string: '' headers: - content-length: '230' - content-type: application/xml - date: Tue, 04 Aug 2020 18:33:33 GMT + content-length: '0' + date: Tue, 11 Aug 2020 23:14:40 GMT + etag: '"0x8D83E4C53A66C57"' + last-modified: Tue, 11 Aug 2020 23:14:41 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ContainerAlreadyExists x-ms-version: '2019-12-12' status: - code: 409 - message: The specified container already exists. - url: https://emilyeuap.blob.core.windows.net/acontainer218e14e8?restype=container + code: 201 + message: Created + url: https://storagenametm3yjydckwar6.blob.core.windows.net/acontainer218e14e8?restype=container - request: body: hello world headers: @@ -37,31 +36,30 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-date: - - Tue, 04 Aug 2020 18:33:34 GMT + - Tue, 11 Aug 2020 23:14:41 GMT x-ms-tags: - tag1=firsttag&tag2=secondtag&tag3=thirdtag x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainer218e14e8/blob1 + uri: https://storagenamestorname.blob.core.windows.net/acontainer218e14e8/blob1 response: body: string: '' headers: content-length: '0' content-md5: XrY7u+Ae7tCTyyK7j1rNww== - date: Tue, 04 Aug 2020 18:33:33 GMT - etag: '"0x8D838A4E4E19143"' - last-modified: Tue, 04 Aug 2020 18:33:33 GMT + date: Tue, 11 Aug 2020 23:14:40 GMT + etag: '"0x8D83E4C53B3053A"' + last-modified: Tue, 11 Aug 2020 23:14:41 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: vo7q9sPVKY0= x-ms-request-server-encrypted: 'true' x-ms-version: '2019-12-12' - x-ms-version-id: '2020-08-04T18:33:33.8715219Z' status: code: 201 message: Created - url: https://emilyeuap.blob.core.windows.net/acontainer218e14e8/blob1 + url: https://storagenametm3yjydckwar6.blob.core.windows.net/acontainer218e14e8/blob1 - request: body: hello world headers: @@ -74,31 +72,30 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-date: - - Tue, 04 Aug 2020 18:33:34 GMT + - Tue, 11 Aug 2020 23:14:41 GMT x-ms-tags: - tag1=firsttag&tag2=secondtag&tag3=thirdtag x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainer218e14e8/blob2 + uri: https://storagenamestorname.blob.core.windows.net/acontainer218e14e8/blob2 response: body: string: '' headers: content-length: '0' content-md5: XrY7u+Ae7tCTyyK7j1rNww== - date: Tue, 04 Aug 2020 18:33:33 GMT - etag: '"0x8D838A4E4EEDA1C"' - last-modified: Tue, 04 Aug 2020 18:33:33 GMT + date: Tue, 11 Aug 2020 23:14:40 GMT + etag: '"0x8D83E4C53BF1551"' + last-modified: Tue, 11 Aug 2020 23:14:41 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: vo7q9sPVKY0= x-ms-request-server-encrypted: 'true' x-ms-version: '2019-12-12' - x-ms-version-id: '2020-08-04T18:33:33.9575836Z' status: code: 201 message: Created - url: https://emilyeuap.blob.core.windows.net/acontainer218e14e8/blob2 + url: https://storagenametm3yjydckwar6.blob.core.windows.net/acontainer218e14e8/blob2 - request: body: hello world headers: @@ -111,140 +108,139 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-date: - - Tue, 04 Aug 2020 18:33:34 GMT + - Tue, 11 Aug 2020 23:14:41 GMT x-ms-tags: - tag1=firsttag&tag2=secondtag&tag3=thirdtag x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainer218e14e8/blob3 + uri: https://storagenamestorname.blob.core.windows.net/acontainer218e14e8/blob3 response: body: string: '' headers: content-length: '0' content-md5: XrY7u+Ae7tCTyyK7j1rNww== - date: Tue, 04 Aug 2020 18:33:33 GMT - etag: '"0x8D838A4E4FB86A0"' - last-modified: Tue, 04 Aug 2020 18:33:34 GMT + date: Tue, 11 Aug 2020 23:14:40 GMT + etag: '"0x8D83E4C53CB2575"' + last-modified: Tue, 11 Aug 2020 23:14:41 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: vo7q9sPVKY0= x-ms-request-server-encrypted: 'true' x-ms-version: '2019-12-12' - x-ms-version-id: '2020-08-04T18:33:34.0406432Z' status: code: 201 message: Created - url: https://emilyeuap.blob.core.windows.net/acontainer218e14e8/blob3 + url: https://storagenametm3yjydckwar6.blob.core.windows.net/acontainer218e14e8/blob3 - request: - body: "--===============5917783560319908256==\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: + body: "--===============1642072097304561198==\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 0\r\n\r\nDELETE /acontainer218e14e8/blob1? HTTP/1.1\r\nx-ms-if-tags: - \"tag1\"='firsttag WRONG'\r\nx-ms-date: Tue, 04 Aug 2020 18:33:44 GMT\r\nx-ms-client-request-id: - 06e469fa-d681-11ea-b323-001a7dda7113\r\nAuthorization: SharedKey emilyeuap:jv2V1wccnmiC9qfgmk5NIgVprMw4vx1aMGb3nIiUKt8=\r\n\r\n\r\n--===============5917783560319908256==\r\nContent-Type: + \"tag1\"='firsttag WRONG'\r\nx-ms-date: Tue, 11 Aug 2020 23:14:51 GMT\r\nx-ms-client-request-id: + 75a49674-dc28-11ea-bec7-001a7dda7113\r\nAuthorization: SharedKey storagenametm3yjydckwar6:8uaOCL01tYJTZZSu3oOq+jhaM9zL85TWLHb+c/Jl7hU=\r\n\r\n\r\n--===============1642072097304561198==\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nDELETE /acontainer218e14e8/blob2? HTTP/1.1\r\nx-ms-if-tags: \"tag1\"='firsttag WRONG'\r\nx-ms-date: - Tue, 04 Aug 2020 18:33:44 GMT\r\nx-ms-client-request-id: 06e469fb-d681-11ea-9534-001a7dda7113\r\nAuthorization: - SharedKey emilyeuap:A1SLmzzgKbuUvJq6CD+HoD9QdwEisKcNZiKJRa5bgTY=\r\n\r\n\r\n--===============5917783560319908256==\r\nContent-Type: + Tue, 11 Aug 2020 23:14:51 GMT\r\nx-ms-client-request-id: 75a49675-dc28-11ea-930f-001a7dda7113\r\nAuthorization: + SharedKey storagenametm3yjydckwar6:9JnwXe/c+wg5yTir9A5UxBxyBoq0WCyp5/KqSu05s08=\r\n\r\n\r\n--===============1642072097304561198==\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 2\r\n\r\nDELETE /acontainer218e14e8/blob3? HTTP/1.1\r\nx-ms-if-tags: \"tag1\"='firsttag WRONG'\r\nx-ms-date: - Tue, 04 Aug 2020 18:33:44 GMT\r\nx-ms-client-request-id: 06e469fc-d681-11ea-8d9b-001a7dda7113\r\nAuthorization: - SharedKey emilyeuap:fsyU/PF4ZOg15HrhczbK6UxtpB8of/ODlf26NAFNr1Q=\r\n\r\n\r\n--===============5917783560319908256==--\r\n" + Tue, 11 Aug 2020 23:14:51 GMT\r\nx-ms-client-request-id: 75a49676-dc28-11ea-af38-001a7dda7113\r\nAuthorization: + SharedKey storagenametm3yjydckwar6:iAlpjVni1LvTz/JFj+HFpaYDaiV4HriI4kdn0mU5LCs=\r\n\r\n\r\n--===============1642072097304561198==--\r\n" headers: Content-Length: - - '1230' + - '1275' Content-Type: - - multipart/mixed; boundary================5917783560319908256== + - multipart/mixed; boundary================1642072097304561198== User-Agent: - azsdk-python-storage-blob/12.4.0b1 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-date: - - Tue, 04 Aug 2020 18:33:44 GMT + - Tue, 11 Aug 2020 23:14:51 GMT x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: - string: "--batchresponse_2357e69b-0cff-4f3f-b1cf-62590d8dc30d\r\nContent-Type: + string: "--batchresponse_d0522997-3fda-4938-a406-c76ced74789d\r\nContent-Type: application/http\r\nContent-ID: 0\r\n\r\nHTTP/1.1 412 The condition specified using HTTP conditional header(s) is not met.\r\nx-ms-error-code: ConditionNotMet\r\nx-ms-request-id: - dd5e5662-301e-0032-368d-6a4dd71ee3dc\r\nx-ms-version: 2019-12-12\r\nx-ms-client-request-id: - 06e469fa-d681-11ea-b323-001a7dda7113\r\nContent-Length: 253\r\nContent-Type: + bb024627-101e-007f-3435-705e191ec487\r\nx-ms-version: 2019-12-12\r\nx-ms-client-request-id: + 75a49674-dc28-11ea-bec7-001a7dda7113\r\nContent-Length: 253\r\nContent-Type: application/xml\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n\uFEFF\nConditionNotMetThe condition - specified using HTTP conditional header(s) is not met.\nRequestId:dd5e5662-301e-0032-368d-6a4dd71ee3dc\nTime:2020-08-04T18:33:44.2979814Z\r\n--batchresponse_2357e69b-0cff-4f3f-b1cf-62590d8dc30d\r\nContent-Type: + specified using HTTP conditional header(s) is not met.\nRequestId:bb024627-101e-007f-3435-705e191ec487\nTime:2020-08-11T23:14:51.8170417Z\r\n--batchresponse_d0522997-3fda-4938-a406-c76ced74789d\r\nContent-Type: application/http\r\nContent-ID: 1\r\n\r\nHTTP/1.1 412 The condition specified using HTTP conditional header(s) is not met.\r\nx-ms-error-code: ConditionNotMet\r\nx-ms-request-id: - dd5e5662-301e-0032-368d-6a4dd71ee3e3\r\nx-ms-version: 2019-12-12\r\nx-ms-client-request-id: - 06e469fb-d681-11ea-9534-001a7dda7113\r\nContent-Length: 253\r\nContent-Type: + bb024627-101e-007f-3435-705e191ec489\r\nx-ms-version: 2019-12-12\r\nx-ms-client-request-id: + 75a49675-dc28-11ea-930f-001a7dda7113\r\nContent-Length: 253\r\nContent-Type: application/xml\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n\uFEFF\nConditionNotMetThe condition - specified using HTTP conditional header(s) is not met.\nRequestId:dd5e5662-301e-0032-368d-6a4dd71ee3e3\nTime:2020-08-04T18:33:44.2989821Z\r\n--batchresponse_2357e69b-0cff-4f3f-b1cf-62590d8dc30d\r\nContent-Type: + specified using HTTP conditional header(s) is not met.\nRequestId:bb024627-101e-007f-3435-705e191ec489\nTime:2020-08-11T23:14:51.8170417Z\r\n--batchresponse_d0522997-3fda-4938-a406-c76ced74789d\r\nContent-Type: application/http\r\nContent-ID: 2\r\n\r\nHTTP/1.1 412 The condition specified using HTTP conditional header(s) is not met.\r\nx-ms-error-code: ConditionNotMet\r\nx-ms-request-id: - dd5e5662-301e-0032-368d-6a4dd71ee3e4\r\nx-ms-version: 2019-12-12\r\nx-ms-client-request-id: - 06e469fc-d681-11ea-8d9b-001a7dda7113\r\nContent-Length: 253\r\nContent-Type: + bb024627-101e-007f-3435-705e191ec48a\r\nx-ms-version: 2019-12-12\r\nx-ms-client-request-id: + 75a49676-dc28-11ea-af38-001a7dda7113\r\nContent-Length: 253\r\nContent-Type: application/xml\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n\uFEFF\nConditionNotMetThe condition - specified using HTTP conditional header(s) is not met.\nRequestId:dd5e5662-301e-0032-368d-6a4dd71ee3e4\nTime:2020-08-04T18:33:44.2979814Z\r\n--batchresponse_2357e69b-0cff-4f3f-b1cf-62590d8dc30d--" + specified using HTTP conditional header(s) is not met.\nRequestId:bb024627-101e-007f-3435-705e191ec48a\nTime:2020-08-11T23:14:51.8170417Z\r\n--batchresponse_d0522997-3fda-4938-a406-c76ced74789d--" headers: - content-type: multipart/mixed; boundary=batchresponse_2357e69b-0cff-4f3f-b1cf-62590d8dc30d - date: Tue, 04 Aug 2020 18:33:43 GMT + content-type: multipart/mixed; boundary=batchresponse_d0522997-3fda-4938-a406-c76ced74789d + date: Tue, 11 Aug 2020 23:14:51 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-ms-version: '2019-12-12' status: code: 202 message: Accepted - url: https://emilyeuap.blob.core.windows.net/?comp=batch + url: https://storagenametm3yjydckwar6.blob.core.windows.net/?comp=batch - request: - body: "--===============9195797965556571562==\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: + body: "--===============1490239141264087326==\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 0\r\n\r\nDELETE /acontainer218e14e8/blob1? HTTP/1.1\r\nx-ms-if-tags: - \"tag1\"='firsttag'\r\nx-ms-date: Tue, 04 Aug 2020 18:33:44 GMT\r\nx-ms-client-request-id: - 0713e66e-d681-11ea-b8a1-001a7dda7113\r\nAuthorization: SharedKey emilyeuap:6uQxPH4qxl+5qdB8ZqSS4ilbWuOIJ+aBEqo4iyrnGms=\r\n\r\n\r\n--===============9195797965556571562==\r\nContent-Type: + \"tag1\"='firsttag'\r\nx-ms-date: Tue, 11 Aug 2020 23:14:52 GMT\r\nx-ms-client-request-id: + 75bc6022-dc28-11ea-8ec7-001a7dda7113\r\nAuthorization: SharedKey storagenametm3yjydckwar6:nPEmXK9xnCzafi5f6Bio4Bnb5NxaIQqe6va1CJadpp0=\r\n\r\n\r\n--===============1490239141264087326==\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nDELETE /acontainer218e14e8/blob2? HTTP/1.1\r\nx-ms-if-tags: \"tag1\"='firsttag'\r\nx-ms-date: - Tue, 04 Aug 2020 18:33:44 GMT\r\nx-ms-client-request-id: 0713e66f-d681-11ea-9d30-001a7dda7113\r\nAuthorization: - SharedKey emilyeuap:4cOew6ZJxFNELPM6mDZ78ZrguLE/mdhexYODcdlrRuE=\r\n\r\n\r\n--===============9195797965556571562==\r\nContent-Type: + Tue, 11 Aug 2020 23:14:52 GMT\r\nx-ms-client-request-id: 75bc6023-dc28-11ea-b015-001a7dda7113\r\nAuthorization: + SharedKey storagenametm3yjydckwar6:Fy8E5UsNqncn9M56LBZisqKcWsiQzu1XMHX+afh2WCA=\r\n\r\n\r\n--===============1490239141264087326==\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 2\r\n\r\nDELETE /acontainer218e14e8/blob3? HTTP/1.1\r\nx-ms-if-tags: \"tag1\"='firsttag'\r\nx-ms-date: - Tue, 04 Aug 2020 18:33:44 GMT\r\nx-ms-client-request-id: 0713e670-d681-11ea-b40d-001a7dda7113\r\nAuthorization: - SharedKey emilyeuap:aaFcFQmIJX+rQafsAGsO+PPh5HPRUzH35UJYxWuo6TI=\r\n\r\n\r\n--===============9195797965556571562==--\r\n" + Tue, 11 Aug 2020 23:14:52 GMT\r\nx-ms-client-request-id: 75bc6024-dc28-11ea-b5a1-001a7dda7113\r\nAuthorization: + SharedKey storagenametm3yjydckwar6:9R/IbHNVL9NVlz4eoZWYrDXToFQTkzWA1v4x7aFJe4E=\r\n\r\n\r\n--===============1490239141264087326==--\r\n" headers: Content-Length: - - '1212' + - '1257' Content-Type: - - multipart/mixed; boundary================9195797965556571562== + - multipart/mixed; boundary================1490239141264087326== User-Agent: - azsdk-python-storage-blob/12.4.0b1 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-date: - - Tue, 04 Aug 2020 18:33:44 GMT + - Tue, 11 Aug 2020 23:14:52 GMT x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: - string: "--batchresponse_376c6577-9f1a-41ac-ac95-2df66a2fb12f\r\nContent-Type: + string: "--batchresponse_b8dc0522-b237-45b8-aa95-536a70a030b5\r\nContent-Type: application/http\r\nContent-ID: 0\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: - true\r\nx-ms-request-id: dd5e5698-301e-0032-638d-6a4dd71ee3e6\r\nx-ms-version: - 2019-12-12\r\nx-ms-client-request-id: 0713e66e-d681-11ea-b8a1-001a7dda7113\r\nServer: - Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_376c6577-9f1a-41ac-ac95-2df66a2fb12f\r\nContent-Type: + true\r\nx-ms-request-id: bb024678-101e-007f-7935-705e191ec493\r\nx-ms-version: + 2019-12-12\r\nx-ms-client-request-id: 75bc6022-dc28-11ea-8ec7-001a7dda7113\r\nServer: + Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_b8dc0522-b237-45b8-aa95-536a70a030b5\r\nContent-Type: application/http\r\nContent-ID: 1\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: - true\r\nx-ms-request-id: dd5e5698-301e-0032-638d-6a4dd71ee3e7\r\nx-ms-version: - 2019-12-12\r\nx-ms-client-request-id: 0713e66f-d681-11ea-9d30-001a7dda7113\r\nServer: - Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_376c6577-9f1a-41ac-ac95-2df66a2fb12f\r\nContent-Type: + true\r\nx-ms-request-id: bb024678-101e-007f-7935-705e191ec494\r\nx-ms-version: + 2019-12-12\r\nx-ms-client-request-id: 75bc6023-dc28-11ea-b015-001a7dda7113\r\nServer: + Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_b8dc0522-b237-45b8-aa95-536a70a030b5\r\nContent-Type: application/http\r\nContent-ID: 2\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: - true\r\nx-ms-request-id: dd5e5698-301e-0032-638d-6a4dd71ee3e8\r\nx-ms-version: - 2019-12-12\r\nx-ms-client-request-id: 0713e670-d681-11ea-b40d-001a7dda7113\r\nServer: - Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_376c6577-9f1a-41ac-ac95-2df66a2fb12f--" + true\r\nx-ms-request-id: bb024678-101e-007f-7935-705e191ec495\r\nx-ms-version: + 2019-12-12\r\nx-ms-client-request-id: 75bc6024-dc28-11ea-b5a1-001a7dda7113\r\nServer: + Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_b8dc0522-b237-45b8-aa95-536a70a030b5--" headers: - content-type: multipart/mixed; boundary=batchresponse_376c6577-9f1a-41ac-ac95-2df66a2fb12f - date: Tue, 04 Aug 2020 18:33:43 GMT + content-type: multipart/mixed; boundary=batchresponse_b8dc0522-b237-45b8-aa95-536a70a030b5 + date: Tue, 11 Aug 2020 23:14:51 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-ms-version: '2019-12-12' status: code: 202 message: Accepted - url: https://emilyeuap.blob.core.windows.net/?comp=batch + url: https://storagenametm3yjydckwar6.blob.core.windows.net/?comp=batch version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_delete_blobs_with_if_tagss.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_delete_blobs_with_if_tagss.yaml index 6cb7bda2b54a..0d455ecca46d 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_delete_blobs_with_if_tagss.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_delete_blobs_with_if_tagss.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainer36e9155b?restype=container + uri: https://storagenamestorname.blob.core.windows.net/acontainer36e9155b?restype=container response: body: string: '' @@ -42,7 +42,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainer36e9155b/blob1 + uri: https://storagenamestorname.blob.core.windows.net/acontainer36e9155b/blob1 response: body: string: '' @@ -79,7 +79,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainer36e9155b/blob2 + uri: https://storagenamestorname.blob.core.windows.net/acontainer36e9155b/blob2 response: body: string: '' @@ -116,7 +116,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainer36e9155b/blob3 + uri: https://storagenamestorname.blob.core.windows.net/acontainer36e9155b/blob3 response: body: string: '' diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_standard_blob_tier_with_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_standard_blob_tier_with_if_tags.yaml index c8e24e91c09a..3aa41512ba30 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_standard_blob_tier_with_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_standard_blob_tier_with_if_tags.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainera8cf1766?restype=container + uri: https://storagenamestorname.blob.core.windows.net/acontainera8cf1766?restype=container response: body: string: '' @@ -42,7 +42,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainera8cf1766/blob1 + uri: https://storagenamestorname.blob.core.windows.net/acontainera8cf1766/blob1 response: body: string: '' @@ -79,7 +79,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainera8cf1766/blob2 + uri: https://storagenamestorname.blob.core.windows.net/acontainera8cf1766/blob2 response: body: string: '' @@ -116,7 +116,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/acontainera8cf1766/blob3 + uri: https://storagenamestorname.blob.core.windows.net/acontainera8cf1766/blob3 response: body: string: '' @@ -145,7 +145,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/acontainera8cf1766/blob1 + uri: https://storagenamestorname.blob.core.windows.net/acontainera8cf1766/blob1 response: body: string: '' @@ -201,7 +201,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_8c83c574-e6fe-44bc-be96-677f47644a01\r\nContent-Type: @@ -264,7 +264,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_1c6943f3-c389-4121-897c-4b1d6a0b9cbc\r\nContent-Type: @@ -297,7 +297,7 @@ interactions: x-ms-version: - '2019-12-12' method: HEAD - uri: https://storagename.blob.core.windows.net/acontainera8cf1766/blob1 + uri: https://storagenamestorname.blob.core.windows.net/acontainera8cf1766/blob1 response: body: string: '' @@ -350,7 +350,7 @@ interactions: x-ms-version: - '2019-12-12' method: POST - uri: https://storagename.blob.core.windows.net/?comp=batch + uri: https://storagenamestorname.blob.core.windows.net/?comp=batch response: body: string: "--batchresponse_d79d33d3-b6f7-4a61-8b2d-bf3678a218a5\r\nContent-Type: diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_put_page_with_lease_id_and_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_put_page_with_lease_id_and_if_tags.yaml index 7d845592e892..e810a09ce1a5 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_put_page_with_lease_id_and_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_put_page_with_lease_id_and_if_tags.yaml @@ -17,7 +17,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db?restype=container response: body: string: '' @@ -55,7 +55,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersource5ad915db?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainersource5ad915db?restype=container response: body: string: '' @@ -99,7 +99,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db/blob5ad915db + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db/blob5ad915db response: body: string: '' @@ -149,7 +149,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=lease + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=lease response: body: string: "\uFEFFConditionNotMetThe @@ -196,7 +196,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=lease + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=lease response: body: string: '' @@ -246,7 +246,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=page + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=page response: body: string: "\uFEFF\nConditionNotMetThe @@ -295,7 +295,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=page + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=page response: body: string: '' @@ -337,7 +337,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=pagelist + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=pagelist response: body: string: "\uFEFF0511" @@ -381,7 +381,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db/blob5ad915db + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db/blob5ad915db response: body: string: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -443,7 +443,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=pagelist + uri: https://storagenamestorname.blob.core.windows.net/utcontainer5ad915db/blob5ad915db?comp=pagelist response: body: string: "\uFEFF0511" diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_put_page_with_lease_id_and_if_tags.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_put_page_with_lease_id_and_if_tags.yaml index 22a6edb3e0e7..9ed26f89cb69 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_put_page_with_lease_id_and_if_tags.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_put_page_with_lease_id_and_if_tags.yaml @@ -9,7 +9,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere9581858?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858?restype=container response: body: string: '' @@ -34,7 +34,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainersourcee9581858?restype=container + uri: https://storagenamestorname.blob.core.windows.net/utcontainersourcee9581858?restype=container response: body: string: '' @@ -67,7 +67,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere9581858/blobe9581858 + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858/blobe9581858 response: body: string: '' @@ -102,7 +102,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=lease + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=lease response: body: string: "\uFEFFConditionNotMetThe @@ -136,7 +136,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=lease + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=lease response: body: string: '' @@ -174,7 +174,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=page + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=page response: body: string: "\uFEFF\nConditionNotMetThe @@ -212,7 +212,7 @@ interactions: x-ms-version: - '2019-12-12' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=page + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=page response: body: string: '' @@ -242,7 +242,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=pagelist + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=pagelist response: body: string: "\uFEFF0511" @@ -275,7 +275,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainere9581858/blobe9581858 + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858/blobe9581858 response: body: string: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -315,7 +315,7 @@ interactions: x-ms-version: - '2019-12-12' method: GET - uri: https://storagename.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=pagelist + uri: https://storagenamestorname.blob.core.windows.net/utcontainere9581858/blobe9581858?comp=pagelist response: body: string: "\uFEFF0511" diff --git a/sdk/storage/azure-storage-blob/tests/test_append_blob.py b/sdk/storage/azure-storage-blob/tests/test_append_blob.py index a8ef9ecea967..334498438c44 100644 --- a/sdk/storage/azure-storage-blob/tests/test_append_blob.py +++ b/sdk/storage/azure-storage-blob/tests/test_append_blob.py @@ -196,7 +196,7 @@ def test_append_block_unicode(self, resource_group, location, storage_account, s self.assertIsNotNone(resp['last_modified']) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_append_block_with_if_tags(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account, "blob"), storage_account_key, max_block_size=4 * 1024) @@ -228,7 +228,7 @@ def test_append_block_with_md5(self, resource_group, location, storage_account, # Assert @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_append_block_from_url(self, resource_group, location, storage_account, storage_account_key): # Arrange bsc = BlobServiceClient(self.account_url(storage_account, "blob"), storage_account_key, max_block_size=4 * 1024) diff --git a/sdk/storage/azure-storage-blob/tests/test_append_blob_async.py b/sdk/storage/azure-storage-blob/tests/test_append_blob_async.py index 7948944d37d0..72a405bd0a36 100644 --- a/sdk/storage/azure-storage-blob/tests/test_append_blob_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_append_blob_async.py @@ -218,7 +218,7 @@ async def test_append_block_unicode_async(self, resource_group, location, storag # Assert @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_append_block_with_if_tags(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account, "blob"), storage_account_key, @@ -252,7 +252,7 @@ async def test_append_block_with_md5_async(self, resource_group, location, stora # Assert @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') async def test_append_block_from_url_async(self, resource_group, location, storage_account, storage_account_key): # Arrange bsc = BlobServiceClient(self.account_url(storage_account, "blob"), storage_account_key, max_block_size=4 * 1024, diff --git a/sdk/storage/azure-storage-blob/tests/test_blob_access_conditions.py b/sdk/storage/azure-storage-blob/tests/test_blob_access_conditions.py index 39d0cda15fde..876c8bb55849 100644 --- a/sdk/storage/azure-storage-blob/tests/test_blob_access_conditions.py +++ b/sdk/storage/azure-storage-blob/tests/test_blob_access_conditions.py @@ -1450,6 +1450,8 @@ def test_lease_blob_with_if_match(self, resource_group, location, storage_accoun # Assert self.assertIsInstance(lease, BlobLeaseClient) self.assertIsNotNone(lease.id) + self.assertIsNotNone(lease.etag) + self.assertEqual(lease.etag, etag) @GlobalStorageAccountPreparer() def test_lease_blob_with_if_match_fail(self, resource_group, location, storage_account, storage_account_key): diff --git a/sdk/storage/azure-storage-blob/tests/test_blob_access_conditions_async.py b/sdk/storage/azure-storage-blob/tests/test_blob_access_conditions_async.py index 0b36e10a3a89..c7cb1af7b692 100644 --- a/sdk/storage/azure-storage-blob/tests/test_blob_access_conditions_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_blob_access_conditions_async.py @@ -1542,6 +1542,8 @@ async def test_lease_blob_with_if_match(self, resource_group, location, storage_ # Assert self.assertIsInstance(lease, BlobLeaseClient) self.assertIsNotNone(lease.id) + self.assertIsNotNone(lease.etag) + self.assertEqual(lease.etag, etag) @GlobalStorageAccountPreparer() @AsyncStorageTestCase.await_prepared_test diff --git a/sdk/storage/azure-storage-blob/tests/test_block_blob.py b/sdk/storage/azure-storage-blob/tests/test_block_blob.py index 914e0ed6313b..9424d1e18ce2 100644 --- a/sdk/storage/azure-storage-blob/tests/test_block_blob.py +++ b/sdk/storage/azure-storage-blob/tests/test_block_blob.py @@ -203,7 +203,7 @@ def test_put_block_list_with_blob_tier_specified(self, resource_group, location, self.assertEqual(blob_properties.blob_tier, blob_tier) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_get_block_list_no_blocks(self, resource_group, location, storage_account, storage_account_key): self._setup(storage_account, storage_account_key) tags = {"tag1": "firsttag", "tag2": "secondtag", "tag3": "thirdtag"} diff --git a/sdk/storage/azure-storage-blob/tests/test_block_blob_async.py b/sdk/storage/azure-storage-blob/tests/test_block_blob_async.py index a2adcd88d8ad..0b158529f338 100644 --- a/sdk/storage/azure-storage-blob/tests/test_block_blob_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_block_blob_async.py @@ -238,7 +238,7 @@ async def _test_put_block_list_with_blob_tier_specified(self, resource_group, lo self.assertEqual(blob_properties.blob_tier, blob_tier) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_get_block_list_no_blocks(self, resource_group, location, storage_account, storage_account_key): # Arrange diff --git a/sdk/storage/azure-storage-blob/tests/test_common_blob.py b/sdk/storage/azure-storage-blob/tests/test_common_blob.py index 34be510e0e61..cd53a51c8c8a 100644 --- a/sdk/storage/azure-storage-blob/tests/test_common_blob.py +++ b/sdk/storage/azure-storage-blob/tests/test_common_blob.py @@ -159,7 +159,7 @@ def test_blob_exists(self, resource_group, location, storage_account, storage_ac self.assertTrue(exists) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_blob_exists_with_if_tags(self, resource_group, location, storage_account, storage_account_key): self._setup(storage_account, storage_account_key) tags = {"tag1 name": "my tag", "tag2": "secondtag", "tag3": "thirdtag"} @@ -238,7 +238,7 @@ def test_create_blob_with_question_mark(self, resource_group, location, storage_ self.assertEqual(data.readall(), blob_data) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_create_blob_with_if_tags(self, resource_group, location, storage_account, storage_account_key): self._setup(storage_account, storage_account_key) tags = {"tag1 name": "my tag", "tag2": "secondtag", "tag3": "thirdtag"} @@ -459,7 +459,7 @@ def test_set_blob_properties_with_existing_blob(self, resource_group, location, self.assertEqual(props.content_settings.content_disposition, 'inline') @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_set_blob_properties_with_if_tags(self, resource_group, location, storage_account, storage_account_key): self._setup(storage_account, storage_account_key) tags = {"tag1 name": "my tag", "tag2": "secondtag", "tag3": "thirdtag"} @@ -698,7 +698,7 @@ def test_set_blob_metadata_with_upper_case(self, resource_group, location, stora @pytest.mark.live_test_only @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_set_blob_metadata_with_if_tags(self, resource_group, location, storage_account, storage_account_key): # bug in devtools...converts upper case header to lowercase # passes live. @@ -757,7 +757,7 @@ def test_delete_blob_with_existing_blob(self, resource_group, location, storage_ self.assertIsNone(resp) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_delete_blob_with_if_tags(self, resource_group, location, storage_account, storage_account_key): self._setup(storage_account, storage_account_key) tags = {"tag1 name": "my tag", "tag2": "secondtag", "tag3": "thirdtag"} @@ -1151,7 +1151,7 @@ def test_copy_blob_with_existing_blob(self, resource_group, location, storage_ac self.assertEqual(copy_content, self.byte_data) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_async_copy_blob_with_if_tags(self, resource_group, location, storage_account, storage_account_key): self._setup(storage_account, storage_account_key) source_tags = {"source": "source tag"} diff --git a/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py b/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py index 2d56f8eda9b5..c99a9a9fc152 100644 --- a/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py @@ -181,7 +181,7 @@ async def test_blob_exists(self, resource_group, location, storage_account, stor self.assertTrue(exists) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_blob_exists_with_if_tags(self, resource_group, location, storage_account, storage_account_key): await self._setup(storage_account, storage_account_key) @@ -521,7 +521,7 @@ async def test_set_blob_properties_with_existing_blob(self, resource_group, loca self.assertEqual(props.content_settings.content_disposition, 'inline') @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_set_blob_properties_with_if_tags(self, resource_group, location, storage_account, storage_account_key): await self._setup(storage_account, storage_account_key) @@ -793,7 +793,7 @@ async def test_set_blob_metadata_with_upper_case(self, resource_group, location, @pytest.mark.live_test_only @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_set_blob_metadata_with_if_tags(self, resource_group, location, storage_account, storage_account_key): # bug in devtools...converts upper case header to lowercase @@ -857,7 +857,7 @@ async def test_delete_blob_with_existing_blob(self, resource_group, location, st self.assertIsNone(resp) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_delete_blob_with_if_tags(self, resource_group, location, storage_account, storage_account_key): await self._setup(storage_account, storage_account_key) @@ -1296,7 +1296,7 @@ async def test_soft_delete_with_leased_blob(self, resource_group, location, stor await self._disable_soft_delete() @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_async_copy_blob_with_if_tags(self, resource_group, location, storage_account, storage_account_key): await self._setup(storage_account, storage_account_key) diff --git a/sdk/storage/azure-storage-blob/tests/test_container.py b/sdk/storage/azure-storage-blob/tests/test_container.py index 850e295541d3..5e182af618b1 100644 --- a/sdk/storage/azure-storage-blob/tests/test_container.py +++ b/sdk/storage/azure-storage-blob/tests/test_container.py @@ -13,7 +13,7 @@ import pytest import requests -from _shared.testcase import StorageTestCase, LogCaptured, GlobalStorageAccountPreparer +from _shared.testcase import StorageTestCase, LogCaptured, GlobalStorageAccountPreparer, GlobalResourceGroupPreparer, StorageAccountPreparer from azure.core.exceptions import HttpResponseError, ResourceNotFoundError, ResourceExistsError, ResourceModifiedError from azure.storage.blob import ( BlobServiceClient, @@ -25,7 +25,7 @@ PremiumPageBlobTier, generate_container_sas, PartialBatchErrorException, - generate_account_sas, ResourceTypes, AccountSasPermissions) + generate_account_sas, ResourceTypes, AccountSasPermissions, ContainerClient) #------------------------------------------------------------------------------ TEST_CONTAINER_PREFIX = 'container' @@ -1073,6 +1073,11 @@ def test_list_blobs_with_delimiter(self, resource_group, location, storage_accou self.assertNamedItemInContainer(resp, 'b/') self.assertNamedItemInContainer(resp, 'blob4') + def test_batch_delete_empty_blob_list(self): + container_client = ContainerClient("https://mystorageaccount.blob.core.windows.net", "container") + blob_list = list() + container_client.delete_blobs(*blob_list) + @pytest.mark.skipif(sys.version_info < (3, 0), reason="Batch not supported on Python 2.7") @GlobalStorageAccountPreparer() def test_delete_blobs_simple(self, resource_group, location, storage_account, storage_account_key): @@ -1102,7 +1107,8 @@ def test_delete_blobs_simple(self, resource_group, location, storage_account, st assert response[2].status_code == 202 @pytest.mark.skipif(sys.version_info < (3, 0), reason="Batch not supported on Python 2.7") - @GlobalStorageAccountPreparer() + @GlobalResourceGroupPreparer() + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_delete_blobs_with_if_tags(self, resource_group, location, storage_account, storage_account_key): # Arrange bsc = BlobServiceClient(self.account_url(storage_account, "blob"), storage_account_key) @@ -1308,6 +1314,7 @@ def test_standard_blob_tier_set_tier_api_batch(self, resource_group, location, s raise_on_any_failure=False ) + @pytest.mark.playback_test_only @pytest.mark.skipif(sys.version_info < (3, 0), reason="Batch not supported on Python 2.7") @GlobalStorageAccountPreparer() def test_batch_set_standard_blob_tier_for_version(self, resource_group, location, storage_account, storage_account_key): @@ -1366,7 +1373,8 @@ def test_batch_set_standard_blob_tier_for_version(self, resource_group, location ) @pytest.mark.skipif(sys.version_info < (3, 0), reason="Batch not supported on Python 2.7") - @GlobalStorageAccountPreparer() + @GlobalResourceGroupPreparer() + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_standard_blob_tier_with_if_tags(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account, "blob"), storage_account_key) container = self._create_container(bsc) diff --git a/sdk/storage/azure-storage-blob/tests/test_container_async.py b/sdk/storage/azure-storage-blob/tests/test_container_async.py index 6f18efd86421..d6e4563cb406 100644 --- a/sdk/storage/azure-storage-blob/tests/test_container_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_container_async.py @@ -1149,6 +1149,11 @@ async def test_list_blobs_with_delimiter(self, resource_group, location, storage self.assertNamedItemInContainer(resp, 'b/') self.assertNamedItemInContainer(resp, 'blob4') + def test_batch_delete_empty_blob_list(self): + container_client = ContainerClient("https://mystorageaccount.blob.core.windows.net", "container") + blob_list = list() + container_client.delete_blobs(*blob_list) + @GlobalStorageAccountPreparer() @AsyncStorageTestCase.await_prepared_test async def test_delete_blobs_simple(self, resource_group, location, storage_account, storage_account_key): @@ -1177,7 +1182,7 @@ async def test_delete_blobs_simple(self, resource_group, location, storage_accou assert response[2].status_code == 202 @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_delete_blobs_with_if_tags(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1385,7 +1390,7 @@ async def test_standard_blob_tier_set_tier_api_batch(self, resource_group, locat ) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_standard_blob_tier_with_if_tags(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account, "blob"), storage_account_key) diff --git a/sdk/storage/azure-storage-blob/tests/test_page_blob.py b/sdk/storage/azure-storage-blob/tests/test_page_blob.py index df4a335b1ec6..c08384d0b345 100644 --- a/sdk/storage/azure-storage-blob/tests/test_page_blob.py +++ b/sdk/storage/azure-storage-blob/tests/test_page_blob.py @@ -178,7 +178,7 @@ def test_put_page_with_lease_id(self, resource_group, location, storage_account, self.assertEqual(content.readall(), data) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') def test_put_page_with_lease_id_and_if_tags(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account, "blob"), credential=storage_account_key, connection_data_block_size=4 * 1024, max_page_size=4 * 1024) self._setup(bsc) diff --git a/sdk/storage/azure-storage-blob/tests/test_page_blob_async.py b/sdk/storage/azure-storage-blob/tests/test_page_blob_async.py index bc36c64d90ab..35e5890ef8ff 100644 --- a/sdk/storage/azure-storage-blob/tests/test_page_blob_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_page_blob_async.py @@ -208,7 +208,7 @@ async def test_put_page_with_lease_id(self, resource_group, location, storage_ac self.assertEqual(actual, data) @GlobalResourceGroupPreparer() - @StorageAccountPreparer(location="canadacentral", name_prefix='storagename') + @StorageAccountPreparer(random_name_enabled=True, location="canadacentral", name_prefix='storagename') @AsyncStorageTestCase.await_prepared_test async def test_put_page_with_lease_id_and_if_tags(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account, "blob"), credential=storage_account_key, connection_data_block_size=4 * 1024, max_page_size=4 * 1024) diff --git a/sdk/storage/azure-storage-file-datalake/CHANGELOG.md b/sdk/storage/azure-storage-file-datalake/CHANGELOG.md index c3afe42de65b..c0add25d881f 100644 --- a/sdk/storage/azure-storage-file-datalake/CHANGELOG.md +++ b/sdk/storage/azure-storage-file-datalake/CHANGELOG.md @@ -1,4 +1,9 @@ # Release History +## 12.1.1 (2020-08-13) +- Patch release to update the minimum dependency requirement. + +## 12.1.0 (2020-08-12) +- Added `query_file` API to enable users to select/project on DataLake file data by providing simple query expressions. ## 12.1.0b1 (2020-07-07) **New Feature** diff --git a/sdk/storage/azure-storage-file-datalake/GEN1_GEN2_MAPPING.md b/sdk/storage/azure-storage-file-datalake/GEN1_GEN2_MAPPING.md index 026f362dc5d5..6ffda9a77013 100644 --- a/sdk/storage/azure-storage-file-datalake/GEN1_GEN2_MAPPING.md +++ b/sdk/storage/azure-storage-file-datalake/GEN1_GEN2_MAPPING.md @@ -83,7 +83,7 @@ Return last bytes of file -read_block +read_block Read a block of bytes from an ADL file @@ -116,7 +116,7 @@ Set the Access Control List (ACL) for a file or folder. -modify_acl_entries +modify_acl_entries Modify existing Access Control List (ACL) entries on a file or folder. If the entry does not exist it is added, otherwise it is updated based on the spec passed in. No entries are removed by this process (unlike set_acl). @@ -132,7 +132,7 @@ Probably users can achieve the same purpose by calling set_access_control with related parameters. -remove_acl +remove_acl Remove the entire, non default, ACL from the file or folder, including unnamed entries. Default entries cannot be removed this way, please use remove_default_acl for that. Note: this is not recursive, and applies only to the file or folder specified. @@ -140,7 +140,7 @@ Remove the entire default ACL from the folder. Default entries do not exist on files, if a file is specified, this operation does nothing. Note: this is not recursive, and applies only to the folder specified. -open +open Open a file for reading or writing to. N/A There is no open file operation In ADLS Gen2. However users can do operations to the file directly, eg. append_data, flush_data, download_file diff --git a/sdk/storage/azure-storage-file-datalake/README.md b/sdk/storage/azure-storage-file-datalake/README.md index e2ee6c792099..a32ba6b3fb44 100644 --- a/sdk/storage/azure-storage-file-datalake/README.md +++ b/sdk/storage/azure-storage-file-datalake/README.md @@ -14,7 +14,7 @@ This preview package for Python includes ADLS Gen2 specific API support made ava ### Prerequisites * Python 2.7, or 3.5 or later is required to use this package. * You must have an [Azure subscription](https://azure.microsoft.com/free/) and an -[Azure storage account](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account) to use this package. +[Azure storage account](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account) to use this package. ### Install the package Install the Azure DataLake Storage client library for Python with [pip](https://pypi.org/project/pip/): @@ -25,9 +25,9 @@ pip install azure-storage-file-datalake --pre ### Create a storage account If you wish to create a new storage account, you can use the -[Azure Portal](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account#create-an-account-using-the-azure-portal), -[Azure PowerShell](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account#create-an-account-using-powershell), -or [Azure CLI](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account#create-an-account-using-azure-cli): +[Azure Portal](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account#create-an-account-using-the-azure-portal), +[Azure PowerShell](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account#create-an-account-using-powershell), +or [Azure CLI](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account#create-an-account-using-azure-cli): ```bash # Create a new resource group to hold the storage account - @@ -221,7 +221,7 @@ Several DataLake Storage Python SDK samples are available to you in the SDK's Gi ### Additional documentation Table for [ADLS Gen1 to ADLS Gen2 API Mapping](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/storage/azure-storage-file-datalake/GEN1_GEN2_MAPPING.md) -For more extensive REST documentation on Data Lake Storage Gen2, see the [Data Lake Storage Gen2 documentation](https://docs.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/filesystem) on docs.microsoft.com. +For more extensive REST documentation on Data Lake Storage Gen2, see the [Data Lake Storage Gen2 documentation](https://docs.microsoft.com/rest/api/storageservices/datalakestoragegen2/filesystem) on docs.microsoft.com. ## Contributing diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_file_client.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_file_client.py index f93139818689..db076b81d6b3 100644 --- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_file_client.py +++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_file_client.py @@ -693,12 +693,12 @@ def query_file(self, query_expression, **kwargs): .. admonition:: Example: - .. literalinclude:: ../samples/blob_samples_query.py + .. literalinclude:: ../samples/datalake_samples_query.py :start-after: [START query] :end-before: [END query] :language: python :dedent: 4 - :caption: select/project on blob/or blob snapshot data by providing simple query expressions. + :caption: select/project on datalake file data by providing simple query expressions. """ query_expression = query_expression.replace("from DataLakeStorage", "from BlobStorage") blob_quick_query_reader = self._blob_client.query_blob(query_expression, diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_version.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_version.py index 18a6e0969136..8a3a444714b3 100644 --- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_version.py +++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_version.py @@ -4,4 +4,4 @@ # license information. # -------------------------------------------------------------------------- -VERSION = "12.1.0b1" +VERSION = "12.1.1" diff --git a/sdk/storage/azure-storage-file-datalake/samples/README.md b/sdk/storage/azure-storage-file-datalake/samples/README.md index 7114ae2bdebb..142db60ff3b4 100644 --- a/sdk/storage/azure-storage-file-datalake/samples/README.md +++ b/sdk/storage/azure-storage-file-datalake/samples/README.md @@ -40,7 +40,7 @@ Several DataLake Storage Python SDK samples are available to you in the SDK's Gi ## Prerequisites * Python 2.7, or 3.5 or later is required to use this package * You must have an [Azure subscription](https://azure.microsoft.com/free/) and an -[Azure storage account](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account) to run these samples. +[Azure storage account](https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-quickstart-create-account) to run these samples. ## Setup diff --git a/sdk/storage/azure-storage-file-datalake/samples/datalake_samples_query.py b/sdk/storage/azure-storage-file-datalake/samples/datalake_samples_query.py new file mode 100644 index 000000000000..3d9b51ad772c --- /dev/null +++ b/sdk/storage/azure-storage-file-datalake/samples/datalake_samples_query.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +""" +FILE: datalake_samples_query.py +DESCRIPTION: + This sample demos how to read quick query data. +USAGE: python datalake_samples_query.py + Set the environment variables with your own values before running the sample. + 1) AZURE_STORAGE_CONNECTION_STRING - the connection string to your storage account +""" +import os +import sys +from azure.storage.filedatalake import DataLakeServiceClient, DelimitedJsonDialect, DelimitedTextDialect + +CSV_DATA = b'Service,Package,Version,RepoPath,MissingDocs\r\nApp Configuration,' \ + b'azure-data-appconfiguration,1,appconfiguration,FALSE\r\nEvent Hubs' \ + b'\r\nEvent Hubs - Azure Storage CheckpointStore,' \ + b'azure-messaging-eventhubs-checkpointstore-blob,1.0.1,eventhubs,FALSE\r\nIdentity,azure-identity,' \ + b'1.1.0-beta.1,identity,FALSE\r\nKey Vault - Certificates,azure-security-keyvault-certificates,' \ + b'4.0.0,keyvault,FALSE\r\nKey Vault - Keys,azure-security-keyvault-keys,4.2.0-beta.1,keyvault,' \ + b'FALSE\r\nKey Vault - Secrets,azure-security-keyvault-secrets,4.1.0,keyvault,FALSE\r\n' \ + b'Storage - Blobs,azure-storage-blob,12.4.0,storage,FALSE\r\nStorage - Blobs Batch,' \ + b'azure-storage-blob-batch,12.4.0-beta.1,storage,FALSE\r\nStorage - Blobs Cryptography,' \ + b'azure-storage-blob-cryptography,12.4.0,storage,FALSE\r\nStorage - File Shares,' \ + b'azure-storage-file-share,12.2.0,storage,FALSE\r\nStorage - Queues,' \ + b'azure-storage-queue,12.3.0,storage,FALSE\r\nText Analytics,' \ + b'azure-ai-textanalytics,1.0.0-beta.2,textanalytics,FALSE\r\nTracing,' \ + b'azure-core-tracing-opentelemetry,1.0.0-beta.2,core,FALSE\r\nService,Package,Version,RepoPath,' \ + b'MissingDocs\r\nApp Configuration,azure-data-appconfiguration,1.0.1,appconfiguration,FALSE\r\n' \ + b'Event Hubs,azure-messaging-eventhubs,5.0.1,eventhubs,FALSE\r\n' \ + b'Event Hubs - Azure Storage CheckpointStore,azure-messaging-eventhubs-checkpointstore-blob,' \ + b'1.0.1,eventhubs,FALSE\r\nIdentity,azure-identity,1.1.0-beta.1,identity,FALSE\r\n' \ + b'Key Vault - Certificates,azure-security-keyvault-certificates,4.0.0,keyvault,FALSE\r\n' \ + b'Key Vault - Keys,azure-security-keyvault-keys,4.2.0-beta.1,keyvault,FALSE\r\n' \ + b'Key Vault - Secrets,azure-security-keyvault-secrets,4.1.0,keyvault,FALSE\r\n' \ + b'Storage - Blobs,azure-storage-blob,12.4.0,storage,FALSE\r\n' \ + b'Storage - Blobs Batch,azure-storage-blob-batch,12.4.0-beta.1,storage,FALSE\r\n' \ + b'Storage - Blobs Cryptography,azure-storage-blob-cryptography,12.4.0,storage,FALSE\r\n' \ + b'Storage - File Shares,azure-storage-file-share,12.2.0,storage,FALSE\r\n' \ + b'Storage - Queues,azure-storage-queue,12.3.0,storage,FALSE\r\n' \ + b'Text Analytics,azure-ai-textanalytics,1.0.0-beta.2,textanalytics,FALSE\r\n' \ + b'Tracing,azure-core-tracing-opentelemetry,1.0.0-beta.2,core,FALSE\r\n' \ + b'Service,Package,Version,RepoPath,MissingDocs\r\n' \ + b'App Configuration,azure-data-appconfiguration,1.0.1,appconfiguration,FALSE\r\n' \ + b'Event Hubs,azure-messaging-eventhubs,5.0.1,eventhubs,FALSE\r\n' + + +def main(): + try: + CONNECTION_STRING = os.environ['AZURE_STORAGE_CONNECTION_STRING'] + + except KeyError: + print("AZURE_STORAGE_CONNECTION_STRING must be set.") + sys.exit(1) + + datalake_service_client = DataLakeServiceClient.from_connection_string(CONNECTION_STRING) + filesystem_name = "quickqueryfilesystem" + filesystem_client = datalake_service_client.get_file_system_client(filesystem_name) + try: + filesystem_client.create_file_system() + except: + pass + # [START query] + errors = [] + def on_error(error): + errors.append(error) + + # upload the csv file + file_client = datalake_service_client.get_file_client(filesystem_name, "csvfile") + file_client.upload_data(CSV_DATA, overwrite=True) + + # select the second column of the csv file + query_expression = "SELECT _2 from DataLakeStorage" + input_format = DelimitedTextDialect(delimiter=',', quotechar='"', lineterminator='\n', escapechar="", has_header=False) + output_format = DelimitedJsonDialect(delimiter='\n') + reader = file_client.query_file(query_expression, on_error=on_error, file_format=input_format, output_format=output_format) + content = reader.readall() + # [END query] + print(content) + + filesystem_client.delete_file_system() + + +if __name__ == "__main__": + main() diff --git a/sdk/storage/azure-storage-file-datalake/setup.py b/sdk/storage/azure-storage-file-datalake/setup.py index febde0eaec9c..c6afe2ba1c74 100644 --- a/sdk/storage/azure-storage-file-datalake/setup.py +++ b/sdk/storage/azure-storage-file-datalake/setup.py @@ -72,7 +72,7 @@ author_email='ascl@microsoft.com', url='https://github.com/Azure/azure-sdk-for-python', classifiers=[ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', @@ -93,7 +93,7 @@ install_requires=[ "azure-core<2.0.0,>=1.6.0", "msrest>=0.6.10", - "azure-storage-blob>=12.3.1" + "azure-storage-blob~=12.4.0" ], extras_require={ ":python_version<'3.0'": ['futures', 'azure-storage-nspkg<4.0.0,>=3.0.0'], diff --git a/sdk/storage/azure-storage-file-share/CHANGELOG.md b/sdk/storage/azure-storage-file-share/CHANGELOG.md index 01d6ae2abed4..76ff136f2901 100644 --- a/sdk/storage/azure-storage-file-share/CHANGELOG.md +++ b/sdk/storage/azure-storage-file-share/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History +## 12.2.0 (2020-08-13) +**Stable release of preview features** +- Preview feature `undelete_share` on FileShareServiceClient. + ## 12.2.0b1 (2020-07-07) **New features** - Added `undelete_share` on FileShareServiceClient so that users can restore deleted share on share soft delete enabled account. Users can also list deleted shares when `list_shares` by specifying `include_deleted=True`. diff --git a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_serialize.py b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_serialize.py index c0755118477e..769eb975bed2 100644 --- a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_serialize.py +++ b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_serialize.py @@ -54,6 +54,7 @@ def get_source_conditions(kwargs): source_if_none_match=if_none_match or kwargs.pop('source_if_none_match', None) ) + def get_access_conditions(lease): # type: (Optional[Union[ShareLeaseClient, str]]) -> Union[LeaseAccessConditions, None] try: diff --git a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_version.py b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_version.py index dd22d879d99d..dc78818d6ef5 100644 --- a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_version.py +++ b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_version.py @@ -4,4 +4,4 @@ # license information. # -------------------------------------------------------------------------- -VERSION = "12.2.0b1" +VERSION = "12.2.0" diff --git a/sdk/storage/azure-storage-file-share/setup.py b/sdk/storage/azure-storage-file-share/setup.py index 74655734004e..e4cc87aae80a 100644 --- a/sdk/storage/azure-storage-file-share/setup.py +++ b/sdk/storage/azure-storage-file-share/setup.py @@ -58,7 +58,7 @@ author_email='ascl@microsoft.com', url='https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/storage/azure-storage-file-share', classifiers=[ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index 6190a2b53933..f8e626370263 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -158,7 +158,7 @@ def from_connection_string( credential=None, # type: Any **kwargs # type: Any ): - # type: (...) -> None + # type: (...) -> QueueClient """Create QueueClient from a Connection String. :param str conn_str: diff --git a/sdk/storage/ci.yml b/sdk/storage/ci.yml index b05318280d6a..3796300ccc89 100644 --- a/sdk/storage/ci.yml +++ b/sdk/storage/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -52,4 +51,4 @@ extends: - name: azure_mgmt_storagesync safeName: azuremgmtstoragesync - name: azure_mgmt_storageimportexport - safeName: azuremgmtstorageimportexport \ No newline at end of file + safeName: azuremgmtstorageimportexport diff --git a/sdk/subscription/ci.yml b/sdk/subscription/ci.yml index f26e35d85362..4df043ccb87e 100644 --- a/sdk/subscription/ci.yml +++ b/sdk/subscription/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: subscription Artifacts: - name: azure_mgmt_subscription - safeName: azuremgmtsubscription \ No newline at end of file + safeName: azuremgmtsubscription diff --git a/sdk/support/ci.yml b/sdk/support/ci.yml index 542e7f85ee3d..9d04577caa69 100644 --- a/sdk/support/ci.yml +++ b/sdk/support/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: support Artifacts: - name: azure_mgmt_support - safeName: azuremgmtsupport \ No newline at end of file + safeName: azuremgmtsupport diff --git a/sdk/synapse/ci.yml b/sdk/synapse/ci.yml index 5d8e432985c1..53f55fb146a6 100644 --- a/sdk/synapse/ci.yml +++ b/sdk/synapse/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -40,4 +39,4 @@ extends: - name: azure_synapse_nspkg safeName: azuresynapsenspkg - name: azure_mgmt_synapse - safeName: azuremgmtsynapse \ No newline at end of file + safeName: azuremgmtsynapse diff --git a/sdk/tables/azure-data-tables/README.md b/sdk/tables/azure-data-tables/README.md index 02ea72a9fab9..a29e4d753e2c 100644 --- a/sdk/tables/azure-data-tables/README.md +++ b/sdk/tables/azure-data-tables/README.md @@ -18,7 +18,7 @@ Common uses of Azure Data Tables include: * Python 2.7, or 3.5 or later is required to use this package. * You must have an [Azure subscription](https://azure.microsoft.com/free/) and an [Azure storage account](https://docs.microsoft.com/azure/storage/common/storage-account-overview) to use this package - or you must have a [Azure Cosmos Account](https://docs.microsoft.com/en-us/azure/cosmos-db/account-overview). + or you must have a [Azure Cosmos Account](https://docs.microsoft.com/azure/cosmos-db/account-overview). ### Install the package Install the Azure Data Tables client library for Python with [pip](https://pypi.org/project/pip/): @@ -28,7 +28,7 @@ pip install --pre azure-data-tables ``` ### Create a storage account -If you wish to create a new cosmos storage account, you can use the [Azure Cosmos DB](https://docs.microsoft.com/en-us/azure/cosmos-db/create-cosmosdb-resources-portal) +If you wish to create a new cosmos storage account, you can use the [Azure Cosmos DB](https://docs.microsoft.com/azure/cosmos-db/create-cosmosdb-resources-portal) If you wish to create a new storage account, you can use the [Azure Portal](https://docs.microsoft.com/azure/storage/common/storage-quickstart-create-account?tabs=azure-portal), [Azure PowerShell](https://docs.microsoft.com/azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell), @@ -232,7 +232,7 @@ the client level to enable it for all requests. ## Troubleshooting ### General Azure Data Tables clients raise exceptions defined in [Azure Core](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/README.md). -All Table service operations will throw a `HttpResponseError` on failure with helpful [error codes](https://docs.microsoft.com/en-us/rest/api/storageservices/table-service-error-codes). +All Table service operations will throw a `HttpResponseError` on failure with helpful [error codes](https://docs.microsoft.com/rest/api/storageservices/table-service-error-codes). ### Logging This library uses the standard diff --git a/sdk/tables/azure-data-tables/azure/data/tables/__init__.py b/sdk/tables/azure-data-tables/azure/data/tables/__init__.py index 5424c62cb7ca..4a424ceaf552 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/__init__.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/__init__.py @@ -19,7 +19,7 @@ CorsRule, UpdateMode, SASProtocol, - Table, + TableItem, LocationMode, ResourceTypes, AccountSasPermissions, @@ -47,7 +47,7 @@ 'generate_account_sas', 'CorsRule', 'UpdateMode', - 'Table', + 'TableItem', 'TableEntity', 'EntityProperty', 'EdmType', diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_base_client.py b/sdk/tables/azure-data-tables/azure/data/tables/_base_client.py index af7a125d5082..36b2cb3fd59c 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_base_client.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_base_client.py @@ -52,9 +52,9 @@ StorageLoggingPolicy, StorageHosts, ExponentialRetry, ) -from ._version import VERSION from ._error import _process_table_error from ._models import PartialBatchErrorException +from ._sdk_moniker import SDK_MONIKER _LOGGER = logging.getLogger(__name__) @@ -337,7 +337,7 @@ def format_shared_key_credential(account, credential): return credential -def parse_connection_str(conn_str, credential, service): +def parse_connection_str(conn_str, credential, service, keyword_args): conn_str = conn_str.rstrip(";") conn_settings = [s.split("=", 1) for s in conn_str.split(";")] if any(len(tup) != 2 for tup in conn_settings): @@ -378,15 +378,19 @@ def parse_connection_str(conn_str, credential, service): ) except KeyError: raise ValueError("Connection string missing required connection details.") - return primary, secondary, credential + + if 'secondary_hostname' not in keyword_args: + keyword_args['secondary_hostname'] = secondary + + return primary, credential def create_configuration(**kwargs): # type: (**Any) -> Configuration config = Configuration(**kwargs) config.headers_policy = StorageHeadersPolicy(**kwargs) - config.user_agent_policy = UserAgentPolicy( - sdk_moniker="storage-{}/{}".format(kwargs.pop('storage_sdk'), VERSION), **kwargs) + config.user_agent_policy = UserAgentPolicy(sdk_moniker=SDK_MONIKER, **kwargs) + # sdk_moniker="storage-{}/{}".format(kwargs.pop('storage_sdk'), VERSION), **kwargs) config.retry_policy = kwargs.get("retry_policy") or ExponentialRetry(**kwargs) config.logging_policy = StorageLoggingPolicy(**kwargs) config.proxy_policy = ProxyPolicy(**kwargs) diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_constants.py b/sdk/tables/azure-data-tables/azure/data/tables/_constants.py index c8f85fca9e14..7994a03f43ae 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_constants.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_constants.py @@ -3,15 +3,8 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import platform import sys -from ._generated.version import VERSION - -# UserAgent string sample: 'Azure-Storage/0.37.0-0.38.0 (Python CPython 3.4.2; Windows 8)' -# First version(0.37.0) is the common package, and the second version(0.38.0) is the service package -USER_AGENT_STRING_SUFFIX = '(Python {} {}; {} {})'.format(platform.python_implementation(), - platform.python_version(), platform.system(), - platform.release()) +from ._generated._version import VERSION # default values for common package, in case it is used directly DEFAULT_X_MS_VERSION = '2018-03-28' diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_deserialize.py b/sdk/tables/azure-data-tables/azure/data/tables/_deserialize.py index fa65406bcbde..8adf6db3fac2 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_deserialize.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_deserialize.py @@ -16,7 +16,6 @@ from ._entity import EntityProperty, EdmType, TableEntity from ._common_conversion import _decode_base64_to_bytes -from ._generated.models import TableProperties from ._error import TableErrorCode if TYPE_CHECKING: @@ -62,11 +61,11 @@ def _deserialize_table_creation(response, _, headers): def _from_entity_binary(value): - return EntityProperty(EdmType.BINARY, _decode_base64_to_bytes(value)) + return EntityProperty(_decode_base64_to_bytes(value)) def _from_entity_int32(value): - return EntityProperty(EdmType.INT32, int(value)) + return EntityProperty(int(value)) zero = datetime.timedelta(0) # same as 00:00 diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_entity.py b/sdk/tables/azure-data-tables/azure/data/tables/_entity.py index faed3d8ae453..230eb402e16d 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_entity.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_entity.py @@ -4,6 +4,9 @@ # license information. # -------------------------------------------------------------------------- from enum import Enum +from datetime import datetime +from uuid import UUID +import six from ._error import _ERROR_ATTRIBUTE_MISSING @@ -75,17 +78,41 @@ class EntityProperty(object): """ def __init__(self, - type=None, # type: Union[str,EdmType] # pylint:disable=W0622 - value=None # type: Any - ): + value=None, # type: Any + type=None, # type: Union[str,EdmType] # pylint:disable=W0622 + ): """ Represents an Azure Table. Returned by list_tables. :param Union[str, EdmType] type: The type of the property. :param Any value: The value of the property. """ - self.type = type self.value = value + if type is not None: + self.type = type + elif isinstance(value, six.text_type): + try: + self.value = UUID(value) + self.type = EdmType.GUID + except ValueError: + self.type = EdmType.STRING + elif isinstance(value, six.binary_type): + self.type = EdmType.BINARY + elif isinstance(value, bool): + self.type = EdmType.BOOLEAN + elif isinstance(value, six.integer_types): + self.type = EdmType.INT64 + elif isinstance(value, datetime): + self.type = EdmType.DATETIME + elif isinstance(value, float): + self.type = EdmType.DOUBLE + else: + raise ValueError( + """Type of {} could not be inferred. Acceptable types are bytes, int, uuid.UUID, + datetime, string, int32, int64, float, and boolean. Refer to + azure.data.tables.EdmType for more information. + """.format(value) + ) class EdmType(str, Enum): diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/__init__.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/__init__.py index 38dbb2a7267b..62c47d0d219e 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/__init__.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/__init__.py @@ -1,14 +1,19 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from ._azure_table import AzureTable +from ._version import VERSION + +__version__ = VERSION __all__ = ['AzureTable'] try: - from ._patch import patch_sdk + from ._patch import patch_sdk # type: ignore patch_sdk() except ImportError: pass diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/_azure_table.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/_azure_table.py index b9331513f6f5..7d6f16f78721 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/_azure_table.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/_azure_table.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -23,12 +25,11 @@ class AzureTable(object): """AzureTable. :ivar table: TableOperations operations - :vartype table: azure_table.operations.TableOperations + :vartype table: azure.data.tables.operations.TableOperations :ivar service: ServiceOperations operations - :vartype service: azure_table.operations.ServiceOperations - :param url: The URL of the service account or table that is the targe of the desired operation. + :vartype service: azure.data.tables.operations.ServiceOperations + :param url: The URL of the service account or table that is the target of the desired operation. :type url: str - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/_configuration.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/_configuration.py index f822bc3d1ad0..833b1374a2a0 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/_configuration.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/_configuration.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -9,11 +11,12 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies +from ._version import VERSION + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from typing import Any -VERSION = "unknown" class AzureTableConfiguration(Configuration): """Configuration for AzureTable. @@ -21,7 +24,7 @@ class AzureTableConfiguration(Configuration): Note that all parameters used to create this instance are saved as instance attributes. - :param url: The URL of the service account or table that is the targe of the desired operation. + :param url: The URL of the service account or table that is the target of the desired operation. :type url: str """ @@ -37,7 +40,7 @@ def __init__( self.url = url self.version = "2019-02-02" - kwargs.setdefault('sdk_moniker', 'azuretable/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'data-tables/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -49,6 +52,7 @@ def _configure( self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/_version.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/_version.py new file mode 100644 index 000000000000..0a99d31fccc0 --- /dev/null +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2019-02-02" diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/__init__.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/__init__.py index 4c1512d94a8a..a324ce215e22 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/__init__.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/__init__.py @@ -1,10 +1,10 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ - -__all__ = ['AzureTable'] +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- from ._azure_table_async import AzureTable - - +__all__ = ['AzureTable'] diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/_azure_table_async.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/_azure_table_async.py index 1b3c4d87d19c..59f535c1f3b7 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/_azure_table_async.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/_azure_table_async.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -19,12 +21,11 @@ class AzureTable(object): """AzureTable. :ivar table: TableOperations operations - :vartype table: azure_table.aio.operations_async.TableOperations + :vartype table: azure.data.tables.aio.operations_async.TableOperations :ivar service: ServiceOperations operations - :vartype service: azure_table.aio.operations_async.ServiceOperations - :param url: The URL of the service account or table that is the targe of the desired operation. + :vartype service: azure.data.tables.aio.operations_async.ServiceOperations + :param url: The URL of the service account or table that is the target of the desired operation. :type url: str - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/_configuration_async.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/_configuration_async.py index d2581e2463c9..f77481ec1626 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/_configuration_async.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/_configuration_async.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -9,7 +11,8 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -VERSION = "unknown" +from .._version import VERSION + class AzureTableConfiguration(Configuration): """Configuration for AzureTable. @@ -17,7 +20,7 @@ class AzureTableConfiguration(Configuration): Note that all parameters used to create this instance are saved as instance attributes. - :param url: The URL of the service account or table that is the targe of the desired operation. + :param url: The URL of the service account or table that is the target of the desired operation. :type url: str """ @@ -32,7 +35,7 @@ def __init__( self.url = url self.version = "2019-02-02" - kwargs.setdefault('sdk_moniker', 'azuretable/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'data-tables/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -43,6 +46,7 @@ def _configure( self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/__init__.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/__init__.py index 90d9a5059444..4257b1efd611 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/__init__.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/__init__.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/_service_operations_async.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/_service_operations_async.py index b9a2d2b3d664..770d59c8b8c3 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/_service_operations_async.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/_service_operations_async.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Generic, Optional, TypeVar @@ -22,7 +24,7 @@ class ServiceOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure_table.models + :type models: ~azure.data.tables.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,10 +46,11 @@ async def set_properties( request_id_parameter: Optional[str] = None, **kwargs ) -> None: - """Sets properties for an account's Table service endpoint, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules. + """Sets properties for an account's Table service endpoint, including properties for Analytics and + CORS (Cross-Origin Resource Sharing) rules. :param table_service_properties: The Table Service properties. - :type table_service_properties: ~azure_table.models.TableServiceProperties + :type table_service_properties: ~azure.data.tables.models.TableServiceProperties :param timeout: The timeout parameter is expressed in seconds. :type timeout: int :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character @@ -86,7 +89,6 @@ async def set_properties( header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(table_service_properties, 'TableServiceProperties', is_xml=True) body_content_kwargs['content'] = body_content @@ -116,7 +118,8 @@ async def get_properties( request_id_parameter: Optional[str] = None, **kwargs ) -> "models.TableServiceProperties": - """Gets the properties of an account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules. + """Gets the properties of an account's Table service, including properties for Analytics and CORS + (Cross-Origin Resource Sharing) rules. :param timeout: The timeout parameter is expressed in seconds. :type timeout: int @@ -125,7 +128,7 @@ async def get_properties( :type request_id_parameter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: TableServiceProperties, or the result of cls(response) - :rtype: ~azure_table.models.TableServiceProperties + :rtype: ~azure.data.tables.models.TableServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TableServiceProperties"] @@ -155,7 +158,6 @@ async def get_properties( header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Accept'] = 'application/xml' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -183,7 +185,9 @@ async def get_statistics( request_id_parameter: Optional[str] = None, **kwargs ) -> "models.TableServiceStats": - """Retrieves statistics related to replication for the Table service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the account. + """Retrieves statistics related to replication for the Table service. It is only available on the + secondary location endpoint when read-access geo-redundant replication is enabled for the + account. :param timeout: The timeout parameter is expressed in seconds. :type timeout: int @@ -192,7 +196,7 @@ async def get_statistics( :type request_id_parameter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: TableServiceStats, or the result of cls(response) - :rtype: ~azure_table.models.TableServiceStats + :rtype: ~azure.data.tables.models.TableServiceStats :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TableServiceStats"] @@ -222,7 +226,6 @@ async def get_statistics( header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Accept'] = 'application/xml' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/_table_operations_async.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/_table_operations_async.py index 80d2a09252d7..1f22ee2be6b0 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/_table_operations_async.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/aio/operations_async/_table_operations_async.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union @@ -22,7 +24,7 @@ class TableOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure_table.models + :type models: ~azure.data.tables.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -52,10 +54,10 @@ async def query( :param next_table_name: A table query continuation token from a previous call. :type next_table_name: str :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: TableQueryResponse, or the result of cls(response) - :rtype: ~azure_table.models.TableQueryResponse + :rtype: ~azure.data.tables.models.TableQueryResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TableQueryResponse"] @@ -101,14 +103,14 @@ async def query( header_parameters['DataServiceVersion'] = self._serialize.header("data_service_version", data_service_version, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response) + error = self._deserialize(models.TableServiceError, response) + raise HttpResponseError(response=response, model=error) response_headers = {} response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) @@ -131,25 +133,25 @@ async def create( response_preference: Optional[Union[str, "models.ResponseFormat"]] = None, query_options: Optional["models.QueryOptions"] = None, **kwargs - ) -> "models.TableResponse": + ) -> Optional["models.TableResponse"]: """Creates a new table under the given account. :param table_properties: The Table properties. - :type table_properties: ~azure_table.models.TableProperties + :type table_properties: ~azure.data.tables.models.TableProperties :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when analytics logging is enabled. :type request_id_parameter: str :param response_preference: Specifies whether the response should include the inserted entity in the payload. Possible values are return-no-content and return-content. - :type response_preference: str or ~azure_table.models.ResponseFormat + :type response_preference: str or ~azure.data.tables.models.ResponseFormat :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: TableResponse, or the result of cls(response) - :rtype: ~azure_table.models.TableResponse or None + :rtype: ~azure.data.tables.models.TableResponse or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TableResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TableResponse"]] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) @@ -182,7 +184,6 @@ async def create( header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(table_properties, 'TableProperties') body_content_kwargs['content'] = body_content @@ -258,7 +259,6 @@ async def delete( if request_id_parameter is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -303,10 +303,10 @@ async def query_entities( :param next_row_key: An entity query continuation token from a previous call. :type next_row_key: str :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: TableEntityQueryResponse, or the result of cls(response) - :rtype: ~azure_table.models.TableEntityQueryResponse + :rtype: ~azure.data.tables.models.TableEntityQueryResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TableEntityQueryResponse"] @@ -357,7 +357,6 @@ async def query_entities( header_parameters['DataServiceVersion'] = self._serialize.header("data_service_version", data_service_version, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -391,7 +390,7 @@ async def query_entities_with_partition_and_row_key( request_id_parameter: Optional[str] = None, query_options: Optional["models.QueryOptions"] = None, **kwargs - ) -> "models.TableEntityQueryResponse": + ) -> Dict[str, object]: """Queries entities in a table. :param table: The name of the table. @@ -406,13 +405,13 @@ async def query_entities_with_partition_and_row_key( limit that is recorded in the analytics logs when analytics logging is enabled. :type request_id_parameter: str :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response - :return: TableEntityQueryResponse, or the result of cls(response) - :rtype: ~azure_table.models.TableEntityQueryResponse + :return: dict mapping str to object, or the result of cls(response) + :rtype: dict[str, object] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TableEntityQueryResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Dict[str, object]] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) @@ -454,7 +453,6 @@ async def query_entities_with_partition_and_row_key( header_parameters['DataServiceVersion'] = self._serialize.header("data_service_version", data_service_version, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -472,7 +470,7 @@ async def query_entities_with_partition_and_row_key( response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) response_headers['x-ms-continuation-NextPartitionKey']=self._deserialize('str', response.headers.get('x-ms-continuation-NextPartitionKey')) response_headers['x-ms-continuation-NextRowKey']=self._deserialize('str', response.headers.get('x-ms-continuation-NextRowKey')) - deserialized = self._deserialize('TableEntityQueryResponse', pipeline_response) + deserialized = self._deserialize('{object}', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) @@ -513,7 +511,7 @@ async def update_entity( :param table_entity_properties: The properties for the table entity. :type table_entity_properties: dict[str, object] :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None @@ -556,7 +554,6 @@ async def update_entity( header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] if table_entity_properties is not None: body_content = self._serialize.body(table_entity_properties, '{object}') @@ -618,7 +615,7 @@ async def merge_entity( :param table_entity_properties: The properties for the table entity. :type table_entity_properties: dict[str, object] :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None @@ -661,7 +658,6 @@ async def merge_entity( header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] if table_entity_properties is not None: body_content = self._serialize.body(table_entity_properties, '{object}') @@ -719,7 +715,7 @@ async def delete_entity( limit that is recorded in the analytics logs when analytics logging is enabled. :type request_id_parameter: str :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None @@ -759,7 +755,6 @@ async def delete_entity( header_parameters['DataServiceVersion'] = self._serialize.header("data_service_version", data_service_version, 'str') header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -789,7 +784,7 @@ async def insert_entity( table_entity_properties: Optional[Dict[str, object]] = None, query_options: Optional["models.QueryOptions"] = None, **kwargs - ) -> Dict[str, object]: + ) -> Optional[Dict[str, object]]: """Insert entity in a table. :param table: The name of the table. @@ -801,17 +796,17 @@ async def insert_entity( :type request_id_parameter: str :param response_preference: Specifies whether the response should include the inserted entity in the payload. Possible values are return-no-content and return-content. - :type response_preference: str or ~azure_table.models.ResponseFormat + :type response_preference: str or ~azure.data.tables.models.ResponseFormat :param table_entity_properties: The properties for the table entity. :type table_entity_properties: dict[str, object] :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: dict mapping str to object, or the result of cls(response) :rtype: dict[str, object] or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType[Dict[str, object]] + cls = kwargs.pop('cls', None) # type: ClsType[Optional[Dict[str, object]]] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) @@ -847,7 +842,6 @@ async def insert_entity( header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] if table_entity_properties is not None: body_content = self._serialize.body(table_entity_properties, '{object}') @@ -898,7 +892,8 @@ async def get_access_policy( request_id_parameter: Optional[str] = None, **kwargs ) -> List["models.SignedIdentifier"]: - """Retrieves details about any stored access policies specified on the table that may be used with Shared Access Signatures. + """Retrieves details about any stored access policies specified on the table that may be used with + Shared Access Signatures. :param table: The name of the table. :type table: str @@ -909,7 +904,7 @@ async def get_access_policy( :type request_id_parameter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: list of SignedIdentifier, or the result of cls(response) - :rtype: list[~azure_table.models.SignedIdentifier] + :rtype: list[~azure.data.tables.models.SignedIdentifier] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[List["models.SignedIdentifier"]] @@ -938,7 +933,6 @@ async def get_access_policy( header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Accept'] = 'application/xml' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -979,7 +973,7 @@ async def set_access_policy( limit that is recorded in the analytics logs when analytics logging is enabled. :type request_id_parameter: str :param table_acl: The acls for the table. - :type table_acl: list[~azure_table.models.SignedIdentifier] + :type table_acl: list[~azure.data.tables.models.SignedIdentifier] :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None @@ -1011,9 +1005,7 @@ async def set_access_policy( if request_id_parameter is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/xml' - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] serialization_ctxt = {'xml': {'name': 'SignedIdentifiers', 'wrapped': True, 'itemsName': 'SignedIdentifier'}} if table_acl is not None: diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/__init__.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/__init__.py index 944581fccd98..bec7bb2e5155 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/__init__.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/__init__.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -19,6 +21,8 @@ from ._models_py3 import TableResponse from ._models_py3 import TableResponseProperties from ._models_py3 import TableServiceError + from ._models_py3 import TableServiceErrorOdataError + from ._models_py3 import TableServiceErrorOdataErrorMessage from ._models_py3 import TableServiceProperties from ._models_py3 import TableServiceStats except (SyntaxError, ImportError): @@ -36,6 +40,8 @@ from ._models import TableResponse # type: ignore from ._models import TableResponseProperties # type: ignore from ._models import TableServiceError # type: ignore + from ._models import TableServiceErrorOdataError # type: ignore + from ._models import TableServiceErrorOdataErrorMessage # type: ignore from ._models import TableServiceProperties # type: ignore from ._models import TableServiceStats # type: ignore @@ -60,6 +66,8 @@ 'TableResponse', 'TableResponseProperties', 'TableServiceError', + 'TableServiceErrorOdataError', + 'TableServiceErrorOdataErrorMessage', 'TableServiceProperties', 'TableServiceStats', 'GeoReplicationStatusType', diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_azure_table_enums.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_azure_table_enums.py index ef8e90bd92c9..7685b428f163 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_azure_table_enums.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_azure_table_enums.py @@ -1,26 +1,46 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum +from enum import Enum, EnumMeta +from six import with_metaclass -class GeoReplicationStatusType(str, Enum): +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class GeoReplicationStatusType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The status of the secondary location. """ - live = "live" - bootstrap = "bootstrap" - unavailable = "unavailable" + LIVE = "live" + BOOTSTRAP = "bootstrap" + UNAVAILABLE = "unavailable" -class OdataMetadataFormat(str, Enum): +class OdataMetadataFormat(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - application_json_odata_nometadata = "application/json;odata=nometadata" - application_json_odata_minimalmetadata = "application/json;odata=minimalmetadata" - application_json_odata_fullmetadata = "application/json;odata=fullmetadata" + APPLICATION_JSON_ODATA_NOMETADATA = "application/json;odata=nometadata" + APPLICATION_JSON_ODATA_MINIMALMETADATA = "application/json;odata=minimalmetadata" + APPLICATION_JSON_ODATA_FULLMETADATA = "application/json;odata=fullmetadata" -class ResponseFormat(str, Enum): +class ResponseFormat(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - return_no_content = "return-no-content" - return_content = "return-content" + RETURN_NO_CONTENT = "return-no-content" + RETURN_CONTENT = "return-content" diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_models.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_models.py index 3ca6eee7318e..a3a42b3c7a28 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_models.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_models.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -14,9 +16,9 @@ class AccessPolicy(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param start: Required. The start datetime from which the policy is active. - :type start: ~datetime.datetime + :type start: str :param expiry: Required. The datetime that the policy expires. - :type expiry: ~datetime.datetime + :type expiry: str :param permission: Required. The permissions for the acl policy. :type permission: str """ @@ -37,8 +39,8 @@ class AccessPolicy(msrest.serialization.Model): } def __init__( - self, - **kwargs + self, + **kwargs ): super(AccessPolicy, self).__init__(**kwargs) self.start = kwargs['start'] @@ -109,7 +111,7 @@ class GeoReplication(msrest.serialization.Model): :param status: Required. The status of the secondary location. Possible values include: "live", "bootstrap", "unavailable". - :type status: str or ~azure_table.models.GeoReplicationStatusType + :type status: str or ~azure.data.tables.models.GeoReplicationStatusType :param last_sync_time: Required. A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads. @@ -152,7 +154,7 @@ class Logging(msrest.serialization.Model): :param write: Required. Indicates whether all write requests should be logged. :type write: bool :param retention_policy: Required. The retention policy. - :type retention_policy: ~azure_table.models.RetentionPolicy + :type retention_policy: ~azure.data.tables.models.RetentionPolicy """ _validation = { @@ -199,7 +201,7 @@ class Metrics(msrest.serialization.Model): API operations. :type include_apis: bool :param retention_policy: The retention policy. - :type retention_policy: ~azure_table.models.RetentionPolicy + :type retention_policy: ~azure.data.tables.models.RetentionPolicy """ _validation = { @@ -233,7 +235,7 @@ class QueryOptions(msrest.serialization.Model): :param format: Specifies the media type for the response. Possible values include: "application/json;odata=nometadata", "application/json;odata=minimalmetadata", "application/json;odata=fullmetadata". - :type format: str or ~azure_table.models.OdataMetadataFormat + :type format: str or ~azure.data.tables.models.OdataMetadataFormat :param top: Maximum number of records to return. :type top: int :param select: Select expression using OData notation. Limits the columns on each record to @@ -306,13 +308,12 @@ class SignedIdentifier(msrest.serialization.Model): :param id: Required. A unique id. :type id: str - :param access_policy: Required. The access policy. - :type access_policy: ~azure_table.models.AccessPolicy + :param access_policy: The access policy. + :type access_policy: ~azure.data.tables.models.AccessPolicy """ _validation = { 'id': {'required': True}, - 'access_policy': {'required': True}, } _attribute_map = { @@ -324,12 +325,12 @@ class SignedIdentifier(msrest.serialization.Model): } def __init__( - self, - **kwargs + self, + **kwargs ): super(SignedIdentifier, self).__init__(**kwargs) self.id = kwargs['id'] - self.access_policy = kwargs['access_policy'] + self.access_policy = kwargs.get('access_policy', None) class TableEntityQueryResponse(msrest.serialization.Model): @@ -380,7 +381,7 @@ class TableQueryResponse(msrest.serialization.Model): :param odata_metadata: The metadata response of the table. :type odata_metadata: str :param value: List of tables. - :type value: list[~azure_table.models.TableResponseProperties] + :type value: list[~azure.data.tables.models.TableResponseProperties] """ _attribute_map = { @@ -462,15 +463,12 @@ def __init__( class TableServiceError(msrest.serialization.Model): """Table Service error. - :param message: The error message. - :type message: str + :param odata_error: The odata error. + :type odata_error: ~azure.data.tables.models.TableServiceErrorOdataError """ _attribute_map = { - 'message': {'key': 'Message', 'type': 'str', 'xml': {'name': 'Message'}}, - } - _xml_map = { - + 'odata_error': {'key': 'odata\\.error', 'type': 'TableServiceErrorOdataError'}, } def __init__( @@ -478,22 +476,69 @@ def __init__( **kwargs ): super(TableServiceError, self).__init__(**kwargs) + self.odata_error = kwargs.get('odata_error', None) + + +class TableServiceErrorOdataError(msrest.serialization.Model): + """The odata error. + + :param code: The service error code. The error codes possible are listed in: + https://docs.microsoft.com/rest/api/storageservices/table-service-error-codes. + :type code: str + :param message: The service error message. + :type message: ~azure.data.tables.models.TableServiceErrorOdataErrorMessage + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'TableServiceErrorOdataErrorMessage'}, + } + + def __init__( + self, + **kwargs + ): + super(TableServiceErrorOdataError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) self.message = kwargs.get('message', None) +class TableServiceErrorOdataErrorMessage(msrest.serialization.Model): + """The service error message. + + :param lang: Language code of the error message. + :type lang: str + :param value: The error message. + :type value: str + """ + + _attribute_map = { + 'lang': {'key': 'lang', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TableServiceErrorOdataErrorMessage, self).__init__(**kwargs) + self.lang = kwargs.get('lang', None) + self.value = kwargs.get('value', None) + + class TableServiceProperties(msrest.serialization.Model): """Table Service Properties. :param logging: Azure Analytics Logging settings. - :type logging: ~azure_table.models.Logging + :type logging: ~azure.data.tables.models.Logging :param hour_metrics: A summary of request statistics grouped by API in hourly aggregates for tables. - :type hour_metrics: ~azure_table.models.Metrics + :type hour_metrics: ~azure.data.tables.models.Metrics :param minute_metrics: A summary of request statistics grouped by API in minute aggregates for tables. - :type minute_metrics: ~azure_table.models.Metrics + :type minute_metrics: ~azure.data.tables.models.Metrics :param cors: The set of CORS rules. - :type cors: list[~azure_table.models.CorsRule] + :type cors: list[~azure.data.tables.models.CorsRule] """ _attribute_map = { @@ -521,7 +566,7 @@ class TableServiceStats(msrest.serialization.Model): """Stats for the service. :param geo_replication: Geo-Replication information for the Secondary Storage Service. - :type geo_replication: ~azure_table.models.GeoReplication + :type geo_replication: ~azure.data.tables.models.GeoReplication """ _attribute_map = { diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_models_py3.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_models_py3.py index 001b3ff92b4b..8469471af9bc 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_models_py3.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/models/_models_py3.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -19,9 +21,9 @@ class AccessPolicy(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param start: Required. The start datetime from which the policy is active. - :type start: ~datetime.datetime + :type start: str :param expiry: Required. The datetime that the policy expires. - :type expiry: ~datetime.datetime + :type expiry: str :param permission: Required. The permissions for the acl policy. :type permission: str """ @@ -44,8 +46,8 @@ class AccessPolicy(msrest.serialization.Model): def __init__( self, *, - start: datetime.datetime, - expiry: datetime.datetime, + start: str, + expiry: str, permission: str, **kwargs ): @@ -124,7 +126,7 @@ class GeoReplication(msrest.serialization.Model): :param status: Required. The status of the secondary location. Possible values include: "live", "bootstrap", "unavailable". - :type status: str or ~azure_table.models.GeoReplicationStatusType + :type status: str or ~azure.data.tables.models.GeoReplicationStatusType :param last_sync_time: Required. A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads. @@ -170,7 +172,7 @@ class Logging(msrest.serialization.Model): :param write: Required. Indicates whether all write requests should be logged. :type write: bool :param retention_policy: Required. The retention policy. - :type retention_policy: ~azure_table.models.RetentionPolicy + :type retention_policy: ~azure.data.tables.models.RetentionPolicy """ _validation = { @@ -223,7 +225,7 @@ class Metrics(msrest.serialization.Model): API operations. :type include_apis: bool :param retention_policy: The retention policy. - :type retention_policy: ~azure_table.models.RetentionPolicy + :type retention_policy: ~azure.data.tables.models.RetentionPolicy """ _validation = { @@ -262,7 +264,7 @@ class QueryOptions(msrest.serialization.Model): :param format: Specifies the media type for the response. Possible values include: "application/json;odata=nometadata", "application/json;odata=minimalmetadata", "application/json;odata=fullmetadata". - :type format: str or ~azure_table.models.OdataMetadataFormat + :type format: str or ~azure.data.tables.models.OdataMetadataFormat :param top: Maximum number of records to return. :type top: int :param select: Select expression using OData notation. Limits the columns on each record to @@ -343,13 +345,12 @@ class SignedIdentifier(msrest.serialization.Model): :param id: Required. A unique id. :type id: str - :param access_policy: Required. The access policy. - :type access_policy: ~azure_table.models.AccessPolicy + :param access_policy: The access policy. + :type access_policy: ~azure.data.tables.models.AccessPolicy """ _validation = { 'id': {'required': True}, - 'access_policy': {'required': True}, } _attribute_map = { @@ -364,7 +365,7 @@ def __init__( self, *, id: str, - access_policy: "AccessPolicy", + access_policy: Optional["AccessPolicy"] = None, **kwargs ): super(SignedIdentifier, self).__init__(**kwargs) @@ -425,7 +426,7 @@ class TableQueryResponse(msrest.serialization.Model): :param odata_metadata: The metadata response of the table. :type odata_metadata: str :param value: List of tables. - :type value: list[~azure_table.models.TableResponseProperties] + :type value: list[~azure.data.tables.models.TableResponseProperties] """ _attribute_map = { @@ -521,40 +522,90 @@ def __init__( class TableServiceError(msrest.serialization.Model): """Table Service error. - :param message: The error message. - :type message: str + :param odata_error: The odata error. + :type odata_error: ~azure.data.tables.models.TableServiceErrorOdataError """ _attribute_map = { - 'message': {'key': 'Message', 'type': 'str', 'xml': {'name': 'Message'}}, - } - _xml_map = { - + 'odata_error': {'key': 'odata\\.error', 'type': 'TableServiceErrorOdataError'}, } def __init__( self, *, - message: Optional[str] = None, + odata_error: Optional["TableServiceErrorOdataError"] = None, **kwargs ): super(TableServiceError, self).__init__(**kwargs) + self.odata_error = odata_error + + +class TableServiceErrorOdataError(msrest.serialization.Model): + """The odata error. + + :param code: The service error code. The error codes possible are listed in: + https://docs.microsoft.com/rest/api/storageservices/table-service-error-codes. + :type code: str + :param message: The service error message. + :type message: ~azure.data.tables.models.TableServiceErrorOdataErrorMessage + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'TableServiceErrorOdataErrorMessage'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional["TableServiceErrorOdataErrorMessage"] = None, + **kwargs + ): + super(TableServiceErrorOdataError, self).__init__(**kwargs) + self.code = code self.message = message +class TableServiceErrorOdataErrorMessage(msrest.serialization.Model): + """The service error message. + + :param lang: Language code of the error message. + :type lang: str + :param value: The error message. + :type value: str + """ + + _attribute_map = { + 'lang': {'key': 'lang', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + lang: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ): + super(TableServiceErrorOdataErrorMessage, self).__init__(**kwargs) + self.lang = lang + self.value = value + + class TableServiceProperties(msrest.serialization.Model): """Table Service Properties. :param logging: Azure Analytics Logging settings. - :type logging: ~azure_table.models.Logging + :type logging: ~azure.data.tables.models.Logging :param hour_metrics: A summary of request statistics grouped by API in hourly aggregates for tables. - :type hour_metrics: ~azure_table.models.Metrics + :type hour_metrics: ~azure.data.tables.models.Metrics :param minute_metrics: A summary of request statistics grouped by API in minute aggregates for tables. - :type minute_metrics: ~azure_table.models.Metrics + :type minute_metrics: ~azure.data.tables.models.Metrics :param cors: The set of CORS rules. - :type cors: list[~azure_table.models.CorsRule] + :type cors: list[~azure.data.tables.models.CorsRule] """ _attribute_map = { @@ -587,7 +638,7 @@ class TableServiceStats(msrest.serialization.Model): """Stats for the service. :param geo_replication: Geo-Replication information for the Secondary Storage Service. - :type geo_replication: ~azure_table.models.GeoReplication + :type geo_replication: ~azure.data.tables.models.GeoReplication """ _attribute_map = { diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/__init__.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/__init__.py index 1298fa41c6f8..774e1c0d97a4 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/__init__.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/__init__.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/_service_operations.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/_service_operations.py index be2f182e168a..1b68db654b48 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/_service_operations.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/_service_operations.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from typing import TYPE_CHECKING @@ -26,7 +28,7 @@ class ServiceOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure_table.models + :type models: ~azure.data.tables.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,10 +51,11 @@ def set_properties( **kwargs # type: Any ): # type: (...) -> None - """Sets properties for an account's Table service endpoint, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules. + """Sets properties for an account's Table service endpoint, including properties for Analytics and + CORS (Cross-Origin Resource Sharing) rules. :param table_service_properties: The Table Service properties. - :type table_service_properties: ~azure_table.models.TableServiceProperties + :type table_service_properties: ~azure.data.tables.models.TableServiceProperties :param timeout: The timeout parameter is expressed in seconds. :type timeout: int :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character @@ -91,7 +94,6 @@ def set_properties( header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(table_service_properties, 'TableServiceProperties', is_xml=True) body_content_kwargs['content'] = body_content @@ -122,7 +124,8 @@ def get_properties( **kwargs # type: Any ): # type: (...) -> "models.TableServiceProperties" - """Gets the properties of an account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules. + """Gets the properties of an account's Table service, including properties for Analytics and CORS + (Cross-Origin Resource Sharing) rules. :param timeout: The timeout parameter is expressed in seconds. :type timeout: int @@ -131,7 +134,7 @@ def get_properties( :type request_id_parameter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: TableServiceProperties, or the result of cls(response) - :rtype: ~azure_table.models.TableServiceProperties + :rtype: ~azure.data.tables.models.TableServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TableServiceProperties"] @@ -161,7 +164,6 @@ def get_properties( header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Accept'] = 'application/xml' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -190,7 +192,9 @@ def get_statistics( **kwargs # type: Any ): # type: (...) -> "models.TableServiceStats" - """Retrieves statistics related to replication for the Table service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the account. + """Retrieves statistics related to replication for the Table service. It is only available on the + secondary location endpoint when read-access geo-redundant replication is enabled for the + account. :param timeout: The timeout parameter is expressed in seconds. :type timeout: int @@ -199,7 +203,7 @@ def get_statistics( :type request_id_parameter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: TableServiceStats, or the result of cls(response) - :rtype: ~azure_table.models.TableServiceStats + :rtype: ~azure.data.tables.models.TableServiceStats :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TableServiceStats"] @@ -229,7 +233,6 @@ def get_statistics( header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Accept'] = 'application/xml' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/_table_operations.py b/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/_table_operations.py index 9686ea544832..69d4d70236be 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/_table_operations.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_generated/operations/_table_operations.py @@ -1,6 +1,8 @@ # coding=utf-8 # -------------------------------------------------------------------------- -# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.0.6282, generator: {generator}) +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from typing import TYPE_CHECKING @@ -26,7 +28,7 @@ class TableOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure_table.models + :type models: ~azure.data.tables.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -57,10 +59,10 @@ def query( :param next_table_name: A table query continuation token from a previous call. :type next_table_name: str :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: TableQueryResponse, or the result of cls(response) - :rtype: ~azure_table.models.TableQueryResponse + :rtype: ~azure.data.tables.models.TableQueryResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TableQueryResponse"] @@ -106,14 +108,14 @@ def query( header_parameters['DataServiceVersion'] = self._serialize.header("data_service_version", data_service_version, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response) + error = self._deserialize(models.TableServiceError, response) + raise HttpResponseError(response=response, model=error) response_headers = {} response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) @@ -137,25 +139,25 @@ def create( query_options=None, # type: Optional["models.QueryOptions"] **kwargs # type: Any ): - # type: (...) -> "models.TableResponse" + # type: (...) -> Optional["models.TableResponse"] """Creates a new table under the given account. :param table_properties: The Table properties. - :type table_properties: ~azure_table.models.TableProperties + :type table_properties: ~azure.data.tables.models.TableProperties :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when analytics logging is enabled. :type request_id_parameter: str :param response_preference: Specifies whether the response should include the inserted entity in the payload. Possible values are return-no-content and return-content. - :type response_preference: str or ~azure_table.models.ResponseFormat + :type response_preference: str or ~azure.data.tables.models.ResponseFormat :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: TableResponse, or the result of cls(response) - :rtype: ~azure_table.models.TableResponse or None + :rtype: ~azure.data.tables.models.TableResponse or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TableResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TableResponse"]] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) @@ -188,7 +190,6 @@ def create( header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(table_properties, 'TableProperties') body_content_kwargs['content'] = body_content @@ -265,7 +266,6 @@ def delete( if request_id_parameter is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -311,10 +311,10 @@ def query_entities( :param next_row_key: An entity query continuation token from a previous call. :type next_row_key: str :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: TableEntityQueryResponse, or the result of cls(response) - :rtype: ~azure_table.models.TableEntityQueryResponse + :rtype: ~azure.data.tables.models.TableEntityQueryResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TableEntityQueryResponse"] @@ -365,7 +365,6 @@ def query_entities( header_parameters['DataServiceVersion'] = self._serialize.header("data_service_version", data_service_version, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -400,7 +399,7 @@ def query_entities_with_partition_and_row_key( query_options=None, # type: Optional["models.QueryOptions"] **kwargs # type: Any ): - # type: (...) -> "models.TableEntityQueryResponse" + # type: (...) -> Dict[str, object] """Queries entities in a table. :param table: The name of the table. @@ -415,13 +414,13 @@ def query_entities_with_partition_and_row_key( limit that is recorded in the analytics logs when analytics logging is enabled. :type request_id_parameter: str :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response - :return: TableEntityQueryResponse, or the result of cls(response) - :rtype: ~azure_table.models.TableEntityQueryResponse + :return: dict mapping str to object, or the result of cls(response) + :rtype: dict[str, object] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TableEntityQueryResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Dict[str, object]] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) @@ -463,7 +462,6 @@ def query_entities_with_partition_and_row_key( header_parameters['DataServiceVersion'] = self._serialize.header("data_service_version", data_service_version, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -481,7 +479,7 @@ def query_entities_with_partition_and_row_key( response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) response_headers['x-ms-continuation-NextPartitionKey']=self._deserialize('str', response.headers.get('x-ms-continuation-NextPartitionKey')) response_headers['x-ms-continuation-NextRowKey']=self._deserialize('str', response.headers.get('x-ms-continuation-NextRowKey')) - deserialized = self._deserialize('TableEntityQueryResponse', pipeline_response) + deserialized = self._deserialize('{object}', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) @@ -523,7 +521,7 @@ def update_entity( :param table_entity_properties: The properties for the table entity. :type table_entity_properties: dict[str, object] :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None @@ -566,7 +564,6 @@ def update_entity( header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] if table_entity_properties is not None: body_content = self._serialize.body(table_entity_properties, '{object}') @@ -629,7 +626,7 @@ def merge_entity( :param table_entity_properties: The properties for the table entity. :type table_entity_properties: dict[str, object] :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None @@ -672,7 +669,6 @@ def merge_entity( header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] if table_entity_properties is not None: body_content = self._serialize.body(table_entity_properties, '{object}') @@ -731,7 +727,7 @@ def delete_entity( limit that is recorded in the analytics logs when analytics logging is enabled. :type request_id_parameter: str :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None @@ -771,7 +767,6 @@ def delete_entity( header_parameters['DataServiceVersion'] = self._serialize.header("data_service_version", data_service_version, 'str') header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -802,7 +797,7 @@ def insert_entity( query_options=None, # type: Optional["models.QueryOptions"] **kwargs # type: Any ): - # type: (...) -> Dict[str, object] + # type: (...) -> Optional[Dict[str, object]] """Insert entity in a table. :param table: The name of the table. @@ -814,17 +809,17 @@ def insert_entity( :type request_id_parameter: str :param response_preference: Specifies whether the response should include the inserted entity in the payload. Possible values are return-no-content and return-content. - :type response_preference: str or ~azure_table.models.ResponseFormat + :type response_preference: str or ~azure.data.tables.models.ResponseFormat :param table_entity_properties: The properties for the table entity. :type table_entity_properties: dict[str, object] :param query_options: Parameter group. - :type query_options: ~azure_table.models.QueryOptions + :type query_options: ~azure.data.tables.models.QueryOptions :keyword callable cls: A custom type or function that will be passed the direct response :return: dict mapping str to object, or the result of cls(response) :rtype: dict[str, object] or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType[Dict[str, object]] + cls = kwargs.pop('cls', None) # type: ClsType[Optional[Dict[str, object]]] error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} error_map.update(kwargs.pop('error_map', {})) @@ -860,7 +855,6 @@ def insert_entity( header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') header_parameters['Accept'] = 'application/json;odata=minimalmetadata' - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] if table_entity_properties is not None: body_content = self._serialize.body(table_entity_properties, '{object}') @@ -912,7 +906,8 @@ def get_access_policy( **kwargs # type: Any ): # type: (...) -> List["models.SignedIdentifier"] - """Retrieves details about any stored access policies specified on the table that may be used with Shared Access Signatures. + """Retrieves details about any stored access policies specified on the table that may be used with + Shared Access Signatures. :param table: The name of the table. :type table: str @@ -923,7 +918,7 @@ def get_access_policy( :type request_id_parameter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: list of SignedIdentifier, or the result of cls(response) - :rtype: list[~azure_table.models.SignedIdentifier] + :rtype: list[~azure.data.tables.models.SignedIdentifier] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[List["models.SignedIdentifier"]] @@ -952,7 +947,6 @@ def get_access_policy( header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Accept'] = 'application/xml' - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -994,7 +988,7 @@ def set_access_policy( limit that is recorded in the analytics logs when analytics logging is enabled. :type request_id_parameter: str :param table_acl: The acls for the table. - :type table_acl: list[~azure_table.models.SignedIdentifier] + :type table_acl: list[~azure.data.tables.models.SignedIdentifier] :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None @@ -1026,9 +1020,7 @@ def set_access_policy( if request_id_parameter is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/xml' - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] serialization_ctxt = {'xml': {'name': 'SignedIdentifiers', 'wrapped': True, 'itemsName': 'SignedIdentifier'}} if table_acl is not None: diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_models.py b/sdk/tables/azure-data-tables/azure/data/tables/_models.py index 5dbb662aff4e..c6690819aac7 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_models.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_models.py @@ -299,7 +299,7 @@ def _get_next_cb(self, continuation_token, **kwargs): def _extract_data_cb(self, get_next_return): self.location_mode, self._response, self._headers = get_next_return props_list = [] - props_list = [Table(t) for t in self._response.value] + props_list = [TableItem(t) for t in self._response.value] return self._headers['x-ms-continuation-NextTableName'] or None, props_list @@ -458,9 +458,9 @@ def service_properties_deserialize(generated): } -class Table(object): +class TableItem(object): """ - Represents an Azure Table. Returned by list_tables. + Represents an Azure TableItem. Returned by list_tables and query_tables. :ivar str name: The name of the table. """ diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_sdk_moniker.py b/sdk/tables/azure-data-tables/azure/data/tables/_sdk_moniker.py new file mode 100644 index 000000000000..8a7571636b37 --- /dev/null +++ b/sdk/tables/azure-data-tables/azure/data/tables/_sdk_moniker.py @@ -0,0 +1,11 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._version import VERSION + +SDK_MONIKER = "data-tables/{}".format(VERSION) diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_table_client.py b/sdk/tables/azure-data-tables/azure/data/tables/_table_client.py index a8ee3a33c212..a2776d7510c9 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_table_client.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_table_client.py @@ -28,7 +28,7 @@ from ._deserialize import _return_headers_and_deserialized from ._error import _process_table_error from ._version import VERSION -from ._models import TableEntityPropertiesPaged, UpdateMode, Table +from ._models import TableEntityPropertiesPaged, UpdateMode, TableItem class TableClient(TableClientBase): @@ -78,11 +78,9 @@ def from_connection_string( :returns: A table client. :rtype: ~azure.data.tables.TableClient """ - account_url, secondary, credential = parse_connection_str( - conn_str=conn_str, credential=None, service='table') - if 'secondary_hostname' not in kwargs: - kwargs['secondary_hostname'] = secondary - return cls(account_url, table_name=table_name, credential=credential, **kwargs) # type: ignore + account_url, credential = parse_connection_str( + conn_str=conn_str, credential=None, service='table', keyword_args=kwargs) + return cls(account_url, table_name=table_name, credential=credential, **kwargs) @classmethod def from_table_url(cls, table_url, credential=None, **kwargs): @@ -182,17 +180,17 @@ def create_table( self, **kwargs # type: Any ): - # type: (...) -> Table + # type: (...) -> TableItem """Creates a new table under the current account. - :return: Table created - :rtype: Table + :return: TableItem created + :rtype: TableItem :raises: ~azure.core.exceptions.HttpResponseError """ table_properties = TableProperties(table_name=self.table_name, **kwargs) try: table = self._client.table.create(table_properties) - return Table(table=table) + return TableItem(table=table) except HttpResponseError as error: _process_table_error(error) @@ -413,7 +411,8 @@ def get_entity( partition_key=partition_key, row_key=row_key, **kwargs) - properties = _convert_to_entity(entity.additional_properties) + + properties = _convert_to_entity(entity) return properties except HttpResponseError as error: _process_table_error(error) diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_table_service_client.py b/sdk/tables/azure-data-tables/azure/data/tables/_table_service_client.py index 1c4c94303ef6..28186410fe16 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_table_service_client.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_table_service_client.py @@ -10,7 +10,7 @@ from azure.core.paging import ItemPaged from azure.core.tracing.decorator import distributed_trace from azure.core.pipeline import Pipeline -from ._models import Table +from ._models import TableItem from ._generated import AzureTable from ._generated.models import TableProperties, TableServiceProperties, QueryOptions @@ -62,10 +62,8 @@ def from_connection_string( :returns: A Table service client. :rtype: ~azure.data.tables.TableServiceClient """ - account_url, secondary, credential = parse_connection_str( - conn_str=conn_str, credential=None, service='table') - if 'secondary_hostname' not in kwargs: - kwargs['secondary_hostname'] = secondary + account_url, credential = parse_connection_str( + conn_str=conn_str, credential=None, service='table', keyword_args=kwargs) return cls(account_url, credential=credential, **kwargs) @distributed_trace @@ -181,7 +179,7 @@ def query_tables( filter, # pylint: disable=W0622 **kwargs # type: Any ): - # type: (...) -> ItemPaged[Table] + # type: (...) -> ItemPaged[TableItem] """Queries tables under the given account. :param filter: Specify a filter to return certain tables :type filter: str @@ -189,7 +187,7 @@ def query_tables( :keyword Union[str, list(str)] select: Specify desired properties of a table to return certain tables :keyword dict parameters: Dictionary for formatting query with additional, user defined parameters :return: A query of tables - :rtype: ItemPaged[Table] + :rtype: ItemPaged[TableItem] :raises: ~azure.core.exceptions.HttpResponseError """ parameters = kwargs.pop('parameters', None) @@ -213,13 +211,13 @@ def list_tables( self, **kwargs # type: Any ): - # type: (...) -> ItemPaged[Table] + # type: (...) -> ItemPaged[TableItem] """Queries tables under the given account. :keyword int results_per_page: Number of tables per page in return ItemPaged :keyword Union[str, list(str)] select: Specify desired properties of a table to return certain tables :return: A query of tables - :rtype: ItemPaged[Table] + :rtype: ItemPaged[TableItem] :raises: ~azure.core.exceptions.HttpResponseError """ user_select = kwargs.pop('select', None) diff --git a/sdk/tables/azure-data-tables/azure/data/tables/aio/_models.py b/sdk/tables/azure-data-tables/azure/data/tables/aio/_models.py index fa19a7a1a4fd..440baecc21f4 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/aio/_models.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/aio/_models.py @@ -10,7 +10,7 @@ _return_context_and_deserialized, _convert_to_entity ) -from .._models import Table +from .._models import TableItem from .._error import _process_table_error class TablePropertiesPaged(AsyncPageIterator): @@ -47,7 +47,7 @@ async def _get_next_cb(self, continuation_token, **kwargs): async def _extract_data_cb(self, get_next_return): self.location_mode, self._response, self._headers = get_next_return - props_list = [Table(t) for t in self._response.value] + props_list = [TableItem(t) for t in self._response.value] return self._headers['x-ms-continuation-NextTableName'] or None, props_list diff --git a/sdk/tables/azure-data-tables/azure/data/tables/aio/_table_client_async.py b/sdk/tables/azure-data-tables/azure/data/tables/aio/_table_client_async.py index 5adb7e22b7b6..8902b0652bf8 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/aio/_table_client_async.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/aio/_table_client_async.py @@ -9,16 +9,23 @@ Any, ) +try: + from urllib.parse import urlparse, unquote +except ImportError: + from urlparse import urlparse # type: ignore + from urllib2 import unquote # type: ignore + from azure.core.async_paging import AsyncItemPaged from azure.core.exceptions import ResourceNotFoundError, HttpResponseError from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async from .. import VERSION +from .._base_client import parse_connection_str from .._entity import TableEntity from .._generated.aio import AzureTable from .._generated.models import SignedIdentifier, TableProperties, QueryOptions -from .._models import AccessPolicy, Table +from .._models import AccessPolicy, TableItem from .._serialize import serialize_iso from .._deserialize import _return_headers_and_deserialized from .._error import _process_table_error @@ -67,6 +74,66 @@ def __init__( self._client._config.version = kwargs.get('api_version', VERSION) # pylint: disable = W0212 self._loop = loop + @classmethod + def from_connection_string( + cls, conn_str, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> TableClient + """Create TableClient from a Connection String. + + :param conn_str: + A connection string to an Azure Storage or Cosmos account. + :type conn_str: str + :param table_name: The table name. + :type table_name: str + :returns: A table client. + :rtype: ~azure.data.tables.TableClient + """ + account_url, credential = parse_connection_str( + conn_str=conn_str, credential=None, service='table', keyword_args=kwargs) + return cls(account_url, table_name=table_name, credential=credential, **kwargs) + + @classmethod + def from_table_url(cls, table_url, credential=None, **kwargs): + # type: (str, Optional[Any], Any) -> TableClient + """A client to interact with a specific Table. + + :param table_url: The full URI to the table, including SAS token if used. + :type table_url: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, an account + shared access key. + :type credential: str + :returns: A table client. + :rtype: ~azure.data.tables.TableClient + """ + try: + if not table_url.lower().startswith('http'): + table_url = "https://" + table_url + except AttributeError: + raise ValueError("Table URL must be a string.") + parsed_url = urlparse(table_url.rstrip('/')) + + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(table_url)) + + table_path = parsed_url.path.lstrip('/').split('/') + account_path = "" + if len(table_path) > 1: + account_path = "/" + "/".join(table_path[:-1]) + account_url = "{}://{}{}?{}".format( + parsed_url.scheme, + parsed_url.netloc.rstrip('/'), + account_path, + parsed_url.query) + table_name = unquote(table_path[-1]) + if not table_name: + raise ValueError("Invalid URL. Please provide a URL with a valid table name") + return cls(account_url, table_name=table_name, credential=credential, **kwargs) + @distributed_trace_async async def get_table_access_policy( self, @@ -126,16 +193,16 @@ async def create_table( self, **kwargs # type: Any ): - # type: (...) -> Table + # type: (...) -> TableItem """Creates a new table under the given account. :return: Table created - :rtype: Table + :rtype: TableItem :raises: ~azure.core.exceptions.HttpResponseError """ table_properties = TableProperties(table_name=self.table_name, **kwargs) try: table = await self._client.table.create(table_properties) - return Table(table) + return TableItem(table) except HttpResponseError as error: _process_table_error(error) @@ -353,7 +420,8 @@ async def get_entity( partition_key=partition_key, row_key=row_key, **kwargs) - properties = _convert_to_entity(entity.additional_properties) + + properties = _convert_to_entity(entity) return properties except HttpResponseError as error: _process_table_error(error) diff --git a/sdk/tables/azure-data-tables/azure/data/tables/aio/_table_service_client_async.py b/sdk/tables/azure-data-tables/azure/data/tables/aio/_table_service_client_async.py index 1901b0f1903a..50c8c1570f0c 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/aio/_table_service_client_async.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/aio/_table_service_client_async.py @@ -17,12 +17,13 @@ from azure.core.tracing.decorator_async import distributed_trace_async from .. import VERSION, LocationMode +from .._base_client import parse_connection_str from .._generated.aio._azure_table_async import AzureTable from .._generated.models import TableServiceProperties, TableProperties, QueryOptions from .._models import service_stats_deserialize, service_properties_deserialize -from .._error import _validate_table_name, _process_table_error +from .._error import _process_table_error from .._table_service_client_base import TableServiceClientBase -from .._models import Table +from .._models import TableItem from ._policies_async import ExponentialRetry from ._table_client_async import TableClient from ._base_client_async import AsyncStorageAccountHostsMixin, AsyncTransportWrapper @@ -86,6 +87,23 @@ def __init__( self._client._config.version = kwargs.get('api_version', VERSION) # pylint: disable=protected-access self._loop = loop + @classmethod + def from_connection_string( + cls, conn_str, # type: any + **kwargs # type: Any + ): # type: (...) -> TableServiceClient + """Create TableServiceClient from a Connection String. + + :param conn_str: + A connection string to an Azure Storage or Cosmos account. + :type conn_str: str + :returns: A Table service client. + :rtype: ~azure.data.tables.TableServiceClient + """ + account_url, credential = parse_connection_str( + conn_str=conn_str, credential=None, service='table', keyword_args=kwargs) + return cls(account_url, credential=credential, **kwargs) + @distributed_trace_async async def get_service_stats(self, **kwargs): # type: (...) -> dict[str,object] @@ -175,11 +193,8 @@ async def create_table( :rtype: ~azure.data.tables.TableClient or None :raises: ~azure.core.exceptions.HttpResponseError """ - _validate_table_name(table_name) - - table_properties = TableProperties(table_name=table_name, **kwargs) - await self._client.table.create(table_properties=table_properties, **kwargs) - table = self.get_table_client(table=table_name) + table = self.get_table_client(table_name=table_name) + await table.create_table(**kwargs) return table @distributed_trace_async @@ -196,22 +211,21 @@ async def delete_table( :return: None :rtype: ~None """ - _validate_table_name(table_name) - - await self._client.table.delete(table=table_name, **kwargs) + table = self.get_table_client(table_name=table_name) + await table.delete_table(**kwargs) @distributed_trace def list_tables( self, **kwargs # type: Any ): - # type: (...) -> AsyncItemPaged[Table] + # type: (...) -> AsyncItemPaged[TableItem] """Queries tables under the given account. :keyword int results_per_page: Number of tables per page in return ItemPaged :keyword Union[str, list(str)] select: Specify desired properties of a table to return certain tables :return: AsyncItemPaged - :rtype: ~AsyncItemPaged[Table] + :rtype: ~AsyncItemPaged[TableItem] :raises: ~azure.core.exceptions.HttpResponseError """ user_select = kwargs.pop('select', None) @@ -231,11 +245,10 @@ def list_tables( @distributed_trace def query_tables( - self, - filter, # pylint: disable=W0622 + self, filter, # type: str pylint: disable=W0622 **kwargs # type: Any ): - # type: (...) -> AsyncItemPaged[Table] + # type: (...) -> AsyncItemPaged[TableItem] """Queries tables under the given account. :param filter: Specify a filter to return certain tables :type filter: str @@ -243,7 +256,7 @@ def query_tables( :keyword Union[str, list(str)] select: Specify desired properties of a table to return certain tables :keyword dict parameters: Dictionary for formatting query with additional, user defined parameters :return: A query of tables - :rtype: AsyncItemPaged[Table] + :rtype: AsyncItemPaged[TableItem] :raises: ~azure.core.exceptions.HttpResponseError """ parameters = kwargs.pop('parameters', None) @@ -262,24 +275,23 @@ def query_tables( page_iterator_class=TablePropertiesPaged ) - def get_table_client(self, table, **kwargs): - # type: (Union[TableProperties, str], Optional[Any]) -> TableClient + def get_table_client( + self, table_name, # type: str + **kwargs # type: Optional[Any] + ): + # type: (...) -> TableClient """Get a client to interact with the specified table. - The table need not already exist. + The table need not already exist. - :param table: - The queue. This can either be the name of the queue, - or an instance of QueueProperties. - :type table: str or ~azure.storage.table.TableProperties - :returns: A :class:`~azure.data.tables.TableClient` object. - :rtype: ~azure.data.tables.TableClient + :param table: + The queue. This can either be the name of the queue, + or an instance of QueueProperties. + :type table: str or ~azure.storage.table.TableProperties + :returns: A :class:`~azure.data.tables.TableClient` object. + :rtype: ~azure.data.tables.TableClient - """ - try: - table_name = table.name - except AttributeError: - table_name = table + """ _pipeline = AsyncPipeline( transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_account_sas.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_account_sas.yaml index 741501bf67f0..81c15aa7d0e4 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_account_sas.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_account_sas.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:58 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:58 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:14 GMT + - Wed, 19 Aug 2020 21:17:58 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesync99dc0b08') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:59 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -81,9 +81,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:14 GMT + - Wed, 19 Aug 2020 21:17:59 GMT etag: - - W/"datetime'2020-07-30T13%3A30%3A15.8178135Z'" + - W/"datetime'2020-08-19T21%3A17%3A59.3893217Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -109,11 +109,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:59 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -127,9 +127,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:15 GMT + - Wed, 19 Aug 2020 21:17:59 GMT etag: - - W/"datetime'2020-07-30T13%3A30%3A15.9048723Z'" + - W/"datetime'2020-08-19T21%3A17%3A59.4733815Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -151,25 +151,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:59 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/pytablesync99dc0b08()?st=2020-07-30T13%3A29%3A16Z&se=2020-07-30T14%3A30%3A16Z&sp=r&sv=2019-07-07&ss=t&srt=o&sig=0OQL2hilfGTuH%2FU49GkWLVFZf6k3qzZxHLBJae7gShE%3D + uri: https://storagename.table.core.windows.net/pytablesync99dc0b08()?st=2020-08-19T21%3A16%3A59Z&se=2020-08-19T22%3A17%3A59Z&sp=r&sv=2019-07-07&ss=t&srt=o&sig=co4D9zOVavV9jEeyE5ksFCt32oGPdiW7zHhy97iWJKc%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#pytablesync99dc0b08","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A30%3A15.8178135Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-07-30T13:30:15.8178135Z","text":"hello"},{"odata.etag":"W/\"datetime''2020-07-30T13%3A30%3A15.9048723Z''\"","PartitionKey":"test","RowKey":"test2","Timestamp":"2020-07-30T13:30:15.9048723Z","text":"hello"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#pytablesync99dc0b08","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A17%3A59.3893217Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-08-19T21:17:59.3893217Z","text":"hello"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A17%3A59.4733815Z''\"","PartitionKey":"test","RowKey":"test2","Timestamp":"2020-08-19T21:17:59.4733815Z","text":"hello"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:15 GMT + - Wed, 19 Aug 2020 21:17:59 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -193,11 +193,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:17:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:17:59 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -211,7 +211,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:15 GMT + - Wed, 19 Aug 2020 21:17:59 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_create_table.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_create_table.yaml index bf152c84c08b..9081a4a21552 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_create_table.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_create_table.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:17:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:17:59 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:59 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesynca4ed0b50') server: @@ -59,11 +59,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:00 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -77,7 +77,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:16 GMT + - Wed, 19 Aug 2020 21:17:59 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_create_table_fail_on_exist.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_create_table_fail_on_exist.yaml index 54e63317d03e..e4d78057d153 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_create_table_fail_on_exist.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_create_table_fail_on_exist.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:00 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:00 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesync6d7c1113') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:00 GMT x-ms-version: - '2019-07-07' method: POST @@ -75,14 +75,14 @@ interactions: response: body: string: '{"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The - table specified already exists.\nRequestId:aaf65c7a-b002-0055-7875-66bf84000000\nTime:2020-07-30T13:30:17.3141296Z"}}}' + table specified already exists.\nRequestId:fbae76e2-b002-009f-206e-7649d9000000\nTime:2020-08-19T21:18:00.8893697Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:00 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -106,11 +106,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:00 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -124,7 +124,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:00 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_delete_table_with_existing_table.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_delete_table_with_existing_table.yaml index ce2bcfded581..75228025a441 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_delete_table_with_existing_table.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_delete_table_with_existing_table.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:00 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:01 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesyncded1139b') server: @@ -59,11 +59,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:01 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:01 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -77,7 +77,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:01 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_delete_table_with_non_existing_table_fail_not_exist.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_delete_table_with_non_existing_table_fail_not_exist.yaml index 9459690dfb9c..8c62ebb1bfe5 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_delete_table_with_non_existing_table_fail_not_exist.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_delete_table_with_non_existing_table_fail_not_exist.yaml @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:01 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:01 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -25,16 +25,16 @@ interactions: string: 'ResourceNotFoundThe specified resource does not exist. - RequestId:380aef87-1002-0071-4675-6626ca000000 + RequestId:d5714cfe-e002-00ea-776e-76ce62000000 - Time:2020-07-30T13:30:18.2321770Z' + Time:2020-08-19T21:18:01.8595081Z' headers: cache-control: - no-cache content-type: - application/xml;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:17 GMT + - Wed, 19 Aug 2020 21:18:01 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_get_table_acl.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_get_table_acl.yaml index 9d61c26b68bf..f8ccd9ecb8e4 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_get_table_acl.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_get_table_acl.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:01 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:01 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:01 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesyncb07a0bab') server: @@ -57,11 +57,11 @@ interactions: Connection: - keep-alive Date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT x-ms-version: - '2019-07-07' method: GET @@ -74,7 +74,7 @@ interactions: content-type: - application/xml date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:01 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -96,11 +96,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -114,7 +114,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:01 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables.yaml index f7d5d473f268..716ea51f12be 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:02 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesynca68e0b85') server: @@ -59,11 +59,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT x-ms-version: - '2019-07-07' method: GET @@ -77,7 +77,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:18 GMT + - Wed, 19 Aug 2020 21:18:02 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -101,11 +101,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -119,7 +119,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_filter.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_filter.yaml index d178fe108c18..3578acabaf45 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_filter.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_filter.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesync512a1085') server: @@ -59,11 +59,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT x-ms-version: - '2019-07-07' method: GET @@ -77,7 +77,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:02 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -101,11 +101,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:03 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -119,7 +119,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:03 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_marker.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_marker.yaml index 357c4ee12762..68db3b3e2bff 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_marker.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_marker.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:03 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:04 GMT location: - https://storagename.table.core.windows.net/Tables('listtable051291081') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:19 GMT + - Wed, 19 Aug 2020 21:18:04 GMT location: - https://storagename.table.core.windows.net/Tables('listtable151291081') server: @@ -111,11 +111,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT x-ms-version: - '2019-07-07' method: POST @@ -129,7 +129,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT location: - https://storagename.table.core.windows.net/Tables('listtable251291081') server: @@ -159,11 +159,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT x-ms-version: - '2019-07-07' method: POST @@ -177,7 +177,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT location: - https://storagename.table.core.windows.net/Tables('listtable351291081') server: @@ -203,11 +203,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT x-ms-version: - '2019-07-07' method: GET @@ -221,7 +221,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -229,7 +229,7 @@ interactions: x-content-type-options: - nosniff x-ms-continuation-nexttablename: - - 1!48!bGlzdHRhYmxlMjUxMjkxMDgxATAxZDY2Njc1OTI0MDk0Yjk- + - 1!48!bGlzdHRhYmxlMjUxMjkxMDgxATAxZDY3NjZlM2EwMTRhNDg- x-ms-version: - '2019-07-07' status: @@ -247,15 +247,15 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/Tables?$top=2&NextTableName=1%2148%21bGlzdHRhYmxlMjUxMjkxMDgxATAxZDY2Njc1OTI0MDk0Yjk- + uri: https://storagename.table.core.windows.net/Tables?$top=2&NextTableName=1%2148%21bGlzdHRhYmxlMjUxMjkxMDgxATAxZDY3NjZlM2EwMTRhNDg- response: body: string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[{"TableName":"listtable251291081"},{"TableName":"listtable351291081"}]}' @@ -265,7 +265,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -273,7 +273,7 @@ interactions: x-content-type-options: - nosniff x-ms-continuation-nexttablename: - - 1!48!cHl0YWJsZXN5bmM1MTJhMTA4NQEwMWQ2NjY3NTkxY2M2MTAx + - 1!48!cHl0YWJsZXN5bmM1MTJhMTA4NQEwMWQ2NzY2ZTM5OTBlN2M4 x-ms-version: - '2019-07-07' status: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_num_results.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_num_results.yaml index a0f64072a7d6..89130fffe03f 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_num_results.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_query_tables_with_num_results.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT location: - https://storagename.table.core.windows.net/Tables('listtable0aab312c0') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT location: - https://storagename.table.core.windows.net/Tables('listtable1aab312c0') server: @@ -111,11 +111,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT x-ms-version: - '2019-07-07' method: POST @@ -129,7 +129,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT location: - https://storagename.table.core.windows.net/Tables('listtable2aab312c0') server: @@ -159,11 +159,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT x-ms-version: - '2019-07-07' method: POST @@ -177,7 +177,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT location: - https://storagename.table.core.windows.net/Tables('listtable3aab312c0') server: @@ -203,11 +203,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT x-ms-version: - '2019-07-07' method: GET @@ -221,7 +221,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:20 GMT + - Wed, 19 Aug 2020 21:18:04 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -229,7 +229,7 @@ interactions: x-content-type-options: - nosniff x-ms-continuation-nexttablename: - - 1!48!bGlzdHRhYmxlMWFhYjMxMmMwATAxZDY2Njc1OTJiM2I2Y2M- + - 1!48!bGlzdHRhYmxlMWFhYjMxMmMwATAxZDY3NjZlM2E2YzdiYWQ- x-ms-version: - '2019-07-07' status: @@ -247,11 +247,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT x-ms-version: - '2019-07-07' method: GET @@ -265,7 +265,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:04 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_too_many_ids.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_too_many_ids.yaml index 3940f45778b6..ec76d0282934 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_too_many_ids.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_too_many_ids.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:05 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesync6f17111b') server: @@ -59,11 +59,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -77,7 +77,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:21 GMT + - Wed, 19 Aug 2020 21:18:05 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_with_empty_signed_identifiers.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_with_empty_signed_identifiers.yaml index f121bda2200b..c0f765b2f36d 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_with_empty_signed_identifiers.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_with_empty_signed_identifiers.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesyncd1eb182e') server: @@ -61,11 +61,11 @@ interactions: Content-Type: - application/xml Date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT x-ms-version: - '2019-07-07' method: PUT @@ -77,7 +77,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -95,11 +95,11 @@ interactions: Connection: - keep-alive Date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT x-ms-version: - '2019-07-07' method: GET @@ -112,7 +112,7 @@ interactions: content-type: - application/xml date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -134,11 +134,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -152,7 +152,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:22 GMT + - Wed, 19 Aug 2020 21:18:05 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_with_signed_identifiers.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_with_signed_identifiers.yaml index 7f509ff962ae..b8732719e520 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_with_signed_identifiers.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table.test_set_table_acl_with_signed_identifiers.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT location: - https://storagename.table.core.windows.net/Tables('pytablesync45dd15a0') server: @@ -50,7 +50,7 @@ interactions: - request: body: ' - testid2020-07-30T13:25:24Z2020-07-30T14:30:24Zr' + testid2020-08-19T21:13:07Z2020-08-19T22:18:07Zr' headers: Accept: - application/xml @@ -63,11 +63,11 @@ interactions: Content-Type: - application/xml Date: - - Thu, 30 Jul 2020 13:30:24 GMT + - Wed, 19 Aug 2020 21:18:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:24 GMT + - Wed, 19 Aug 2020 21:18:07 GMT x-ms-version: - '2019-07-07' method: PUT @@ -79,7 +79,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -97,23 +97,23 @@ interactions: Connection: - keep-alive Date: - - Thu, 30 Jul 2020 13:30:24 GMT + - Wed, 19 Aug 2020 21:18:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:24 GMT + - Wed, 19 Aug 2020 21:18:07 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/pytablesync45dd15a0?comp=acl response: body: - string: "\uFEFFtestid2020-07-30T13:25:24.0000000Z2020-07-30T14:30:24.0000000Zr" + string: "\uFEFFtestid2020-08-19T21:13:07.0000000Z2020-08-19T22:18:07.0000000Zr" headers: content-type: - application/xml date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:06 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -135,11 +135,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 13:30:24 GMT + - Wed, 19 Aug 2020 21:18:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:30:24 GMT + - Wed, 19 Aug 2020 21:18:07 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -153,7 +153,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 13:30:23 GMT + - Wed, 19 Aug 2020 21:18:07 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_create_table.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_create_table.yaml index dbd0daa84a87..f391251716ae 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_create_table.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_create_table.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:09 GMT + - Wed, 19 Aug 2020 21:18:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:09 GMT + - Wed, 19 Aug 2020 21:18:07 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:08 GMT + date: Wed, 19 Aug 2020 21:18:07 GMT location: https://storagename.table.core.windows.net/Tables('pytableasyncf33c0dcd') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,16 +35,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:09 GMT + - Wed, 19 Aug 2020 21:18:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:09 GMT + - Wed, 19 Aug 2020 21:18:07 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -55,12 +55,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:31:08 GMT + date: Wed, 19 Aug 2020 21:18:07 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasyncf33c0dcd') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasyncf33c0dcd') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_create_table_fail_on_exist.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_create_table_fail_on_exist.yaml index 05fe78006883..4ed481a274b2 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_create_table_fail_on_exist.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_create_table_fail_on_exist.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:09 GMT + - Wed, 19 Aug 2020 21:18:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:09 GMT + - Wed, 19 Aug 2020 21:18:07 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:08 GMT + date: Wed, 19 Aug 2020 21:18:07 GMT location: https://storagename.table.core.windows.net/Tables('pytableasyncdea11390') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"TableName": "pytableasyncdea11390"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT x-ms-version: - '2019-07-07' method: POST @@ -60,11 +60,11 @@ interactions: response: body: string: '{"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The - table specified already exists.\nRequestId:4783f26d-b002-001c-1975-66e974000000\nTime:2020-07-30T13:31:09.2843685Z"}}}' + table specified already exists.\nRequestId:811ea642-1002-001a-1e6e-761e0c000000\nTime:2020-08-19T21:18:08.4179022Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:08 GMT + date: Wed, 19 Aug 2020 21:18:07 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -72,16 +72,16 @@ interactions: status: code: 409 message: Conflict - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -92,12 +92,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:31:08 GMT + date: Wed, 19 Aug 2020 21:18:07 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasyncdea11390') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasyncdea11390') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_delete_table_with_existing_table.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_delete_table_with_existing_table.yaml index b3298a2f8cfa..d9bc8417144b 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_delete_table_with_existing_table.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_delete_table_with_existing_table.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:08 GMT + date: Wed, 19 Aug 2020 21:18:08 GMT location: https://storagename.table.core.windows.net/Tables('pytableasync5ef31618') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,16 +35,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -55,12 +55,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:31:09 GMT + date: Wed, 19 Aug 2020 21:18:08 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasync5ef31618') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasync5ef31618') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_delete_table_with_non_existing_table_fail_not_exist.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_delete_table_with_non_existing_table_fail_not_exist.yaml index 0a55171a744b..4eb6851f2757 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_delete_table_with_non_existing_table_fail_not_exist.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_delete_table_with_non_existing_table_fail_not_exist.yaml @@ -3,11 +3,11 @@ interactions: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:10 GMT + - Wed, 19 Aug 2020 21:18:08 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -17,13 +17,13 @@ interactions: string: 'ResourceNotFoundThe specified resource does not exist. - RequestId:685895a9-9002-0066-1b75-668339000000 + RequestId:863d16bf-1002-00dd-466e-7662cd000000 - Time:2020-07-30T13:31:10.1773914Z' + Time:2020-08-19T21:18:09.2963629Z' headers: cache-control: no-cache content-type: application/xml;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:09 GMT + date: Wed, 19 Aug 2020 21:18:08 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -31,5 +31,5 @@ interactions: status: code: 404 message: Not Found - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasync50951df9') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasync50951df9') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_get_table_acl.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_get_table_acl.yaml index e2dcef36a394..5851bed03ba3 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_get_table_acl.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_get_table_acl.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:11 GMT + - Wed, 19 Aug 2020 21:18:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:11 GMT + - Wed, 19 Aug 2020 21:18:09 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:10 GMT + date: Wed, 19 Aug 2020 21:18:09 GMT location: https://storagename.table.core.windows.net/Tables('pytableasync1550e28') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,18 +35,18 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Accept: - application/xml Date: - - Thu, 30 Jul 2020 13:31:11 GMT + - Wed, 19 Aug 2020 21:18:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:11 GMT + - Wed, 19 Aug 2020 21:18:09 GMT x-ms-version: - '2019-07-07' method: GET @@ -57,23 +57,23 @@ interactions: />" headers: content-type: application/xml - date: Thu, 30 Jul 2020 13:31:10 GMT + date: Wed, 19 Aug 2020 21:18:09 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-ms-version: '2019-07-07' status: code: 200 message: OK - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/pytableasync1550e28?comp=acl + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/pytableasync1550e28?comp=acl - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:11 GMT + - Wed, 19 Aug 2020 21:18:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:11 GMT + - Wed, 19 Aug 2020 21:18:09 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -84,12 +84,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:31:10 GMT + date: Wed, 19 Aug 2020 21:18:09 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasync1550e28') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasync1550e28') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_list_tables.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_list_tables.yaml index 5ac4de53c713..7097a631c852 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_list_tables.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_list_tables.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:11 GMT + - Wed, 19 Aug 2020 21:18:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:11 GMT + - Wed, 19 Aug 2020 21:18:09 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:10 GMT + date: Wed, 19 Aug 2020 21:18:09 GMT location: https://storagename.table.core.windows.net/Tables('pytableasynce6450d88') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: @@ -44,22 +44,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:12 GMT + - Wed, 19 Aug 2020 21:18:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:12 GMT + - Wed, 19 Aug 2020 21:18:10 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/Tables response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[{"TableName":"pytableasynce6450d88"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[{"TableName":"listtable051291081"},{"TableName":"listtable0aab312c0"},{"TableName":"listtable151291081"},{"TableName":"listtable1aab312c0"},{"TableName":"listtable251291081"},{"TableName":"listtable2aab312c0"},{"TableName":"listtable351291081"},{"TableName":"listtable3aab312c0"},{"TableName":"pytableasynce6450d88"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:10 GMT + date: Wed, 19 Aug 2020 21:18:09 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -67,5 +67,5 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_list_tables_with_num_results.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_list_tables_with_num_results.yaml index aaaef8669965..c74b4adfb695 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_list_tables_with_num_results.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_list_tables_with_num_results.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:12 GMT + - Wed, 19 Aug 2020 21:28:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:12 GMT + - Wed, 19 Aug 2020 21:28:28 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:11 GMT + date: Wed, 19 Aug 2020 21:28:29 GMT location: https://storagename.table.core.windows.net/Tables('listtable0cac14c3') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstoragedntkilzlolfl.table.core.windows.net/Tables - request: body: '{"TableName": "listtable1cac14c3"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:12 GMT + - Wed, 19 Aug 2020 21:28:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:12 GMT + - Wed, 19 Aug 2020 21:28:29 GMT x-ms-version: - '2019-07-07' method: POST @@ -63,7 +63,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:11 GMT + date: Wed, 19 Aug 2020 21:28:29 GMT location: https://storagename.table.core.windows.net/Tables('listtable1cac14c3') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -72,7 +72,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstoragedntkilzlolfl.table.core.windows.net/Tables - request: body: '{"TableName": "listtable2cac14c3"}' headers: @@ -85,11 +85,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:12 GMT + - Wed, 19 Aug 2020 21:28:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:12 GMT + - Wed, 19 Aug 2020 21:28:29 GMT x-ms-version: - '2019-07-07' method: POST @@ -100,7 +100,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:11 GMT + date: Wed, 19 Aug 2020 21:28:29 GMT location: https://storagename.table.core.windows.net/Tables('listtable2cac14c3') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -109,7 +109,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstoragedntkilzlolfl.table.core.windows.net/Tables - request: body: '{"TableName": "listtable3cac14c3"}' headers: @@ -122,11 +122,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:28:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:28:29 GMT x-ms-version: - '2019-07-07' method: POST @@ -137,7 +137,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:28:29 GMT location: https://storagename.table.core.windows.net/Tables('listtable3cac14c3') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -146,7 +146,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstoragedntkilzlolfl.table.core.windows.net/Tables - request: body: null headers: @@ -155,22 +155,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:28:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:28:29 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/Tables response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[{"TableName":"listtable0cac14c3"},{"TableName":"listtable1cac14c3"},{"TableName":"listtable2cac14c3"},{"TableName":"listtable3cac14c3"},{"TableName":"pytableasynce6450d88"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[{"TableName":"listtable0cac14c3"},{"TableName":"listtable1cac14c3"},{"TableName":"listtable2cac14c3"},{"TableName":"listtable3cac14c3"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:28:29 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -178,7 +178,7 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstoragedntkilzlolfl.table.core.windows.net/Tables - request: body: null headers: @@ -187,11 +187,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:28:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:28:29 GMT x-ms-version: - '2019-07-07' method: GET @@ -202,16 +202,16 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:28:29 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff - x-ms-continuation-nexttablename: 1!48!bGlzdHRhYmxlM2NhYzE0YzMBMDFkNjY2NzViMGY4YjFkYw-- + x-ms-continuation-nexttablename: 1!48!bGlzdHRhYmxlM2NhYzE0YzMBMDFkNjc2NmZhZThlYzM2OQ-- x-ms-version: '2019-07-07' status: code: 200 message: OK - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables?$top=3 + url: https://pyacrstoragedntkilzlolfl.table.core.windows.net/Tables?$top=3 - request: body: null headers: @@ -220,22 +220,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:28:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:28:29 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/Tables?$top=3&NextTableName=1!48!bGlzdHRhYmxlM2NhYzE0YzMBMDFkNjY2NzViMGY4YjFkYw-- + uri: https://storagename.table.core.windows.net/Tables?$top=3&NextTableName=1!48!bGlzdHRhYmxlM2NhYzE0YzMBMDFkNjc2NmZhZThlYzM2OQ-- response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[{"TableName":"listtable3cac14c3"},{"TableName":"pytableasynce6450d88"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[{"TableName":"listtable3cac14c3"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:28:29 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -243,5 +243,5 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables?$top=3&NextTableName=1!48!bGlzdHRhYmxlM2NhYzE0YzMBMDFkNjY2NzViMGY4YjFkYw-- + url: https://pyacrstoragedntkilzlolfl.table.core.windows.net/Tables?$top=3&NextTableName=1!48!bGlzdHRhYmxlM2NhYzE0YzMBMDFkNjc2NmZhZThlYzM2OQ-- version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_query_tables_with_filter.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_query_tables_with_filter.yaml index 71721dd0002f..1bc1de8e9a2d 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_query_tables_with_filter.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_query_tables_with_filter.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:18:11 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:18:11 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT location: https://storagename.table.core.windows.net/Tables('pytableasyncbd551302') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: @@ -44,11 +44,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:18:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:13 GMT + - Wed, 19 Aug 2020 21:18:12 GMT x-ms-version: - '2019-07-07' method: GET @@ -59,7 +59,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -67,16 +67,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables?$filter=TableName%20eq%20'pytableasyncbd551302' + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables?$filter=TableName%20eq%20'pytableasyncbd551302' - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:12 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -87,12 +87,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasyncbd551302') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasyncbd551302') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_too_many_ids.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_too_many_ids.yaml index 345ba7b9888a..58b64c6382f4 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_too_many_ids.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_too_many_ids.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:12 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT location: https://storagename.table.core.windows.net/Tables('pytableasynce03c1398') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,16 +35,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:12 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -55,12 +55,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasynce03c1398') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasynce03c1398') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_with_empty_signed_identifiers.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_with_empty_signed_identifiers.yaml index 15a202289223..e5e9da0b78c3 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_with_empty_signed_identifiers.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_with_empty_signed_identifiers.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:12 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT location: https://storagename.table.core.windows.net/Tables('pytableasync6d6c1aab') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: @@ -44,11 +44,11 @@ interactions: Content-Type: - application/xml Date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:13 GMT x-ms-version: - '2019-07-07' method: PUT @@ -58,24 +58,24 @@ interactions: string: '' headers: content-length: '0' - date: Thu, 30 Jul 2020 13:31:12 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/pytableasync6d6c1aab?comp=acl + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/pytableasync6d6c1aab?comp=acl - request: body: null headers: Accept: - application/xml Date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:14 GMT + - Wed, 19 Aug 2020 21:18:13 GMT x-ms-version: - '2019-07-07' method: GET @@ -86,23 +86,23 @@ interactions: />" headers: content-type: application/xml - date: Thu, 30 Jul 2020 13:31:13 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-ms-version: '2019-07-07' status: code: 200 message: OK - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/pytableasync6d6c1aab?comp=acl + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/pytableasync6d6c1aab?comp=acl - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -113,12 +113,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:31:13 GMT + date: Wed, 19 Aug 2020 21:18:12 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasync6d6c1aab') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasync6d6c1aab') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_with_signed_identifiers.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_with_signed_identifiers.yaml index ddf1845c6423..6d5098f2347a 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_with_signed_identifiers.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_async.test_set_table_acl_with_signed_identifiers.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:31:13 GMT + date: Wed, 19 Aug 2020 21:18:13 GMT location: https://storagename.table.core.windows.net/Tables('pytableasyncd261181d') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,11 +35,11 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: ' - testid2020-07-30T13:26:15Z2020-07-30T14:31:15Zr' + testid2020-08-19T21:13:13Z2020-08-19T22:18:13Zr' headers: Accept: - application/xml @@ -48,11 +48,11 @@ interactions: Content-Type: - application/xml Date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT x-ms-version: - '2019-07-07' method: PUT @@ -62,50 +62,50 @@ interactions: string: '' headers: content-length: '0' - date: Thu, 30 Jul 2020 13:31:14 GMT + date: Wed, 19 Aug 2020 21:18:13 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/pytableasyncd261181d?comp=acl + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/pytableasyncd261181d?comp=acl - request: body: null headers: Accept: - application/xml Date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/pytableasyncd261181d?comp=acl response: body: - string: "\uFEFFtestid2020-07-30T13:26:15.0000000Z2020-07-30T14:31:15.0000000Zr" + string: "\uFEFFtestid2020-08-19T21:13:13.0000000Z2020-08-19T22:18:13.0000000Zr" headers: content-type: application/xml - date: Thu, 30 Jul 2020 13:31:14 GMT + date: Wed, 19 Aug 2020 21:18:13 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-ms-version: '2019-07-07' status: code: 200 message: OK - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/pytableasyncd261181d?comp=acl + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/pytableasyncd261181d?comp=acl - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:31:15 GMT + - Wed, 19 Aug 2020 21:18:13 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -116,12 +116,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:31:14 GMT + date: Wed, 19 Aug 2020 21:18:13 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageq3qeesbeuztp.table.core.windows.net/Tables('pytableasyncd261181d') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('pytableasyncd261181d') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_client.test_user_agent_custom.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_client.test_user_agent_custom.yaml index abd3dd677701..246b2b684cdd 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_client.test_user_agent_custom.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_client.test_user_agent_custom.yaml @@ -11,77 +11,31 @@ interactions: DataServiceVersion: - '3.0' Date: - - Mon, 27 Jul 2020 14:16:21 GMT + - Mon, 10 Aug 2020 19:03:04 GMT User-Agent: - - TestApp/v1.0 azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - TestApp/v1.0 azsdk-python-storage-table/12.0.0b1 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:16:21 GMT + - Mon, 10 Aug 2020 19:03:04 GMT x-ms-version: - - '2019-07-07' + - 12.0.0b1 method: GET uri: https://storagename.table.core.windows.net/Tables response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[]}' + string: "\uFEFF\r\n\r\n + \ InvalidHeaderValue\r\n The value + for one of the HTTP headers is not in the correct format.\nRequestId:3df2a491-5002-0050-3548-6f9833000000\nTime:2020-08-10T19:03:05.7984754Z\r\n" headers: - cache-control: - - no-cache + content-length: + - '371' content-type: - - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 + - application/xml date: - - Mon, 27 Jul 2020 14:16:21 GMT + - Mon, 10 Aug 2020 19:03:05 GMT server: - - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: - - chunked - x-content-type-options: - - nosniff - x-ms-version: - - '2019-07-07' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json;odata=minimalmetadata - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - DataServiceVersion: - - '3.0' - Date: - - Mon, 27 Jul 2020 14:16:21 GMT - User-Agent: - - TestApp/v2.0 TestApp/v1.0 azsdk-python-storage-table/2019-07-07 Python/3.8.3 - (Windows-10-10.0.19041-SP0) - x-ms-date: - - Mon, 27 Jul 2020 14:16:21 GMT - x-ms-version: - - '2019-07-07' - method: GET - uri: https://storagename.table.core.windows.net/Tables - response: - body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#Tables","value":[]}' - headers: - cache-control: - - no-cache - content-type: - - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: - - Mon, 27 Jul 2020 14:16:21 GMT - server: - - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 - transfer-encoding: - - chunked - x-content-type-options: - - nosniff - x-ms-version: - - '2019-07-07' + - Microsoft-HTTPAPI/2.0 status: - code: 200 - message: OK + code: 400 + message: The value for one of the HTTP headers is not in the correct format. version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_binary_property_value.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_binary_property_value.yaml index 8ed696eaf9da..ae2e1d23eb6e 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_binary_property_value.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_binary_property_value.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:14 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:14 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:14 GMT location: - https://storagename.table.core.windows.net/Tables('uttable99fe1256') server: @@ -64,27 +64,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:15 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable99fe1256 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable99fe1256/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A34.6927611Z''\"","PartitionKey":"pk99fe1256","RowKey":"rk99fe1256","Timestamp":"2020-07-30T14:24:34.6927611Z","binary@odata.type":"Edm.Binary","binary":"AQIDBAUGBwgJCg=="}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable99fe1256/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A15.3430689Z''\"","PartitionKey":"pk99fe1256","RowKey":"rk99fe1256","Timestamp":"2020-08-19T21:18:15.3430689Z","binary@odata.type":"Edm.Binary","binary":"AQIDBAUGBwgJCg=="}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:14 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A34.6927611Z'" + - W/"datetime'2020-08-19T21%3A18%3A15.3430689Z'" location: - https://storagename.table.core.windows.net/uttable99fe1256(PartitionKey='pk99fe1256',RowKey='rk99fe1256') server: @@ -110,27 +110,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:15 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable99fe1256(PartitionKey='pk99fe1256',RowKey='rk99fe1256') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable99fe1256/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A34.6927611Z''\"","PartitionKey":"pk99fe1256","RowKey":"rk99fe1256","Timestamp":"2020-07-30T14:24:34.6927611Z","binary@odata.type":"Edm.Binary","binary":"AQIDBAUGBwgJCg=="}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable99fe1256/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A15.3430689Z''\"","PartitionKey":"pk99fe1256","RowKey":"rk99fe1256","Timestamp":"2020-08-19T21:18:15.3430689Z","binary@odata.type":"Edm.Binary","binary":"AQIDBAUGBwgJCg=="}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:14 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A34.6927611Z'" + - W/"datetime'2020-08-19T21%3A18%3A15.3430689Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -154,11 +154,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:15 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -172,7 +172,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:14 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity.yaml index 60a0ec925dbc..320aff3ef5f0 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:15 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:15 GMT location: - https://storagename.table.core.windows.net/Tables('uttable12440ee0') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:15 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable12440ee0 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable12440ee0/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A35.3901372Z''\"","PartitionKey":"pk12440ee0","RowKey":"rk12440ee0","Timestamp":"2020-07-30T14:24:35.3901372Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable12440ee0/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A15.9871787Z''\"","PartitionKey":"pk12440ee0","RowKey":"rk12440ee0","Timestamp":"2020-08-19T21:18:15.9871787Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:15 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A35.3901372Z'" + - W/"datetime'2020-08-19T21%3A18%3A15.9871787Z'" location: - https://storagename.table.core.windows.net/uttable12440ee0(PartitionKey='pk12440ee0',RowKey='rk12440ee0') server: @@ -117,13 +117,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:15 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:15 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -137,7 +137,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:15 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -159,11 +159,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:16 GMT x-ms-version: - '2019-07-07' method: GET @@ -171,14 +171,14 @@ interactions: response: body: string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:1e52ed17-0002-002f-077d-6628c3000000\nTime:2020-07-30T14:24:35.5952834Z"}}}' + specified resource does not exist.\nRequestId:fe486c41-3002-0109-2a6e-766db8000000\nTime:2020-08-19T21:18:16.1593007Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:15 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -202,11 +202,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:16 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -220,7 +220,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:34 GMT + - Wed, 19 Aug 2020 21:18:15 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_not_existing.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_not_existing.yaml index 180b3fb1edf6..3532c1df444d 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_not_existing.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_not_existing.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:16 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:16 GMT location: - https://storagename.table.core.windows.net/Tables('uttablef9b6145a') server: @@ -61,13 +61,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:16 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:16 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -77,16 +77,16 @@ interactions: string: 'ResourceNotFoundThe specified resource does not exist. - RequestId:dc92eeba-e002-0007-227d-665f7c000000 + RequestId:a6ffc4a6-d002-00ad-256e-761109000000 - Time:2020-07-30T14:24:36.2619723Z' + Time:2020-08-19T21:18:16.6937798Z' headers: cache-control: - no-cache content-type: - application/xml;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:16 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -110,11 +110,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:16 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -128,7 +128,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:16 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_with_if_doesnt_match.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_with_if_doesnt_match.yaml index 9c427c9e7c77..65fd0343fe05 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_with_if_doesnt_match.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_with_if_doesnt_match.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:16 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:16 GMT location: - https://storagename.table.core.windows.net/Tables('uttablea99a1781') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:17 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablea99a1781 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablea99a1781/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A36.8026672Z''\"","PartitionKey":"pka99a1781","RowKey":"rka99a1781","Timestamp":"2020-07-30T14:24:36.8026672Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablea99a1781/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A17.2500509Z''\"","PartitionKey":"pka99a1781","RowKey":"rka99a1781","Timestamp":"2020-08-19T21:18:17.2500509Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:16 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A36.8026672Z'" + - W/"datetime'2020-08-19T21%3A18%3A17.2500509Z'" location: - https://storagename.table.core.windows.net/uttablea99a1781(PartitionKey='pka99a1781',RowKey='rka99a1781') server: @@ -117,13 +117,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:17 GMT If-Match: - W/"datetime'2012-06-15T22%3A51%3A44.9662825Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:17 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -133,16 +133,16 @@ interactions: string: 'UpdateConditionNotSatisfiedThe update condition specified in the request was not satisfied. - RequestId:9818b359-f002-0057-697d-664074000000 + RequestId:3c51adc3-f002-00dc-276e-766330000000 - Time:2020-07-30T14:24:36.8927298Z' + Time:2020-08-19T21:18:17.3881473Z' headers: cache-control: - no-cache content-type: - application/xml;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:35 GMT + - Wed, 19 Aug 2020 21:18:16 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -166,11 +166,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:37 GMT + - Wed, 19 Aug 2020 21:18:17 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -184,7 +184,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:16 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_with_if_matches.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_with_if_matches.yaml index fc7891635888..d18ef4cd963b 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_with_if_matches.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_delete_entity_with_if_matches.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:17 GMT location: - https://storagename.table.core.windows.net/Tables('uttable3801156d') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable3801156d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3801156d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A37.4661421Z''\"","PartitionKey":"pk3801156d","RowKey":"rk3801156d","Timestamp":"2020-07-30T14:24:37.4661421Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3801156d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A17.9340807Z''\"","PartitionKey":"pk3801156d","RowKey":"rk3801156d","Timestamp":"2020-08-19T21:18:17.9340807Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:17 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A37.4661421Z'" + - W/"datetime'2020-08-19T21%3A18%3A17.9340807Z'" location: - https://storagename.table.core.windows.net/uttable3801156d(PartitionKey='pk3801156d',RowKey='rk3801156d') server: @@ -117,13 +117,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT If-Match: - - W/"datetime'2020-07-30T14%3A24%3A37.4661421Z'" + - W/"datetime'2020-08-19T21%3A18%3A17.9340807Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -137,7 +137,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:17 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -159,11 +159,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT x-ms-version: - '2019-07-07' method: GET @@ -171,14 +171,14 @@ interactions: response: body: string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:1d3cb1c3-a002-0044-617d-667595000000\nTime:2020-07-30T14:24:37.6402651Z"}}}' + specified resource does not exist.\nRequestId:a23f2188-c002-0057-806e-76d8ee000000\nTime:2020-08-19T21:18:18.1072028Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:17 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -202,11 +202,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:18 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -220,7 +220,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:36 GMT + - Wed, 19 Aug 2020 21:18:17 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_empty_and_spaces_property_value.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_empty_and_spaces_property_value.yaml index d49027ddb9fb..d94339c72a6e 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_empty_and_spaces_property_value.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_empty_and_spaces_property_value.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:18 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT location: - https://storagename.table.core.windows.net/Tables('uttable66111670') server: @@ -67,27 +67,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:18 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable66111670 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable66111670/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A38.1730826Z''\"","PartitionKey":"pk66111670","RowKey":"rk66111670","Timestamp":"2020-07-30T14:24:38.1730826Z","EmptyByte":"","EmptyUnicode":"","SpacesOnlyByte":" ","SpacesOnlyUnicode":" ","SpacesBeforeByte":" Text","SpacesBeforeUnicode":" Text","SpacesAfterByte":"Text ","SpacesAfterUnicode":"Text ","SpacesBeforeAndAfterByte":" Text ","SpacesBeforeAndAfterUnicode":" Text "}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable66111670/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A18.6561234Z''\"","PartitionKey":"pk66111670","RowKey":"rk66111670","Timestamp":"2020-08-19T21:18:18.6561234Z","EmptyByte":"","EmptyUnicode":"","SpacesOnlyByte":" ","SpacesOnlyUnicode":" ","SpacesBeforeByte":" Text","SpacesBeforeUnicode":" Text","SpacesAfterByte":"Text ","SpacesAfterUnicode":"Text ","SpacesBeforeAndAfterByte":" Text ","SpacesBeforeAndAfterUnicode":" Text "}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A38.1730826Z'" + - W/"datetime'2020-08-19T21%3A18%3A18.6561234Z'" location: - https://storagename.table.core.windows.net/uttable66111670(PartitionKey='pk66111670',RowKey='rk66111670') server: @@ -113,27 +113,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:18 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable66111670(PartitionKey='pk66111670',RowKey='rk66111670') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable66111670/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A38.1730826Z''\"","PartitionKey":"pk66111670","RowKey":"rk66111670","Timestamp":"2020-07-30T14:24:38.1730826Z","EmptyByte":"","EmptyUnicode":"","SpacesOnlyByte":" ","SpacesOnlyUnicode":" ","SpacesBeforeByte":" Text","SpacesBeforeUnicode":" Text","SpacesAfterByte":"Text ","SpacesAfterUnicode":"Text ","SpacesBeforeAndAfterByte":" Text ","SpacesBeforeAndAfterUnicode":" Text "}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable66111670/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A18.6561234Z''\"","PartitionKey":"pk66111670","RowKey":"rk66111670","Timestamp":"2020-08-19T21:18:18.6561234Z","EmptyByte":"","EmptyUnicode":"","SpacesOnlyByte":" ","SpacesOnlyUnicode":" ","SpacesBeforeByte":" Text","SpacesBeforeUnicode":" Text","SpacesAfterByte":"Text ","SpacesAfterUnicode":"Text ","SpacesBeforeAndAfterByte":" Text ","SpacesBeforeAndAfterUnicode":" Text "}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:17 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A38.1730826Z'" + - W/"datetime'2020-08-19T21%3A18%3A18.6561234Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -157,11 +157,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:18 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -175,7 +175,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:18 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity.yaml index e2a2f91ea816..2783fc9acf49 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:18 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:18 GMT location: - https://storagename.table.core.windows.net/Tables('uttablee7730dad') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablee7730dad response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7730dad/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A38.7779466Z''\"","PartitionKey":"pke7730dad","RowKey":"rke7730dad","Timestamp":"2020-07-30T14:24:38.7779466Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7730dad/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A19.2683965Z''\"","PartitionKey":"pke7730dad","RowKey":"rke7730dad","Timestamp":"2020-08-19T21:18:19.2683965Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:18 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A38.7779466Z'" + - W/"datetime'2020-08-19T21%3A18%3A19.2683965Z'" location: - https://storagename.table.core.windows.net/uttablee7730dad(PartitionKey='pke7730dad',RowKey='rke7730dad') server: @@ -115,27 +115,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablee7730dad(PartitionKey='pke7730dad',RowKey='rke7730dad') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7730dad/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A38.7779466Z''\"","PartitionKey":"pke7730dad","RowKey":"rke7730dad","Timestamp":"2020-07-30T14:24:38.7779466Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7730dad/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A19.2683965Z''\"","PartitionKey":"pke7730dad","RowKey":"rke7730dad","Timestamp":"2020-08-19T21:18:19.2683965Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:19 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A38.7779466Z'" + - W/"datetime'2020-08-19T21%3A18%3A19.2683965Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -159,11 +159,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -177,7 +177,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:19 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_full_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_full_metadata.yaml index 9d07a60dd4d7..681eae730b43 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_full_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_full_metadata.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:18 GMT location: - https://storagename.table.core.windows.net/Tables('uttabled1cb135f') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttabled1cb135f response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttabled1cb135f/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A39.3967653Z''\"","PartitionKey":"pkd1cb135f","RowKey":"rkd1cb135f","Timestamp":"2020-07-30T14:24:39.3967653Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttabled1cb135f/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A19.8592483Z''\"","PartitionKey":"pkd1cb135f","RowKey":"rkd1cb135f","Timestamp":"2020-08-19T21:18:19.8592483Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:19 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A39.3967653Z'" + - W/"datetime'2020-08-19T21%3A18%3A19.8592483Z'" location: - https://storagename.table.core.windows.net/uttabled1cb135f(PartitionKey='pkd1cb135f',RowKey='rkd1cb135f') server: @@ -113,29 +113,29 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) accept: - application/json;odata=fullmetadata x-ms-date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttabled1cb135f(PartitionKey='pkd1cb135f',RowKey='rkd1cb135f') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttabled1cb135f/@Element","odata.type":"storagename.uttabled1cb135f","odata.id":"https://storagename.table.core.windows.net/uttabled1cb135f(PartitionKey=''pkd1cb135f'',RowKey=''rkd1cb135f'')","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A39.3967653Z''\"","odata.editLink":"uttabled1cb135f(PartitionKey=''pkd1cb135f'',RowKey=''rkd1cb135f'')","PartitionKey":"pkd1cb135f","RowKey":"rkd1cb135f","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-07-30T14:24:39.3967653Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttabled1cb135f/@Element","odata.type":"storagename.uttabled1cb135f","odata.id":"https://storagename.table.core.windows.net/uttabled1cb135f(PartitionKey=''pkd1cb135f'',RowKey=''rkd1cb135f'')","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A19.8592483Z''\"","odata.editLink":"uttabled1cb135f(PartitionKey=''pkd1cb135f'',RowKey=''rkd1cb135f'')","PartitionKey":"pkd1cb135f","RowKey":"rkd1cb135f","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-08-19T21:18:19.8592483Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=fullmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:38 GMT + - Wed, 19 Aug 2020 21:18:19 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A39.3967653Z'" + - W/"datetime'2020-08-19T21%3A18%3A19.8592483Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -159,11 +159,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -177,7 +177,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_if_match.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_if_match.yaml index c665ee80f445..6713b4c85c02 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_if_match.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_if_match.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:19 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT location: - https://storagename.table.core.windows.net/Tables('uttable74691147') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:20 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable74691147 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable74691147/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A40.0164803Z''\"","PartitionKey":"pk74691147","RowKey":"rk74691147","Timestamp":"2020-07-30T14:24:40.0164803Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable74691147/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A20.4562594Z''\"","PartitionKey":"pk74691147","RowKey":"rk74691147","Timestamp":"2020-08-19T21:18:20.4562594Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A40.0164803Z'" + - W/"datetime'2020-08-19T21%3A18%3A20.4562594Z'" location: - https://storagename.table.core.windows.net/uttable74691147(PartitionKey='pk74691147',RowKey='rk74691147') server: @@ -115,27 +115,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:20 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable74691147(PartitionKey='pk74691147',RowKey='rk74691147') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable74691147/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A40.0164803Z''\"","PartitionKey":"pk74691147","RowKey":"rk74691147","Timestamp":"2020-07-30T14:24:40.0164803Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable74691147/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A20.4562594Z''\"","PartitionKey":"pk74691147","RowKey":"rk74691147","Timestamp":"2020-08-19T21:18:20.4562594Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A40.0164803Z'" + - W/"datetime'2020-08-19T21%3A18%3A20.4562594Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -161,13 +161,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:20 GMT If-Match: - - W/"datetime'2020-07-30T14%3A24%3A40.0164803Z'" + - W/"datetime'2020-08-19T21%3A18%3A20.4562594Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:20 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -181,7 +181,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -203,11 +203,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:20 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -221,7 +221,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:39 GMT + - Wed, 19 Aug 2020 21:18:19 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_no_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_no_metadata.yaml index aeced10878b4..e23ee5318fe2 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_no_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_no_metadata.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:20 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:20 GMT location: - https://storagename.table.core.windows.net/Tables('uttableab3d1289') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttableab3d1289 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableab3d1289/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A40.7237784Z''\"","PartitionKey":"pkab3d1289","RowKey":"rkab3d1289","Timestamp":"2020-07-30T14:24:40.7237784Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableab3d1289/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A21.1271894Z''\"","PartitionKey":"pkab3d1289","RowKey":"rkab3d1289","Timestamp":"2020-08-19T21:18:21.1271894Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:20 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A40.7237784Z'" + - W/"datetime'2020-08-19T21%3A18%3A21.1271894Z'" location: - https://storagename.table.core.windows.net/uttableab3d1289(PartitionKey='pkab3d1289',RowKey='rkab3d1289') server: @@ -113,29 +113,29 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) accept: - application/json;odata=nometadata x-ms-date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttableab3d1289(PartitionKey='pkab3d1289',RowKey='rkab3d1289') response: body: - string: '{"PartitionKey":"pkab3d1289","RowKey":"rkab3d1289","Timestamp":"2020-07-30T14:24:40.7237784Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"PartitionKey":"pkab3d1289","RowKey":"rkab3d1289","Timestamp":"2020-08-19T21:18:21.1271894Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=nometadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:20 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A40.7237784Z'" + - W/"datetime'2020-08-19T21%3A18%3A21.1271894Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -159,11 +159,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -177,7 +177,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:20 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_not_existing.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_not_existing.yaml index 3df4716dcefd..471ef5f5eb01 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_not_existing.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_not_existing.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:21 GMT location: - https://storagename.table.core.windows.net/Tables('uttablebf5d1327') server: @@ -59,11 +59,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:21 GMT x-ms-version: - '2019-07-07' method: GET @@ -71,14 +71,14 @@ interactions: response: body: string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:702f6a3a-6002-0059-267d-66ac7f000000\nTime:2020-07-30T14:24:41.3611094Z"}}}' + specified resource does not exist.\nRequestId:84cb258a-e002-0122-426e-761900000000\nTime:2020-08-19T21:18:21.7301738Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:21 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -102,11 +102,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:21 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -120,7 +120,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_with_hook.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_with_hook.yaml index 6350c814411e..6ec45dd17437 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_with_hook.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_with_hook.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:21 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:21 GMT location: - https://storagename.table.core.windows.net/Tables('uttable871e11d8') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:22 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable871e11d8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable871e11d8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A41.9261543Z''\"","PartitionKey":"pk871e11d8","RowKey":"rk871e11d8","Timestamp":"2020-07-30T14:24:41.9261543Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable871e11d8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A22.231993Z''\"","PartitionKey":"pk871e11d8","RowKey":"rk871e11d8","Timestamp":"2020-08-19T21:18:22.231993Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:40 GMT + - Wed, 19 Aug 2020 21:18:21 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A41.9261543Z'" + - W/"datetime'2020-08-19T21%3A18%3A22.231993Z'" location: - https://storagename.table.core.windows.net/uttable871e11d8(PartitionKey='pk871e11d8',RowKey='rk871e11d8') server: @@ -115,27 +115,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:22 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable871e11d8(PartitionKey='pk871e11d8',RowKey='rk871e11d8') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable871e11d8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A41.9261543Z''\"","PartitionKey":"pk871e11d8","RowKey":"rk871e11d8","Timestamp":"2020-07-30T14:24:41.9261543Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable871e11d8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A22.231993Z''\"","PartitionKey":"pk871e11d8","RowKey":"rk871e11d8","Timestamp":"2020-08-19T21:18:22.231993Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A41.9261543Z'" + - W/"datetime'2020-08-19T21%3A18%3A22.231993Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -159,11 +159,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -177,7 +177,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:41 GMT + - Wed, 19 Aug 2020 21:18:21 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_with_special_doubles.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_with_special_doubles.yaml index 90df53cf6712..a1a70bc6eaff 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_with_special_doubles.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_get_entity_with_special_doubles.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:22 GMT location: - https://storagename.table.core.windows.net/Tables('uttable65ff1655') server: @@ -65,27 +65,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable65ff1655 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable65ff1655/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A42.5373861Z''\"","PartitionKey":"pk65ff1655","RowKey":"rk65ff1655","Timestamp":"2020-07-30T14:24:42.5373861Z","inf@odata.type":"Edm.Double","inf":"Infinity","negativeinf@odata.type":"Edm.Double","negativeinf":"-Infinity","nan@odata.type":"Edm.Double","nan":"NaN"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable65ff1655/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A22.8630259Z''\"","PartitionKey":"pk65ff1655","RowKey":"rk65ff1655","Timestamp":"2020-08-19T21:18:22.8630259Z","inf@odata.type":"Edm.Double","inf":"Infinity","negativeinf@odata.type":"Edm.Double","negativeinf":"-Infinity","nan@odata.type":"Edm.Double","nan":"NaN"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:22 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A42.5373861Z'" + - W/"datetime'2020-08-19T21%3A18%3A22.8630259Z'" location: - https://storagename.table.core.windows.net/uttable65ff1655(PartitionKey='pk65ff1655',RowKey='rk65ff1655') server: @@ -111,27 +111,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable65ff1655(PartitionKey='pk65ff1655',RowKey='rk65ff1655') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable65ff1655/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A42.5373861Z''\"","PartitionKey":"pk65ff1655","RowKey":"rk65ff1655","Timestamp":"2020-07-30T14:24:42.5373861Z","inf@odata.type":"Edm.Double","inf":"Infinity","negativeinf@odata.type":"Edm.Double","negativeinf":"-Infinity","nan@odata.type":"Edm.Double","nan":"NaN"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable65ff1655/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A22.8630259Z''\"","PartitionKey":"pk65ff1655","RowKey":"rk65ff1655","Timestamp":"2020-08-19T21:18:22.8630259Z","inf@odata.type":"Edm.Double","inf":"Infinity","negativeinf@odata.type":"Edm.Double","negativeinf":"-Infinity","nan@odata.type":"Edm.Double","nan":"NaN"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:22 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A42.5373861Z'" + - W/"datetime'2020-08-19T21%3A18%3A22.8630259Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -155,11 +155,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:22 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -173,7 +173,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:22 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_conflict.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_conflict.yaml index 9de878286c0a..882dc474196f 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_conflict.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_conflict.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:23 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:23 GMT location: - https://storagename.table.core.windows.net/Tables('uttableace512b3') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:23 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttableace512b3 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableace512b3/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A43.1800879Z''\"","PartitionKey":"pkace512b3","RowKey":"rkace512b3","Timestamp":"2020-07-30T14:24:43.1800879Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableace512b3/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A23.6264795Z''\"","PartitionKey":"pkace512b3","RowKey":"rkace512b3","Timestamp":"2020-08-19T21:18:23.6264795Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:23 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A43.1800879Z'" + - W/"datetime'2020-08-19T21%3A18%3A23.6264795Z'" location: - https://storagename.table.core.windows.net/uttableace512b3(PartitionKey='pkace512b3',RowKey='rkace512b3') server: @@ -125,11 +125,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:23 GMT x-ms-version: - '2019-07-07' method: POST @@ -137,14 +137,14 @@ interactions: response: body: string: '{"odata.error":{"code":"EntityAlreadyExists","message":{"lang":"en-US","value":"The - specified entity already exists.\nRequestId:4e924949-5002-005a-0d7d-66af78000000\nTime:2020-07-30T14:24:43.2741543Z"}}}' + specified entity already exists.\nRequestId:4fc5aaf6-1002-0033-086e-76684e000000\nTime:2020-08-19T21:18:23.7155433Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:23 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -168,11 +168,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:23 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -186,7 +186,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:23 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_dictionary.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_dictionary.yaml index 14bbf10cad43..086b59ca4aeb 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_dictionary.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_dictionary.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:23 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:23 GMT location: - https://storagename.table.core.windows.net/Tables('uttabled3851397') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttabled3851397 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttabled3851397/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A43.813941Z''\"","PartitionKey":"pkd3851397","RowKey":"rkd3851397","Timestamp":"2020-07-30T14:24:43.813941Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttabled3851397/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A24.2486453Z''\"","PartitionKey":"pkd3851397","RowKey":"rkd3851397","Timestamp":"2020-08-19T21:18:24.2486453Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:42 GMT + - Wed, 19 Aug 2020 21:18:23 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A43.813941Z'" + - W/"datetime'2020-08-19T21%3A18%3A24.2486453Z'" location: - https://storagename.table.core.windows.net/uttabled3851397(PartitionKey='pkd3851397',RowKey='rkd3851397') server: @@ -115,11 +115,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -133,7 +133,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:23 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_empty_string_pk.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_empty_string_pk.yaml index 9bed2a6f5268..407149f1590e 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_empty_string_pk.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_empty_string_pk.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT location: - https://storagename.table.core.windows.net/Tables('uttable3d1615c0') server: @@ -63,27 +63,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:24 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable3d1615c0 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3d1615c0/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A44.3589789Z''\"","PartitionKey":"","RowKey":"rk","Timestamp":"2020-07-30T14:24:44.3589789Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3d1615c0/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A24.7790961Z''\"","PartitionKey":"","RowKey":"rk","Timestamp":"2020-08-19T21:18:24.7790961Z"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A44.3589789Z'" + - W/"datetime'2020-08-19T21%3A18%3A24.7790961Z'" location: - https://storagename.table.core.windows.net/uttable3d1615c0(PartitionKey='',RowKey='rk') server: @@ -109,11 +109,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:24 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -127,7 +127,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_empty_string_rk.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_empty_string_rk.yaml index 4fd0064c8210..59c8f8aeb710 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_empty_string_rk.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_empty_string_rk.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:24 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:43 GMT + - Wed, 19 Aug 2020 21:18:24 GMT location: - https://storagename.table.core.windows.net/Tables('uttable3d1a15c2') server: @@ -63,27 +63,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:25 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable3d1a15c2 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3d1a15c2/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A44.9268631Z''\"","PartitionKey":"pk","RowKey":"","Timestamp":"2020-07-30T14:24:44.9268631Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3d1a15c2/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A25.3316577Z''\"","PartitionKey":"pk","RowKey":"","Timestamp":"2020-08-19T21:18:25.3316577Z"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A44.9268631Z'" + - W/"datetime'2020-08-19T21%3A18%3A25.3316577Z'" location: - https://storagename.table.core.windows.net/uttable3d1a15c2(PartitionKey='pk',RowKey='') server: @@ -109,11 +109,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:25 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -127,7 +127,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:24 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_missing_pk.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_missing_pk.yaml index 39f025927c1b..5dc2077ca377 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_missing_pk.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_missing_pk.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:25 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:25 GMT location: - https://storagename.table.core.windows.net/Tables('uttabled41f1395') server: @@ -59,11 +59,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:25 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -77,7 +77,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:44 GMT + - Wed, 19 Aug 2020 21:18:25 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_missing_rk.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_missing_rk.yaml index fa8888987f13..e5269a2b66e3 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_missing_rk.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_missing_rk.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:25 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:25 GMT location: - https://storagename.table.core.windows.net/Tables('uttabled4231397') server: @@ -59,11 +59,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:26 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -77,7 +77,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:45 GMT + - Wed, 19 Aug 2020 21:18:25 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_property_name_too_long.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_property_name_too_long.yaml index e6a5e3a08f43..6c41a57df90b 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_property_name_too_long.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_property_name_too_long.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:26 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:26 GMT location: - https://storagename.table.core.windows.net/Tables('uttablee10d18a6') server: @@ -64,11 +64,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:26 GMT x-ms-version: - '2019-07-07' method: POST @@ -76,14 +76,14 @@ interactions: response: body: string: '{"odata.error":{"code":"PropertyNameTooLong","message":{"lang":"en-US","value":"The - property name exceeds the maximum allowed length (255).\nRequestId:4c2f74b7-b002-005b-357d-66ae85000000\nTime:2020-07-30T14:24:46.3911183Z"}}}' + property name exceeds the maximum allowed length (255).\nRequestId:bfe2be72-7002-0127-6a6e-76ed7f000000\nTime:2020-08-19T21:18:26.8095726Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:26 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -107,11 +107,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:26 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -125,7 +125,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:26 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_too_many_properties.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_too_many_properties.yaml index bcf767aac948..16024112e804 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_too_many_properties.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_too_many_properties.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:26 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:26 GMT location: - https://storagename.table.core.windows.net/Tables('uttable97d21773') server: @@ -132,11 +132,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:27 GMT x-ms-version: - '2019-07-07' method: POST @@ -145,14 +145,14 @@ interactions: body: string: '{"odata.error":{"code":"TooManyProperties","message":{"lang":"en-US","value":"The entity contains more properties than allowed. Each entity can include up to - 252 properties to store data. Each entity also has 3 system properties.\nRequestId:74988813-9002-0047-207d-667692000000\nTime:2020-07-30T14:24:46.9374438Z"}}}' + 252 properties to store data. Each entity also has 3 system properties.\nRequestId:88949bea-b002-003e-016e-768742000000\nTime:2020-08-19T21:18:27.5449962Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:27 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -176,11 +176,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:27 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -194,7 +194,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:27 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_full_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_full_metadata.yaml index ce7a8eacf9cf..78b05221445e 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_full_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_full_metadata.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:27 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:27 GMT location: - https://storagename.table.core.windows.net/Tables('uttable7f6816cf') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:27 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable7f6816cf response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable7f6816cf/@Element","odata.type":"storagename.uttable7f6816cf","odata.id":"https://storagename.table.core.windows.net/uttable7f6816cf(PartitionKey=''pk7f6816cf'',RowKey=''rk7f6816cf'')","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A47.4909784Z''\"","odata.editLink":"uttable7f6816cf(PartitionKey=''pk7f6816cf'',RowKey=''rk7f6816cf'')","PartitionKey":"pk7f6816cf","RowKey":"rk7f6816cf","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-07-30T14:24:47.4909784Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable7f6816cf/@Element","odata.type":"storagename.uttable7f6816cf","odata.id":"https://storagename.table.core.windows.net/uttable7f6816cf(PartitionKey=''pk7f6816cf'',RowKey=''rk7f6816cf'')","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A28.0651702Z''\"","odata.editLink":"uttable7f6816cf(PartitionKey=''pk7f6816cf'',RowKey=''rk7f6816cf'')","PartitionKey":"pk7f6816cf","RowKey":"rk7f6816cf","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-08-19T21:18:28.0651702Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=fullmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:46 GMT + - Wed, 19 Aug 2020 21:18:27 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A47.4909784Z'" + - W/"datetime'2020-08-19T21%3A18%3A28.0651702Z'" location: - https://storagename.table.core.windows.net/uttable7f6816cf(PartitionKey='pk7f6816cf',RowKey='rk7f6816cf') server: @@ -115,11 +115,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:28 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -133,7 +133,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:27 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_hook.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_hook.yaml index 75bec5ea8988..340f42bb6360 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_hook.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_hook.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:28 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:28 GMT location: - https://storagename.table.core.windows.net/Tables('uttablec092132d') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:28 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablec092132d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec092132d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A48.0754342Z''\"","PartitionKey":"pkc092132d","RowKey":"rkc092132d","Timestamp":"2020-07-30T14:24:48.0754342Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec092132d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A28.62105Z''\"","PartitionKey":"pkc092132d","RowKey":"rkc092132d","Timestamp":"2020-08-19T21:18:28.62105Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:28 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A48.0754342Z'" + - W/"datetime'2020-08-19T21%3A18%3A28.62105Z'" location: - https://storagename.table.core.windows.net/uttablec092132d(PartitionKey='pkc092132d',RowKey='rkc092132d') server: @@ -115,11 +115,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:28 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -133,7 +133,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:47 GMT + - Wed, 19 Aug 2020 21:18:28 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_large_int32_value_throws.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_large_int32_value_throws.yaml index bcff74c22a4c..890790730c87 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_large_int32_value_throws.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_large_int32_value_throws.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:28 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:29 GMT location: - https://storagename.table.core.windows.net/Tables('uttable8fac1b18') server: @@ -59,11 +59,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:29 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -77,7 +77,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:29 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_large_int64_value_throws.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_large_int64_value_throws.yaml index bd233ff2d3e6..0e468f9e33ec 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_large_int64_value_throws.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_large_int64_value_throws.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:29 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:29 GMT location: - https://storagename.table.core.windows.net/Tables('uttable8ff51b1d') server: @@ -59,11 +59,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:29 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -77,7 +77,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:48 GMT + - Wed, 19 Aug 2020 21:18:29 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_no_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_no_metadata.yaml index edb7b7fd2e84..cc893114800a 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_no_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_entity_with_no_metadata.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:29 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:30 GMT location: - https://storagename.table.core.windows.net/Tables('uttable51fa15f9') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:30 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable51fa15f9 response: body: - string: '{"PartitionKey":"pk51fa15f9","RowKey":"rk51fa15f9","Timestamp":"2020-07-30T14:24:49.5291129Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"PartitionKey":"pk51fa15f9","RowKey":"rk51fa15f9","Timestamp":"2020-08-19T21:18:30.456189Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=nometadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:30 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A49.5291129Z'" + - W/"datetime'2020-08-19T21%3A18%3A30.456189Z'" location: - https://storagename.table.core.windows.net/uttable51fa15f9(PartitionKey='pk51fa15f9',RowKey='rk51fa15f9') server: @@ -115,11 +115,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:30 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -133,7 +133,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:30 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_etag.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_etag.yaml index a9327ff69d6d..ababd0f7c013 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_etag.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_etag.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:30 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:30 GMT location: - https://storagename.table.core.windows.net/Tables('uttablef5f40e06') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:30 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablef5f40e06 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef5f40e06/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A50.0795467Z''\"","PartitionKey":"pkf5f40e06","RowKey":"rkf5f40e06","Timestamp":"2020-07-30T14:24:50.0795467Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef5f40e06/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A31.010889Z''\"","PartitionKey":"pkf5f40e06","RowKey":"rkf5f40e06","Timestamp":"2020-08-19T21:18:31.010889Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:49 GMT + - Wed, 19 Aug 2020 21:18:30 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A50.0795467Z'" + - W/"datetime'2020-08-19T21%3A18%3A31.010889Z'" location: - https://storagename.table.core.windows.net/uttablef5f40e06(PartitionKey='pkf5f40e06',RowKey='rkf5f40e06') server: @@ -115,27 +115,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:30 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablef5f40e06(PartitionKey='pkf5f40e06',RowKey='rkf5f40e06') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef5f40e06/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A50.0795467Z''\"","PartitionKey":"pkf5f40e06","RowKey":"rkf5f40e06","Timestamp":"2020-07-30T14:24:50.0795467Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef5f40e06/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A31.010889Z''\"","PartitionKey":"pkf5f40e06","RowKey":"rkf5f40e06","Timestamp":"2020-08-19T21:18:31.010889Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:30 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A50.0795467Z'" + - W/"datetime'2020-08-19T21%3A18%3A31.010889Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_merge_entity_with_existing_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_merge_entity_with_existing_entity.yaml index 5ee3dba06871..3d2248f004f4 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_merge_entity_with_existing_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_merge_entity_with_existing_entity.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:31 GMT location: - https://storagename.table.core.windows.net/Tables('uttable95761b92') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable95761b92 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable95761b92/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A50.6145306Z''\"","PartitionKey":"pk95761b92","RowKey":"rk95761b92","Timestamp":"2020-07-30T14:24:50.6145306Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable95761b92/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A31.5600574Z''\"","PartitionKey":"pk95761b92","RowKey":"rk95761b92","Timestamp":"2020-08-19T21:18:31.5600574Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:31 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A50.6145306Z'" + - W/"datetime'2020-08-19T21%3A18%3A31.5600574Z'" location: - https://storagename.table.core.windows.net/uttable95761b92(PartitionKey='pk95761b92',RowKey='rk95761b92') server: @@ -121,11 +121,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -139,9 +139,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:31 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A50.7009442Z'" + - W/"datetime'2020-08-19T21%3A18%3A31.6634363Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -163,27 +163,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable95761b92(PartitionKey='pk95761b92',RowKey='rk95761b92') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable95761b92/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A50.7009442Z''\"","PartitionKey":"pk95761b92","RowKey":"rk95761b92","Timestamp":"2020-07-30T14:24:50.7009442Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable95761b92/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A31.6634363Z''\"","PartitionKey":"pk95761b92","RowKey":"rk95761b92","Timestamp":"2020-08-19T21:18:31.6634363Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:31 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A50.7009442Z'" + - W/"datetime'2020-08-19T21%3A18%3A31.6634363Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -207,11 +207,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -225,7 +225,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:31 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_merge_entity_with_non_existing_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_merge_entity_with_non_existing_entity.yaml index 52b1d8b3b0a3..b0d73cda8f1a 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_merge_entity_with_non_existing_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_merge_entity_with_non_existing_entity.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:31 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:32 GMT location: - https://storagename.table.core.windows.net/Tables('uttable7671d3c') server: @@ -65,11 +65,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -83,9 +83,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:32 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A51.3754209Z'" + - W/"datetime'2020-08-19T21%3A18%3A32.3008926Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -107,27 +107,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable7671d3c(PartitionKey='pk7671d3c',RowKey='rk7671d3c') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable7671d3c/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A51.3754209Z''\"","PartitionKey":"pk7671d3c","RowKey":"rk7671d3c","Timestamp":"2020-07-30T14:24:51.3754209Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable7671d3c/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A32.3008926Z''\"","PartitionKey":"pk7671d3c","RowKey":"rk7671d3c","Timestamp":"2020-08-19T21:18:32.3008926Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:32 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A51.3754209Z'" + - W/"datetime'2020-08-19T21%3A18%3A32.3008926Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -151,11 +151,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -169,7 +169,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:50 GMT + - Wed, 19 Aug 2020 21:18:32 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_replace_entity_with_existing_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_replace_entity_with_existing_entity.yaml index 6f34af815e19..c48105015d67 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_replace_entity_with_existing_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_replace_entity_with_existing_entity.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:32 GMT location: - https://storagename.table.core.windows.net/Tables('uttablecc7c1c5e') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablecc7c1c5e response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablecc7c1c5e/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A51.9816094Z''\"","PartitionKey":"pkcc7c1c5e","RowKey":"rkcc7c1c5e","Timestamp":"2020-07-30T14:24:51.9816094Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablecc7c1c5e/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A32.9683354Z''\"","PartitionKey":"pkcc7c1c5e","RowKey":"rkcc7c1c5e","Timestamp":"2020-08-19T21:18:32.9683354Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:32 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A51.9816094Z'" + - W/"datetime'2020-08-19T21%3A18%3A32.9683354Z'" location: - https://storagename.table.core.windows.net/uttablecc7c1c5e(PartitionKey='pkcc7c1c5e',RowKey='rkcc7c1c5e') server: @@ -121,11 +121,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:32 GMT x-ms-version: - '2019-07-07' method: PUT @@ -139,9 +139,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:32 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A52.0689108Z'" + - W/"datetime'2020-08-19T21%3A18%3A33.0624378Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -163,27 +163,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablecc7c1c5e(PartitionKey='pkcc7c1c5e',RowKey='rkcc7c1c5e') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablecc7c1c5e/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A52.0689108Z''\"","PartitionKey":"pkcc7c1c5e","RowKey":"rkcc7c1c5e","Timestamp":"2020-07-30T14:24:52.0689108Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablecc7c1c5e/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A33.0624378Z''\"","PartitionKey":"pkcc7c1c5e","RowKey":"rkcc7c1c5e","Timestamp":"2020-08-19T21:18:33.0624378Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:33 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A52.0689108Z'" + - W/"datetime'2020-08-19T21%3A18%3A33.0624378Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -207,11 +207,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -225,7 +225,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:51 GMT + - Wed, 19 Aug 2020 21:18:33 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_replace_entity_with_non_existing_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_replace_entity_with_non_existing_entity.yaml index e10757f57cbb..59de80ecd0e6 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_replace_entity_with_non_existing_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_insert_or_replace_entity_with_non_existing_entity.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:32 GMT location: - https://storagename.table.core.windows.net/Tables('uttable419d1e08') server: @@ -65,11 +65,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT x-ms-version: - '2019-07-07' method: PUT @@ -83,9 +83,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:33 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A52.7533942Z'" + - W/"datetime'2020-08-19T21%3A18%3A33.7028966Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -107,27 +107,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable419d1e08(PartitionKey='pk419d1e08',RowKey='rk419d1e08') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable419d1e08/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A52.7533942Z''\"","PartitionKey":"pk419d1e08","RowKey":"rk419d1e08","Timestamp":"2020-07-30T14:24:52.7533942Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable419d1e08/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A33.7028966Z''\"","PartitionKey":"pk419d1e08","RowKey":"rk419d1e08","Timestamp":"2020-08-19T21:18:33.7028966Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:33 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A52.7533942Z'" + - W/"datetime'2020-08-19T21%3A18%3A33.7028966Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -151,11 +151,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -169,7 +169,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:52 GMT + - Wed, 19 Aug 2020 21:18:33 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity.yaml index 648d07dc0210..56c001638cc7 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:33 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:34 GMT location: - https://storagename.table.core.windows.net/Tables('uttable3df0e7d') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable3df0e7d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3df0e7d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A53.3764814Z''\"","PartitionKey":"pk3df0e7d","RowKey":"rk3df0e7d","Timestamp":"2020-07-30T14:24:53.3764814Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3df0e7d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A34.3142386Z''\"","PartitionKey":"pk3df0e7d","RowKey":"rk3df0e7d","Timestamp":"2020-08-19T21:18:34.3142386Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:34 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A53.3764814Z'" + - W/"datetime'2020-08-19T21%3A18%3A34.3142386Z'" location: - https://storagename.table.core.windows.net/uttable3df0e7d(PartitionKey='pk3df0e7d',RowKey='rk3df0e7d') server: @@ -121,13 +121,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -141,9 +141,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:34 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A53.472903Z'" + - W/"datetime'2020-08-19T21%3A18%3A34.4043984Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -165,27 +165,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable3df0e7d(PartitionKey='pk3df0e7d',RowKey='rk3df0e7d') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3df0e7d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A53.472903Z''\"","PartitionKey":"pk3df0e7d","RowKey":"rk3df0e7d","Timestamp":"2020-07-30T14:24:53.472903Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3df0e7d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A34.4043984Z''\"","PartitionKey":"pk3df0e7d","RowKey":"rk3df0e7d","Timestamp":"2020-08-19T21:18:34.4043984Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:34 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A53.472903Z'" + - W/"datetime'2020-08-19T21%3A18%3A34.4043984Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -209,11 +209,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -227,7 +227,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:34 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_not_existing.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_not_existing.yaml index c4c0d07e89a1..e2204cab3a3a 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_not_existing.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_not_existing.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:34 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:34 GMT location: - https://storagename.table.core.windows.net/Tables('uttablee64a13f7') server: @@ -65,13 +65,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -81,16 +81,16 @@ interactions: string: 'ResourceNotFoundThe specified resource does not exist. - RequestId:f68387d3-2002-005e-187d-665afa000000 + RequestId:db0db249-b002-0094-0c6e-7651ad000000 - Time:2020-07-30T14:24:54.1053791Z' + Time:2020-08-19T21:18:35.2077355Z' headers: cache-control: - no-cache content-type: - application/xml;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:34 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -114,11 +114,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -132,7 +132,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:53 GMT + - Wed, 19 Aug 2020 21:18:34 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_with_if_doesnt_match.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_with_if_doesnt_match.yaml index cb0cecb749e4..133434398e6e 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_with_if_doesnt_match.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_with_if_doesnt_match.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:35 GMT location: - https://storagename.table.core.windows.net/Tables('uttable9316171e') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable9316171e response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable9316171e/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A54.6804392Z''\"","PartitionKey":"pk9316171e","RowKey":"rk9316171e","Timestamp":"2020-07-30T14:24:54.6804392Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable9316171e/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A35.7704261Z''\"","PartitionKey":"pk9316171e","RowKey":"rk9316171e","Timestamp":"2020-08-19T21:18:35.7704261Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:35 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A54.6804392Z'" + - W/"datetime'2020-08-19T21%3A18%3A35.7704261Z'" location: - https://storagename.table.core.windows.net/uttable9316171e(PartitionKey='pk9316171e',RowKey='rk9316171e') server: @@ -121,13 +121,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT If-Match: - W/"datetime'2012-06-15T22%3A51%3A44.9662825Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -137,16 +137,16 @@ interactions: string: 'UpdateConditionNotSatisfiedThe update condition specified in the request was not satisfied. - RequestId:9f1812d1-3002-004a-537d-66999e000000 + RequestId:f57fd18d-a002-00c4-746e-764ea5000000 - Time:2020-07-30T14:24:54.7644978Z' + Time:2020-08-19T21:18:35.8665099Z' headers: cache-control: - no-cache content-type: - application/xml;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:35 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -170,11 +170,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -188,7 +188,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:35 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_with_if_matches.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_with_if_matches.yaml index 9521b0437825..1805297920c1 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_with_if_matches.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_merge_entity_with_if_matches.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:35 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:36 GMT location: - https://storagename.table.core.windows.net/Tables('uttable236c150a') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable236c150a response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable236c150a/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A55.315605Z''\"","PartitionKey":"pk236c150a","RowKey":"rk236c150a","Timestamp":"2020-07-30T14:24:55.315605Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable236c150a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A36.4046303Z''\"","PartitionKey":"pk236c150a","RowKey":"rk236c150a","Timestamp":"2020-08-19T21:18:36.4046303Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:36 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A55.315605Z'" + - W/"datetime'2020-08-19T21%3A18%3A36.4046303Z'" location: - https://storagename.table.core.windows.net/uttable236c150a(PartitionKey='pk236c150a',RowKey='rk236c150a') server: @@ -121,13 +121,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT If-Match: - - W/"datetime'2020-07-30T14%3A24%3A55.315605Z'" + - W/"datetime'2020-08-19T21%3A18%3A36.4046303Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -141,9 +141,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:36 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A55.4002652Z'" + - W/"datetime'2020-08-19T21%3A18%3A36.5759528Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -165,27 +165,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable236c150a(PartitionKey='pk236c150a',RowKey='rk236c150a') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable236c150a/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A55.4002652Z''\"","PartitionKey":"pk236c150a","RowKey":"rk236c150a","Timestamp":"2020-07-30T14:24:55.4002652Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable236c150a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A36.5759528Z''\"","PartitionKey":"pk236c150a","RowKey":"rk236c150a","Timestamp":"2020-08-19T21:18:36.5759528Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:36 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A55.4002652Z'" + - W/"datetime'2020-08-19T21%3A18%3A36.5759528Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -209,11 +209,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -227,7 +227,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:36 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_none_property_value.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_none_property_value.yaml index 77cea668a83e..44d49c73157a 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_none_property_value.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_none_property_value.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:36 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:54 GMT + - Wed, 19 Aug 2020 21:18:36 GMT location: - https://storagename.table.core.windows.net/Tables('uttable76561181') server: @@ -63,27 +63,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable76561181 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable76561181/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A56.0435707Z''\"","PartitionKey":"pk76561181","RowKey":"rk76561181","Timestamp":"2020-07-30T14:24:56.0435707Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable76561181/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A37.2735244Z''\"","PartitionKey":"pk76561181","RowKey":"rk76561181","Timestamp":"2020-08-19T21:18:37.2735244Z"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:36 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A56.0435707Z'" + - W/"datetime'2020-08-19T21%3A18%3A37.2735244Z'" location: - https://storagename.table.core.windows.net/uttable76561181(PartitionKey='pk76561181',RowKey='rk76561181') server: @@ -109,27 +109,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable76561181(PartitionKey='pk76561181',RowKey='rk76561181') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable76561181/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A56.0435707Z''\"","PartitionKey":"pk76561181","RowKey":"rk76561181","Timestamp":"2020-07-30T14:24:56.0435707Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable76561181/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A37.2735244Z''\"","PartitionKey":"pk76561181","RowKey":"rk76561181","Timestamp":"2020-08-19T21:18:37.2735244Z"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:36 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A56.0435707Z'" + - W/"datetime'2020-08-19T21%3A18%3A37.2735244Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -153,11 +153,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -171,7 +171,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:55 GMT + - Wed, 19 Aug 2020 21:18:36 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_operations_on_entity_with_partition_key_having_single_quote.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_operations_on_entity_with_partition_key_having_single_quote.yaml index d19c247f7358..97bd7a6b350e 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_operations_on_entity_with_partition_key_having_single_quote.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_operations_on_entity_with_partition_key_having_single_quote.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:37 GMT location: - https://storagename.table.core.windows.net/Tables('uttable88682233') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable88682233 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable88682233/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A56.6959097Z''\"","PartitionKey":"a''''''''b","RowKey":"a''''''''b","Timestamp":"2020-07-30T14:24:56.6959097Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable88682233/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A37.9347214Z''\"","PartitionKey":"a''''''''b","RowKey":"a''''''''b","Timestamp":"2020-08-19T21:18:37.9347214Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:37 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A56.6959097Z'" + - W/"datetime'2020-08-19T21%3A18%3A37.9347214Z'" location: - https://storagename.table.core.windows.net/uttable88682233(PartitionKey='a''''''''b',RowKey='a''''''''b') server: @@ -121,11 +121,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -139,9 +139,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:37 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A56.7922489Z'" + - W/"datetime'2020-08-19T21%3A18%3A38.0219879Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -163,27 +163,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:37 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable88682233(PartitionKey='a%27%27%27%27b',RowKey='a%27%27%27%27b') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable88682233/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A56.7922489Z''\"","PartitionKey":"a''''b","RowKey":"a''''b","Timestamp":"2020-07-30T14:24:56.7922489Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable88682233/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A38.0219879Z''\"","PartitionKey":"a''''b","RowKey":"a''''b","Timestamp":"2020-08-19T21:18:38.0219879Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:37 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A56.7922489Z'" + - W/"datetime'2020-08-19T21%3A18%3A38.0219879Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -213,13 +213,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:38 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:38 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -233,9 +233,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:37 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A56.9733775Z'" + - W/"datetime'2020-08-19T21%3A18%3A38.1971132Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -257,27 +257,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:38 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:38 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable88682233(PartitionKey='a%27%27%27%27b',RowKey='a%27%27%27%27b') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable88682233/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A56.9733775Z''\"","PartitionKey":"a''''b","RowKey":"a''''b","Timestamp":"2020-07-30T14:24:56.9733775Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","newField":"newFieldValue","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable88682233/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A38.1971132Z''\"","PartitionKey":"a''''b","RowKey":"a''''b","Timestamp":"2020-08-19T21:18:38.1971132Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","newField":"newFieldValue","sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:37 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A56.9733775Z'" + - W/"datetime'2020-08-19T21%3A18%3A38.1971132Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -303,13 +303,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:38 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:38 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -323,7 +323,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:38 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -345,11 +345,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:38 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:38 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -363,7 +363,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:38 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities.yaml index 4e5f6e3fd8b1..8494b67df513 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:38 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:38 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:39 GMT location: - https://storagename.table.core.windows.net/Tables('uttable23930f6b') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:39 GMT location: - https://storagename.table.core.windows.net/Tables('querytable23930f6b') server: @@ -117,27 +117,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable23930f6b response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable23930f6b/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A57.7802038Z''\"","PartitionKey":"pk23930f6b","RowKey":"rk23930f6b1","Timestamp":"2020-07-30T14:24:57.7802038Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable23930f6b/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A39.3186981Z''\"","PartitionKey":"pk23930f6b","RowKey":"rk23930f6b1","Timestamp":"2020-08-19T21:18:39.3186981Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:39 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A57.7802038Z'" + - W/"datetime'2020-08-19T21%3A18%3A39.3186981Z'" location: - https://storagename.table.core.windows.net/querytable23930f6b(PartitionKey='pk23930f6b',RowKey='rk23930f6b1') server: @@ -173,27 +173,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable23930f6b response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable23930f6b/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A57.8612602Z''\"","PartitionKey":"pk23930f6b","RowKey":"rk23930f6b12","Timestamp":"2020-07-30T14:24:57.8612602Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable23930f6b/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A39.4107628Z''\"","PartitionKey":"pk23930f6b","RowKey":"rk23930f6b12","Timestamp":"2020-08-19T21:18:39.4107628Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:56 GMT + - Wed, 19 Aug 2020 21:18:39 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A57.8612602Z'" + - W/"datetime'2020-08-19T21%3A18%3A39.4107628Z'" location: - https://storagename.table.core.windows.net/querytable23930f6b(PartitionKey='pk23930f6b',RowKey='rk23930f6b12') server: @@ -219,25 +219,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable23930f6b() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable23930f6b","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A57.7802038Z''\"","PartitionKey":"pk23930f6b","RowKey":"rk23930f6b1","Timestamp":"2020-07-30T14:24:57.7802038Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A57.8612602Z''\"","PartitionKey":"pk23930f6b","RowKey":"rk23930f6b12","Timestamp":"2020-07-30T14:24:57.8612602Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable23930f6b","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A39.3186981Z''\"","PartitionKey":"pk23930f6b","RowKey":"rk23930f6b1","Timestamp":"2020-08-19T21:18:39.3186981Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A39.4107628Z''\"","PartitionKey":"pk23930f6b","RowKey":"rk23930f6b12","Timestamp":"2020-08-19T21:18:39.4107628Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:39 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -261,11 +261,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:39 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -279,7 +279,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:39 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -301,11 +301,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:39 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -319,7 +319,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:57 GMT + - Wed, 19 Aug 2020 21:18:39 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_full_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_full_metadata.yaml index e7e6c815aa16..8b97cef7a81d 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_full_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_full_metadata.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:39 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT location: - https://storagename.table.core.windows.net/Tables('uttable264f151d') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT location: - https://storagename.table.core.windows.net/Tables('querytable264f151d') server: @@ -117,27 +117,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable264f151d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable264f151d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A58.6636662Z''\"","PartitionKey":"pk264f151d","RowKey":"rk264f151d1","Timestamp":"2020-07-30T14:24:58.6636662Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable264f151d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A40.2295659Z''\"","PartitionKey":"pk264f151d","RowKey":"rk264f151d1","Timestamp":"2020-08-19T21:18:40.2295659Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A58.6636662Z'" + - W/"datetime'2020-08-19T21%3A18%3A40.2295659Z'" location: - https://storagename.table.core.windows.net/querytable264f151d(PartitionKey='pk264f151d',RowKey='rk264f151d1') server: @@ -173,27 +173,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable264f151d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable264f151d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A58.746726Z''\"","PartitionKey":"pk264f151d","RowKey":"rk264f151d12","Timestamp":"2020-07-30T14:24:58.746726Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable264f151d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A40.3206308Z''\"","PartitionKey":"pk264f151d","RowKey":"rk264f151d12","Timestamp":"2020-08-19T21:18:40.3206308Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A58.746726Z'" + - W/"datetime'2020-08-19T21%3A18%3A40.3206308Z'" location: - https://storagename.table.core.windows.net/querytable264f151d(PartitionKey='pk264f151d',RowKey='rk264f151d12') server: @@ -217,27 +217,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) accept: - application/json;odata=fullmetadata x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable264f151d() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable264f151d","value":[{"odata.type":"storagename.querytable264f151d","odata.id":"https://storagename.table.core.windows.net/querytable264f151d(PartitionKey=''pk264f151d'',RowKey=''rk264f151d1'')","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A58.6636662Z''\"","odata.editLink":"querytable264f151d(PartitionKey=''pk264f151d'',RowKey=''rk264f151d1'')","PartitionKey":"pk264f151d","RowKey":"rk264f151d1","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-07-30T14:24:58.6636662Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.type":"storagename.querytable264f151d","odata.id":"https://storagename.table.core.windows.net/querytable264f151d(PartitionKey=''pk264f151d'',RowKey=''rk264f151d12'')","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A58.746726Z''\"","odata.editLink":"querytable264f151d(PartitionKey=''pk264f151d'',RowKey=''rk264f151d12'')","PartitionKey":"pk264f151d","RowKey":"rk264f151d12","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-07-30T14:24:58.746726Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable264f151d","value":[{"odata.type":"storagename.querytable264f151d","odata.id":"https://storagename.table.core.windows.net/querytable264f151d(PartitionKey=''pk264f151d'',RowKey=''rk264f151d1'')","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A40.2295659Z''\"","odata.editLink":"querytable264f151d(PartitionKey=''pk264f151d'',RowKey=''rk264f151d1'')","PartitionKey":"pk264f151d","RowKey":"rk264f151d1","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-08-19T21:18:40.2295659Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.type":"storagename.querytable264f151d","odata.id":"https://storagename.table.core.windows.net/querytable264f151d(PartitionKey=''pk264f151d'',RowKey=''rk264f151d12'')","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A40.3206308Z''\"","odata.editLink":"querytable264f151d(PartitionKey=''pk264f151d'',RowKey=''rk264f151d12'')","PartitionKey":"pk264f151d","RowKey":"rk264f151d12","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-08-19T21:18:40.3206308Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=fullmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -261,11 +261,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -279,7 +279,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -301,11 +301,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:40 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -319,7 +319,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:39 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_no_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_no_metadata.yaml index 9f2fd09f46d3..f7cbe2a3b6bc 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_no_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_no_metadata.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:40 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:40 GMT location: - https://storagename.table.core.windows.net/Tables('uttablefc361447') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:40 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:40 GMT location: - https://storagename.table.core.windows.net/Tables('querytablefc361447') server: @@ -117,27 +117,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytablefc361447 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefc361447/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A59.5774073Z''\"","PartitionKey":"pkfc361447","RowKey":"rkfc3614471","Timestamp":"2020-07-30T14:24:59.5774073Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefc361447/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A41.1614034Z''\"","PartitionKey":"pkfc361447","RowKey":"rkfc3614471","Timestamp":"2020-08-19T21:18:41.1614034Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:40 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A59.5774073Z'" + - W/"datetime'2020-08-19T21%3A18%3A41.1614034Z'" location: - https://storagename.table.core.windows.net/querytablefc361447(PartitionKey='pkfc361447',RowKey='rkfc3614471') server: @@ -173,27 +173,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytablefc361447 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefc361447/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A24%3A59.6594639Z''\"","PartitionKey":"pkfc361447","RowKey":"rkfc36144712","Timestamp":"2020-07-30T14:24:59.6594639Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefc361447/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A41.2454633Z''\"","PartitionKey":"pkfc361447","RowKey":"rkfc36144712","Timestamp":"2020-08-19T21:18:41.2454633Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:40 GMT etag: - - W/"datetime'2020-07-30T14%3A24%3A59.6594639Z'" + - W/"datetime'2020-08-19T21%3A18%3A41.2454633Z'" location: - https://storagename.table.core.windows.net/querytablefc361447(PartitionKey='pkfc361447',RowKey='rkfc36144712') server: @@ -217,27 +217,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) accept: - application/json;odata=nometadata x-ms-date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytablefc361447() response: body: - string: '{"value":[{"PartitionKey":"pkfc361447","RowKey":"rkfc3614471","Timestamp":"2020-07-30T14:24:59.5774073Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"PartitionKey":"pkfc361447","RowKey":"rkfc36144712","Timestamp":"2020-07-30T14:24:59.6594639Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"value":[{"PartitionKey":"pkfc361447","RowKey":"rkfc3614471","Timestamp":"2020-08-19T21:18:41.1614034Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"PartitionKey":"pkfc361447","RowKey":"rkfc36144712","Timestamp":"2020-08-19T21:18:41.2454633Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=nometadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:40 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -261,11 +261,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -279,7 +279,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:40 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -301,11 +301,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -319,7 +319,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:24:58 GMT + - Wed, 19 Aug 2020 21:18:40 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_filter.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_filter.yaml index 41550d407e7f..1bb27684bb89 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_filter.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_filter.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:41 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:41 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:41 GMT location: - https://storagename.table.core.windows.net/Tables('uttablefce8146b') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:41 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:41 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablefce8146b response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefce8146b/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A00.3672487Z''\"","PartitionKey":"pkfce8146b","RowKey":"rkfce8146b","Timestamp":"2020-07-30T14:25:00.3672487Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefce8146b/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A42.1061061Z''\"","PartitionKey":"pkfce8146b","RowKey":"rkfce8146b","Timestamp":"2020-08-19T21:18:42.1061061Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:41 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A00.3672487Z'" + - W/"datetime'2020-08-19T21%3A18%3A42.1061061Z'" location: - https://storagename.table.core.windows.net/uttablefce8146b(PartitionKey='pkfce8146b',RowKey='rkfce8146b') server: @@ -115,25 +115,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablefce8146b() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefce8146b","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A00.3672487Z''\"","PartitionKey":"pkfce8146b","RowKey":"rkfce8146b","Timestamp":"2020-07-30T14:25:00.3672487Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefce8146b","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A42.1061061Z''\"","PartitionKey":"pkfce8146b","RowKey":"rkfce8146b","Timestamp":"2020-08-19T21:18:42.1061061Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:24:59 GMT + - Wed, 19 Aug 2020 21:18:41 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -157,11 +157,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -175,7 +175,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:41 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_select.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_select.yaml index dd49e745767a..436ddc6f3ba6 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_select.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_select.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:42 GMT location: - https://storagename.table.core.windows.net/Tables('uttablefcf31465') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:42 GMT location: - https://storagename.table.core.windows.net/Tables('querytablefcf31465') server: @@ -117,27 +117,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:42 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytablefcf31465 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefcf31465/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A01.0987797Z''\"","PartitionKey":"pkfcf31465","RowKey":"rkfcf314651","Timestamp":"2020-07-30T14:25:01.0987797Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefcf31465/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A42.8737385Z''\"","PartitionKey":"pkfcf31465","RowKey":"rkfcf314651","Timestamp":"2020-08-19T21:18:42.8737385Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:42 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A01.0987797Z'" + - W/"datetime'2020-08-19T21%3A18%3A42.8737385Z'" location: - https://storagename.table.core.windows.net/querytablefcf31465(PartitionKey='pkfcf31465',RowKey='rkfcf314651') server: @@ -173,27 +173,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:42 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytablefcf31465 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefcf31465/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A01.1808356Z''\"","PartitionKey":"pkfcf31465","RowKey":"rkfcf3146512","Timestamp":"2020-07-30T14:25:01.1808356Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefcf31465/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A42.9678071Z''\"","PartitionKey":"pkfcf31465","RowKey":"rkfcf3146512","Timestamp":"2020-08-19T21:18:42.9678071Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:42 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A01.1808356Z'" + - W/"datetime'2020-08-19T21%3A18%3A42.9678071Z'" location: - https://storagename.table.core.windows.net/querytablefcf31465(PartitionKey='pkfcf31465',RowKey='rkfcf3146512') server: @@ -219,25 +219,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:42 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytablefcf31465()?$select=age%2C%20sex response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefcf31465&$select=age,%20sex","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A01.0987797Z''\"","age@odata.type":"Edm.Int64","age":"39","sex":"male"},{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A01.1808356Z''\"","age@odata.type":"Edm.Int64","age":"39","sex":"male"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablefcf31465&$select=age,%20sex","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A42.8737385Z''\"","age@odata.type":"Edm.Int64","age":"39","sex":"male"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A42.9678071Z''\"","age@odata.type":"Edm.Int64","age":"39","sex":"male"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:42 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -261,11 +261,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -279,7 +279,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -301,11 +301,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -319,7 +319,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_top.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_top.yaml index 40d595f1f4e9..ee0bd58feed0 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_top.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_top.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:42 GMT location: - https://storagename.table.core.windows.net/Tables('uttablec12a1338') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:00 GMT + - Wed, 19 Aug 2020 21:18:42 GMT location: - https://storagename.table.core.windows.net/Tables('querytablec12a1338') server: @@ -117,27 +117,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytablec12a1338 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablec12a1338/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A01.9958858Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a13381","Timestamp":"2020-07-30T14:25:01.9958858Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablec12a1338/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A43.8267494Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a13381","Timestamp":"2020-08-19T21:18:43.8267494Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:42 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A01.9958858Z'" + - W/"datetime'2020-08-19T21%3A18%3A43.8267494Z'" location: - https://storagename.table.core.windows.net/querytablec12a1338(PartitionKey='pkc12a1338',RowKey='rkc12a13381') server: @@ -173,27 +173,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:43 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:43 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytablec12a1338 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablec12a1338/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A02.078943Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a133812","Timestamp":"2020-07-30T14:25:02.078943Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablec12a1338/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A43.9088067Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a133812","Timestamp":"2020-08-19T21:18:43.9088067Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:43 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A02.078943Z'" + - W/"datetime'2020-08-19T21%3A18%3A43.9088067Z'" location: - https://storagename.table.core.windows.net/querytablec12a1338(PartitionKey='pkc12a1338',RowKey='rkc12a133812') server: @@ -229,27 +229,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:43 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:43 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytablec12a1338 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablec12a1338/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A02.1620006Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a1338123","Timestamp":"2020-07-30T14:25:02.1620006Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablec12a1338/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A43.9908645Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a1338123","Timestamp":"2020-08-19T21:18:43.9908645Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:43 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A02.1620006Z'" + - W/"datetime'2020-08-19T21%3A18%3A43.9908645Z'" location: - https://storagename.table.core.windows.net/querytablec12a1338(PartitionKey='pkc12a1338',RowKey='rkc12a1338123') server: @@ -275,25 +275,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:43 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:43 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytablec12a1338()?$top=2 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablec12a1338","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A01.9958858Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a13381","Timestamp":"2020-07-30T14:25:01.9958858Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A02.078943Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a133812","Timestamp":"2020-07-30T14:25:02.078943Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytablec12a1338","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A43.8267494Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a13381","Timestamp":"2020-08-19T21:18:43.8267494Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A43.9088067Z''\"","PartitionKey":"pkc12a1338","RowKey":"rkc12a133812","Timestamp":"2020-08-19T21:18:43.9088067Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:43 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -321,11 +321,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -339,7 +339,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:43 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -361,11 +361,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -379,7 +379,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:01 GMT + - Wed, 19 Aug 2020 21:18:43 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_top_and_next.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_top_and_next.yaml index 80a534233671..fe6839416662 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_top_and_next.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_entities_with_top_and_next.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT location: - https://storagename.table.core.windows.net/Tables('uttable801016e8') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT location: - https://storagename.table.core.windows.net/Tables('querytable801016e8') server: @@ -117,27 +117,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable801016e8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.0268879Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e81","Timestamp":"2020-07-30T14:25:03.0268879Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A44.8005697Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e81","Timestamp":"2020-08-19T21:18:44.8005697Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:43 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A03.0268879Z'" + - W/"datetime'2020-08-19T21%3A18%3A44.8005697Z'" location: - https://storagename.table.core.windows.net/querytable801016e8(PartitionKey='pk801016e8',RowKey='rk801016e81') server: @@ -173,27 +173,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:44 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:44 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable801016e8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.1149487Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e812","Timestamp":"2020-07-30T14:25:03.1149487Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A44.8946363Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e812","Timestamp":"2020-08-19T21:18:44.8946363Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:44 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A03.1149487Z'" + - W/"datetime'2020-08-19T21%3A18%3A44.8946363Z'" location: - https://storagename.table.core.windows.net/querytable801016e8(PartitionKey='pk801016e8',RowKey='rk801016e812') server: @@ -229,27 +229,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:44 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:44 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable801016e8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.2050103Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e8123","Timestamp":"2020-07-30T14:25:03.2050103Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A44.9857005Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e8123","Timestamp":"2020-08-19T21:18:44.9857005Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:02 GMT + - Wed, 19 Aug 2020 21:18:44 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A03.2050103Z'" + - W/"datetime'2020-08-19T21%3A18%3A44.9857005Z'" location: - https://storagename.table.core.windows.net/querytable801016e8(PartitionKey='pk801016e8',RowKey='rk801016e8123') server: @@ -285,27 +285,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:44 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:44 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable801016e8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.2880679Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e81234","Timestamp":"2020-07-30T14:25:03.2880679Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A45.0767642Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e81234","Timestamp":"2020-08-19T21:18:45.0767642Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A03.2880679Z'" + - W/"datetime'2020-08-19T21%3A18%3A45.0767642Z'" location: - https://storagename.table.core.windows.net/querytable801016e8(PartitionKey='pk801016e8',RowKey='rk801016e81234') server: @@ -341,27 +341,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable801016e8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.37713Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e812345","Timestamp":"2020-07-30T14:25:03.37713Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A45.1678287Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e812345","Timestamp":"2020-08-19T21:18:45.1678287Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A03.37713Z'" + - W/"datetime'2020-08-19T21%3A18%3A45.1678287Z'" location: - https://storagename.table.core.windows.net/querytable801016e8(PartitionKey='pk801016e8',RowKey='rk801016e812345') server: @@ -387,25 +387,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable801016e8()?$top=2 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.0268879Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e81","Timestamp":"2020-07-30T14:25:03.0268879Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.1149487Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e812","Timestamp":"2020-07-30T14:25:03.1149487Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A44.8005697Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e81","Timestamp":"2020-08-19T21:18:44.8005697Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A44.8946363Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e812","Timestamp":"2020-08-19T21:18:44.8946363Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -433,25 +433,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable801016e8()?$top=2&NextPartitionKey=1%2116%21cGs4MDEwMTZlOA--&NextRowKey=1%2120%21cms4MDEwMTZlODEyMw-- response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.2050103Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e8123","Timestamp":"2020-07-30T14:25:03.2050103Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.2880679Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e81234","Timestamp":"2020-07-30T14:25:03.2880679Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A44.9857005Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e8123","Timestamp":"2020-08-19T21:18:44.9857005Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A45.0767642Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e81234","Timestamp":"2020-08-19T21:18:45.0767642Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -479,25 +479,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable801016e8()?$top=2&NextPartitionKey=1%2116%21cGs4MDEwMTZlOA--&NextRowKey=1%2120%21cms4MDEwMTZlODEyMzQ1 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A03.37713Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e812345","Timestamp":"2020-07-30T14:25:03.37713Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable801016e8","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A45.1678287Z''\"","PartitionKey":"pk801016e8","RowKey":"rk801016e812345","Timestamp":"2020-08-19T21:18:45.1678287Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -521,11 +521,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -539,7 +539,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -561,11 +561,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -579,7 +579,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:44 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_user_filter.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_user_filter.yaml index fbdc0cb13d7f..bd2c087d45be 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_user_filter.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_user_filter.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:45 GMT location: - https://storagename.table.core.windows.net/Tables('uttable546210aa') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable546210aa response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable546210aa/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A04.3123943Z''\"","PartitionKey":"pk546210aa","RowKey":"rk546210aa","Timestamp":"2020-07-30T14:25:04.3123943Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable546210aa/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A46.1712617Z''\"","PartitionKey":"pk546210aa","RowKey":"rk546210aa","Timestamp":"2020-08-19T21:18:46.1712617Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:46 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A04.3123943Z'" + - W/"datetime'2020-08-19T21%3A18%3A46.1712617Z'" location: - https://storagename.table.core.windows.net/uttable546210aa(PartitionKey='pk546210aa',RowKey='rk546210aa') server: @@ -115,11 +115,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -133,7 +133,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:03 GMT + - Wed, 19 Aug 2020 21:18:46 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_zero_entities.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_zero_entities.yaml index df02d5f78c5e..1956c418e05c 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_zero_entities.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_query_zero_entities.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT location: - https://storagename.table.core.windows.net/Tables('uttable7732118a') server: @@ -63,11 +63,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT x-ms-version: - '2019-07-07' method: POST @@ -81,7 +81,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT location: - https://storagename.table.core.windows.net/Tables('querytable7732118a') server: @@ -107,11 +107,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT x-ms-version: - '2019-07-07' method: GET @@ -125,7 +125,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:45 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -149,11 +149,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:46 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:46 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -167,7 +167,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:46 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -189,11 +189,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:46 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:46 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -207,7 +207,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:46 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add.yaml index 27f94ab56ad1..28cdb6d706e5 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:46 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:46 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:04 GMT + - Wed, 19 Aug 2020 21:18:47 GMT location: - https://storagename.table.core.windows.net/Tables('uttablebfd90c40') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:47 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:47 GMT x-ms-version: - '2019-07-07' method: POST - uri: https://storagename.table.core.windows.net/uttablebfd90c40?st=2020-07-30T14%3A24%3A06Z&se=2020-07-30T15%3A25%3A06Z&sp=a&sv=2019-07-07&tn=uttablebfd90c40&sig=fXD4tI6Ue%2BNF%2F90e81hMVWjUVL7IJ4zZi0oKy4DRJkg%3D + uri: https://storagename.table.core.windows.net/uttablebfd90c40?st=2020-08-19T21%3A17%3A47Z&se=2020-08-19T22%3A18%3A47Z&sp=a&sv=2019-07-07&tn=uttablebfd90c40&sig=fBDtqfm%2Bb2mDloQ5qtdWA8Nrwjd4o1IOTE4y9mEpvTg%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablebfd90c40/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A05.9288095Z''\"","PartitionKey":"pkbfd90c40","RowKey":"rkbfd90c40","Timestamp":"2020-07-30T14:25:05.9288095Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablebfd90c40/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A47.6836246Z''\"","PartitionKey":"pkbfd90c40","RowKey":"rkbfd90c40","Timestamp":"2020-08-19T21:18:47.6836246Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:46 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A05.9288095Z'" + - W/"datetime'2020-08-19T21%3A18%3A47.6836246Z'" location: - https://storagename.table.core.windows.net/uttablebfd90c40(PartitionKey='pkbfd90c40',RowKey='rkbfd90c40') server: @@ -115,27 +115,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:47 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:47 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablebfd90c40(PartitionKey='pkbfd90c40',RowKey='rkbfd90c40') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablebfd90c40/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A05.9288095Z''\"","PartitionKey":"pkbfd90c40","RowKey":"rkbfd90c40","Timestamp":"2020-07-30T14:25:05.9288095Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablebfd90c40/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A47.6836246Z''\"","PartitionKey":"pkbfd90c40","RowKey":"rkbfd90c40","Timestamp":"2020-08-19T21:18:47.6836246Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:47 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A05.9288095Z'" + - W/"datetime'2020-08-19T21%3A18%3A47.6836246Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -159,11 +159,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:47 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:47 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -177,7 +177,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:47 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add_inside_range.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add_inside_range.yaml index 7a83eed91406..195e65027ebb 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add_inside_range.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add_inside_range.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:47 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:47 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:05 GMT + - Wed, 19 Aug 2020 21:18:48 GMT location: - https://storagename.table.core.windows.net/Tables('uttable84281187') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:48 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:48 GMT x-ms-version: - '2019-07-07' method: POST - uri: https://storagename.table.core.windows.net/uttable84281187?se=2020-07-30T15%3A25%3A07Z&sp=a&sv=2019-07-07&tn=uttable84281187&spk=test&srk=test1&epk=test&erk=test1&sig=S2LAuFVQfomgXS986%2B%2FHTujEcgJd9vd1gsNXXHKC4yc%3D + uri: https://storagename.table.core.windows.net/uttable84281187?se=2020-08-19T22%3A18%3A48Z&sp=a&sv=2019-07-07&tn=uttable84281187&spk=test&srk=test1&epk=test&erk=test1&sig=AjA3Q4V%2FVzy9yoBMFxJLKQFAdtWQL0WG3r1BMiRr1P4%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable84281187/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A06.8043504Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-07-30T14:25:06.8043504Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable84281187/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A48.5720327Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-08-19T21:18:48.5720327Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:47 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A06.8043504Z'" + - W/"datetime'2020-08-19T21%3A18%3A48.5720327Z'" location: - https://storagename.table.core.windows.net/uttable84281187(PartitionKey='test',RowKey='test1') server: @@ -115,27 +115,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:48 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:48 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable84281187(PartitionKey='test',RowKey='test1') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable84281187/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A06.8043504Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-07-30T14:25:06.8043504Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable84281187/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A48.5720327Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-08-19T21:18:48.5720327Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:48 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A06.8043504Z'" + - W/"datetime'2020-08-19T21%3A18%3A48.5720327Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -159,11 +159,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:48 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:48 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -177,7 +177,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:48 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add_outside_range.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add_outside_range.yaml index 2156c8f4bdc9..3b8115c33b2d 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add_outside_range.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_add_outside_range.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:48 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:48 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:49 GMT location: - https://storagename.table.core.windows.net/Tables('uttable973c1208') server: @@ -69,26 +69,26 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:49 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:49 GMT x-ms-version: - '2019-07-07' method: POST - uri: https://storagename.table.core.windows.net/uttable973c1208?se=2020-07-30T15%3A25%3A08Z&sp=a&sv=2019-07-07&tn=uttable973c1208&spk=test&srk=test1&epk=test&erk=test1&sig=F%2FW5DJ9FV2uXi1DUTqRdhnMLoPz%2FYCWId2%2Fsh6icCrY%3D + uri: https://storagename.table.core.windows.net/uttable973c1208?se=2020-08-19T22%3A18%3A49Z&sp=a&sv=2019-07-07&tn=uttable973c1208&spk=test&srk=test1&epk=test&erk=test1&sig=DJ71QuE%2Bjd9GMfiH3HSVm71%2FwDcmmAl%2BP20j700GHFQ%3D response: body: string: '{"odata.error":{"code":"AuthorizationFailure","message":{"lang":"en-US","value":"This - request is not authorized to perform this operation.\nRequestId:56758a81-e002-0025-787d-66314a000000\nTime:2020-07-30T14:25:07.6660493Z"}}}' + request is not authorized to perform this operation.\nRequestId:c0a79acb-6002-00bf-496e-762515000000\nTime:2020-08-19T21:18:49.4901129Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:49 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -112,11 +112,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:49 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:49 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -130,7 +130,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:06 GMT + - Wed, 19 Aug 2020 21:18:49 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_delete.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_delete.yaml index 17a4f55d50e1..4e72f65144a6 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_delete.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_delete.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:49 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:49 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:49 GMT location: - https://storagename.table.core.windows.net/Tables('uttablee74c0d8a') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:49 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:49 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablee74c0d8a response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee74c0d8a/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A08.1834177Z''\"","PartitionKey":"pke74c0d8a","RowKey":"rke74c0d8a","Timestamp":"2020-07-30T14:25:08.1834177Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee74c0d8a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A50.0217884Z''\"","PartitionKey":"pke74c0d8a","RowKey":"rke74c0d8a","Timestamp":"2020-08-19T21:18:50.0217884Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:07 GMT + - Wed, 19 Aug 2020 21:18:49 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A08.1834177Z'" + - W/"datetime'2020-08-19T21%3A18%3A50.0217884Z'" location: - https://storagename.table.core.windows.net/uttablee74c0d8a(PartitionKey='pke74c0d8a',RowKey='rke74c0d8a') server: @@ -117,17 +117,17 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:49 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:49 GMT x-ms-version: - '2019-07-07' method: DELETE - uri: https://storagename.table.core.windows.net/uttablee74c0d8a(PartitionKey='pke74c0d8a',RowKey='rke74c0d8a')?se=2020-07-30T15%3A25%3A09Z&sp=d&sv=2019-07-07&tn=uttablee74c0d8a&sig=yWEPg2BaMpgc%2FTwPzDc4OZ7X5Fz3RXfBqmRoDk9Ua6w%3D + uri: https://storagename.table.core.windows.net/uttablee74c0d8a(PartitionKey='pke74c0d8a',RowKey='rke74c0d8a')?se=2020-08-19T22%3A18%3A49Z&sp=d&sv=2019-07-07&tn=uttablee74c0d8a&sig=bQBYsSk0kLZJ5ufNAfg3pKoYWdRoxBMPeGGl3eYyXMo%3D response: body: string: '' @@ -137,7 +137,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:49 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -159,11 +159,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:50 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:50 GMT x-ms-version: - '2019-07-07' method: GET @@ -171,14 +171,14 @@ interactions: response: body: string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:cdb8df15-4002-004e-4a7d-666c1c000000\nTime:2020-07-30T14:25:08.6067193Z"}}}' + specified resource does not exist.\nRequestId:dae4327b-b002-00db-1c6e-7695b5000000\nTime:2020-08-19T21:18:50.4961284Z"}}}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:49 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -202,11 +202,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:50 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:50 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -220,7 +220,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:50 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_query.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_query.yaml index b30f1b3d21da..7f247bcca107 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_query.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_query.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:50 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:50 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:50 GMT location: - https://storagename.table.core.windows.net/Tables('uttableda4d0d4d') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:50 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:50 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttableda4d0d4d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableda4d0d4d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A09.1350748Z''\"","PartitionKey":"pkda4d0d4d","RowKey":"rkda4d0d4d","Timestamp":"2020-07-30T14:25:09.1350748Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableda4d0d4d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A51.0300539Z''\"","PartitionKey":"pkda4d0d4d","RowKey":"rkda4d0d4d","Timestamp":"2020-08-19T21:18:51.0300539Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:50 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A09.1350748Z'" + - W/"datetime'2020-08-19T21%3A18%3A51.0300539Z'" location: - https://storagename.table.core.windows.net/uttableda4d0d4d(PartitionKey='pkda4d0d4d',RowKey='rkda4d0d4d') server: @@ -115,25 +115,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:50 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:50 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/uttableda4d0d4d()?st=2020-07-30T14%3A24%3A10Z&se=2020-07-30T15%3A25%3A10Z&sp=r&sv=2019-07-07&tn=uttableda4d0d4d&sig=bQ%2B%2B8KMyjEm7PxTOx86odItfh9AXPrCfS%2FmgY6r617o%3D + uri: https://storagename.table.core.windows.net/uttableda4d0d4d()?st=2020-08-19T21%3A17%3A50Z&se=2020-08-19T22%3A18%3A50Z&sp=r&sv=2019-07-07&tn=uttableda4d0d4d&sig=41f%2BeCq%2FiQgtWkQ8RBAyJgfEiTOY7jpMWW81AWJdEDA%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableda4d0d4d","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A09.1350748Z''\"","PartitionKey":"pkda4d0d4d","RowKey":"rkda4d0d4d","Timestamp":"2020-07-30T14:25:09.1350748Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableda4d0d4d","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A51.0300539Z''\"","PartitionKey":"pkda4d0d4d","RowKey":"rkda4d0d4d","Timestamp":"2020-08-19T21:18:51.0300539Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:51 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -157,11 +157,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:51 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:51 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -175,7 +175,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:08 GMT + - Wed, 19 Aug 2020 21:18:51 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_signed_identifier.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_signed_identifier.yaml index f8ed3b5f4489..ecaefb23c0d3 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_signed_identifier.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_signed_identifier.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:51 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:51 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:51 GMT location: - https://storagename.table.core.windows.net/Tables('uttable979d1213') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:51 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:51 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable979d1213 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable979d1213/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A10.0244191Z''\"","PartitionKey":"pk979d1213","RowKey":"rk979d1213","Timestamp":"2020-07-30T14:25:10.0244191Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable979d1213/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A52.0115299Z''\"","PartitionKey":"pk979d1213","RowKey":"rk979d1213","Timestamp":"2020-08-19T21:18:52.0115299Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:51 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A10.0244191Z'" + - W/"datetime'2020-08-19T21%3A18%3A52.0115299Z'" location: - https://storagename.table.core.windows.net/uttable979d1213(PartitionKey='pk979d1213',RowKey='rk979d1213') server: @@ -119,11 +119,11 @@ interactions: Content-Type: - application/xml Date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:51 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:51 GMT x-ms-version: - '2019-07-07' method: PUT @@ -135,7 +135,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:51 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -155,25 +155,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/uttable979d1213()?sv=2019-07-07&si=testid&tn=uttable979d1213&sig=s6voo8dUkMGlXXy3%2FS%2BbgXhkjKFiLpJ%2B%2Fq2QspO6%2BHM%3D + uri: https://storagename.table.core.windows.net/uttable979d1213()?sv=2019-07-07&si=testid&tn=uttable979d1213&sig=AtRzG2QgjQk0eqavLNNnlhCSDrAsEXA8%2BHi0%2FvVazi8%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable979d1213","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A10.0244191Z''\"","PartitionKey":"pk979d1213","RowKey":"rk979d1213","Timestamp":"2020-07-30T14:25:10.0244191Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable979d1213","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A52.0115299Z''\"","PartitionKey":"pk979d1213","RowKey":"rk979d1213","Timestamp":"2020-08-19T21:18:52.0115299Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:52 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -197,11 +197,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -215,7 +215,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:51 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_update.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_update.yaml index e8914f67f1cf..91be389f4af0 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_update.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_update.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:09 GMT + - Wed, 19 Aug 2020 21:18:52 GMT location: - https://storagename.table.core.windows.net/Tables('uttablee7bd0d9a') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablee7bd0d9a response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7bd0d9a/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A11.0242053Z''\"","PartitionKey":"pke7bd0d9a","RowKey":"rke7bd0d9a","Timestamp":"2020-07-30T14:25:11.0242053Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7bd0d9a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A52.9560828Z''\"","PartitionKey":"pke7bd0d9a","RowKey":"rke7bd0d9a","Timestamp":"2020-08-19T21:18:52.9560828Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:52 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A11.0242053Z'" + - W/"datetime'2020-08-19T21%3A18%3A52.9560828Z'" location: - https://storagename.table.core.windows.net/uttablee7bd0d9a(PartitionKey='pke7bd0d9a',RowKey='rke7bd0d9a') server: @@ -121,17 +121,17 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:52 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:52 GMT x-ms-version: - '2019-07-07' method: PUT - uri: https://storagename.table.core.windows.net/uttablee7bd0d9a(PartitionKey='pke7bd0d9a',RowKey='rke7bd0d9a')?se=2020-07-30T15%3A25%3A12Z&sp=u&sv=2019-07-07&tn=uttablee7bd0d9a&sig=Pu2Z4pva64F7RmLbcF3imXIGa16lfySNc%2Fgg7h2Kfxk%3D + uri: https://storagename.table.core.windows.net/uttablee7bd0d9a(PartitionKey='pke7bd0d9a',RowKey='rke7bd0d9a')?se=2020-08-19T22%3A18%3A52Z&sp=u&sv=2019-07-07&tn=uttablee7bd0d9a&sig=MoAXNf7JCHxscBGKNcMmdFS7WwOohazHhkahurM4yxk%3D response: body: string: '' @@ -141,9 +141,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:52 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A11.3945698Z'" + - W/"datetime'2020-08-19T21%3A18%3A53.2989301Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -165,27 +165,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablee7bd0d9a(PartitionKey='pke7bd0d9a',RowKey='rke7bd0d9a') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7bd0d9a/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A11.3945698Z''\"","PartitionKey":"pke7bd0d9a","RowKey":"rke7bd0d9a","Timestamp":"2020-07-30T14:25:11.3945698Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7bd0d9a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A53.2989301Z''\"","PartitionKey":"pke7bd0d9a","RowKey":"rke7bd0d9a","Timestamp":"2020-08-19T21:18:53.2989301Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:53 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A11.3945698Z'" + - W/"datetime'2020-08-19T21%3A18%3A53.2989301Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -209,11 +209,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -227,7 +227,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:10 GMT + - Wed, 19 Aug 2020 21:18:53 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_upper_case_table_name.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_upper_case_table_name.yaml index 0b3676aac171..37bc8ea5b25a 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_upper_case_table_name.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_sas_upper_case_table_name.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:53 GMT location: - https://storagename.table.core.windows.net/Tables('uttablee48713a5') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:53 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:53 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablee48713a5 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee48713a5/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A12.0637078Z''\"","PartitionKey":"pke48713a5","RowKey":"rke48713a5","Timestamp":"2020-07-30T14:25:12.0637078Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee48713a5/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A53.9400197Z''\"","PartitionKey":"pke48713a5","RowKey":"rke48713a5","Timestamp":"2020-08-19T21:18:53.9400197Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:11 GMT + - Wed, 19 Aug 2020 21:18:53 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A12.0637078Z'" + - W/"datetime'2020-08-19T21%3A18%3A53.9400197Z'" location: - https://storagename.table.core.windows.net/uttablee48713a5(PartitionKey='pke48713a5',RowKey='rke48713a5') server: @@ -115,25 +115,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:53 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:53 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/uttablee48713a5()?st=2020-07-30T14%3A24%3A13Z&se=2020-07-30T15%3A25%3A13Z&sp=r&sv=2019-07-07&tn=UTTABLEE48713A5&sig=c55VGZIwHLTfBkqqVOl8pyJj%2BlAOJfxp3O5Znm4typg%3D + uri: https://storagename.table.core.windows.net/uttablee48713a5()?st=2020-08-19T21%3A17%3A53Z&se=2020-08-19T22%3A18%3A53Z&sp=r&sv=2019-07-07&tn=UTTABLEE48713A5&sig=IlND9c9Db9QQTrjkrHlCWS%2BmVG%2BigVHV9SQKGCaA9Us%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee48713a5","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A12.0637078Z''\"","PartitionKey":"pke48713a5","RowKey":"rke48713a5","Timestamp":"2020-07-30T14:25:12.0637078Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee48713a5","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A53.9400197Z''\"","PartitionKey":"pke48713a5","RowKey":"rke48713a5","Timestamp":"2020-08-19T21:18:53.9400197Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -157,11 +157,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:54 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:54 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -175,7 +175,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_unicode_property_name.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_unicode_property_name.yaml index 44416b07b555..2248c73c41f7 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_unicode_property_name.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_unicode_property_name.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:54 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:54 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT location: - https://storagename.table.core.windows.net/Tables('uttable9990123c') server: @@ -64,27 +64,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:54 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:54 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable9990123c response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable9990123c/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A12.9807488Z''\"","PartitionKey":"pk9990123c","RowKey":"rk9990123c","Timestamp":"2020-07-30T14:25:12.9807488Z","\u554a\u9f44\u4e02\u72db\u72dc":"\ua015"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable9990123c/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A54.8818706Z''\"","PartitionKey":"pk9990123c","RowKey":"rk9990123c","Timestamp":"2020-08-19T21:18:54.8818706Z","\u554a\u9f44\u4e02\u72db\u72dc":"\ua015"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:53 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A12.9807488Z'" + - W/"datetime'2020-08-19T21%3A18%3A54.8818706Z'" location: - https://storagename.table.core.windows.net/uttable9990123c(PartitionKey='pk9990123c',RowKey='rk9990123c') server: @@ -115,27 +115,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:54 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:54 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable9990123c response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable9990123c/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A13.0678085Z''\"","PartitionKey":"pk9990123c","RowKey":"test2","Timestamp":"2020-07-30T14:25:13.0678085Z","\u554a\u9f44\u4e02\u72db\u72dc":"hello"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable9990123c/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A54.9699327Z''\"","PartitionKey":"pk9990123c","RowKey":"test2","Timestamp":"2020-08-19T21:18:54.9699327Z","\u554a\u9f44\u4e02\u72db\u72dc":"hello"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:54 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A13.0678085Z'" + - W/"datetime'2020-08-19T21%3A18%3A54.9699327Z'" location: - https://storagename.table.core.windows.net/uttable9990123c(PartitionKey='pk9990123c',RowKey='test2') server: @@ -161,25 +161,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:54 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:54 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable9990123c() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable9990123c","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A12.9807488Z''\"","PartitionKey":"pk9990123c","RowKey":"rk9990123c","Timestamp":"2020-07-30T14:25:12.9807488Z","\u554a\u9f44\u4e02\u72db\u72dc":"\ua015"},{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A13.0678085Z''\"","PartitionKey":"pk9990123c","RowKey":"test2","Timestamp":"2020-07-30T14:25:13.0678085Z","\u554a\u9f44\u4e02\u72db\u72dc":"hello"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable9990123c","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A54.8818706Z''\"","PartitionKey":"pk9990123c","RowKey":"rk9990123c","Timestamp":"2020-08-19T21:18:54.8818706Z","\u554a\u9f44\u4e02\u72db\u72dc":"\ua015"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A54.9699327Z''\"","PartitionKey":"pk9990123c","RowKey":"test2","Timestamp":"2020-08-19T21:18:54.9699327Z","\u554a\u9f44\u4e02\u72db\u72dc":"hello"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:54 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -203,11 +203,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -221,7 +221,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:54 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_unicode_property_value.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_unicode_property_value.yaml index 77aaaf12be36..1aab03e0fb8f 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_unicode_property_value.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_unicode_property_value.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:12 GMT + - Wed, 19 Aug 2020 21:18:55 GMT location: - https://storagename.table.core.windows.net/Tables('uttableac7612b8') server: @@ -63,27 +63,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttableac7612b8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableac7612b8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A13.7006244Z''\"","PartitionKey":"pkac7612b8","RowKey":"rkac7612b8","Timestamp":"2020-07-30T14:25:13.7006244Z","Description":"\ua015"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableac7612b8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A55.67363Z''\"","PartitionKey":"pkac7612b8","RowKey":"rkac7612b8","Timestamp":"2020-08-19T21:18:55.67363Z","Description":"\ua015"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A13.7006244Z'" + - W/"datetime'2020-08-19T21%3A18%3A55.67363Z'" location: - https://storagename.table.core.windows.net/uttableac7612b8(PartitionKey='pkac7612b8',RowKey='rkac7612b8') server: @@ -113,27 +113,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttableac7612b8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableac7612b8/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A13.7896884Z''\"","PartitionKey":"pkac7612b8","RowKey":"test2","Timestamp":"2020-07-30T14:25:13.7896884Z","Description":"\ua015"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableac7612b8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A55.7636949Z''\"","PartitionKey":"pkac7612b8","RowKey":"test2","Timestamp":"2020-08-19T21:18:55.7636949Z","Description":"\ua015"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A13.7896884Z'" + - W/"datetime'2020-08-19T21%3A18%3A55.7636949Z'" location: - https://storagename.table.core.windows.net/uttableac7612b8(PartitionKey='pkac7612b8',RowKey='test2') server: @@ -159,25 +159,25 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttableac7612b8() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableac7612b8","value":[{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A13.7006244Z''\"","PartitionKey":"pkac7612b8","RowKey":"rkac7612b8","Timestamp":"2020-07-30T14:25:13.7006244Z","Description":"\ua015"},{"odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A13.7896884Z''\"","PartitionKey":"pkac7612b8","RowKey":"test2","Timestamp":"2020-07-30T14:25:13.7896884Z","Description":"\ua015"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableac7612b8","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A55.67363Z''\"","PartitionKey":"pkac7612b8","RowKey":"rkac7612b8","Timestamp":"2020-08-19T21:18:55.67363Z","Description":"\ua015"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A55.7636949Z''\"","PartitionKey":"pkac7612b8","RowKey":"test2","Timestamp":"2020-08-19T21:18:55.7636949Z","Description":"\ua015"}]}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -201,11 +201,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:55 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -219,7 +219,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity.yaml index 6707b72ce817..0b66dfadbb76 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:55 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:55 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT location: - https://storagename.table.core.windows.net/Tables('uttable13250ef0') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable13250ef0 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable13250ef0/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A14.4293512Z''\"","PartitionKey":"pk13250ef0","RowKey":"rk13250ef0","Timestamp":"2020-07-30T14:25:14.4293512Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable13250ef0/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A56.4226655Z''\"","PartitionKey":"pk13250ef0","RowKey":"rk13250ef0","Timestamp":"2020-08-19T21:18:56.4226655Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A14.4293512Z'" + - W/"datetime'2020-08-19T21%3A18%3A56.4226655Z'" location: - https://storagename.table.core.windows.net/uttable13250ef0(PartitionKey='pk13250ef0',RowKey='rk13250ef0') server: @@ -121,13 +121,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT x-ms-version: - '2019-07-07' method: PUT @@ -141,9 +141,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A14.5137747Z'" + - W/"datetime'2020-08-19T21%3A18%3A56.5072262Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -165,27 +165,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable13250ef0(PartitionKey='pk13250ef0',RowKey='rk13250ef0') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable13250ef0/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A14.5137747Z''\"","PartitionKey":"pk13250ef0","RowKey":"rk13250ef0","Timestamp":"2020-07-30T14:25:14.5137747Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable13250ef0/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A56.5072262Z''\"","PartitionKey":"pk13250ef0","RowKey":"rk13250ef0","Timestamp":"2020-08-19T21:18:56.5072262Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A14.5137747Z'" + - W/"datetime'2020-08-19T21%3A18%3A56.5072262Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -209,11 +209,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -227,7 +227,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:13 GMT + - Wed, 19 Aug 2020 21:18:55 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_not_existing.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_not_existing.yaml index d20af7e259fd..48d4ad74df79 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_not_existing.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_not_existing.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:56 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:56 GMT location: - https://storagename.table.core.windows.net/Tables('uttablefb67146a') server: @@ -65,13 +65,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:56 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:56 GMT x-ms-version: - '2019-07-07' method: PUT @@ -81,16 +81,16 @@ interactions: string: 'ResourceNotFoundThe specified resource does not exist. - RequestId:dfb6a408-a002-0029-6c7d-66dfbb000000 + RequestId:2a2a10af-7002-00ab-436e-76e671000000 - Time:2020-07-30T14:25:15.2185782Z' + Time:2020-08-19T21:18:57.1249036Z' headers: cache-control: - no-cache content-type: - application/xml;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:56 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -114,11 +114,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -132,7 +132,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:14 GMT + - Wed, 19 Aug 2020 21:18:56 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_with_if_doesnt_match.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_with_if_doesnt_match.yaml index cd52d96f8b89..07fd8b5825ee 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_with_if_doesnt_match.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_with_if_doesnt_match.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:57 GMT location: - https://storagename.table.core.windows.net/Tables('uttableabcb1791') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttableabcb1791 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableabcb1791/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A15.8403997Z''\"","PartitionKey":"pkabcb1791","RowKey":"rkabcb1791","Timestamp":"2020-07-30T14:25:15.8403997Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableabcb1791/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A57.8601352Z''\"","PartitionKey":"pkabcb1791","RowKey":"rkabcb1791","Timestamp":"2020-08-19T21:18:57.8601352Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:57 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A15.8403997Z'" + - W/"datetime'2020-08-19T21%3A18%3A57.8601352Z'" location: - https://storagename.table.core.windows.net/uttableabcb1791(PartitionKey='pkabcb1791',RowKey='rkabcb1791') server: @@ -121,13 +121,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT If-Match: - W/"datetime'2012-06-15T22%3A51%3A44.9662825Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -137,16 +137,16 @@ interactions: string: 'UpdateConditionNotSatisfiedThe update condition specified in the request was not satisfied. - RequestId:7e044957-8002-003e-677d-661fd8000000 + RequestId:cd6e1d0e-9002-00c7-666e-764da2000000 - Time:2020-07-30T14:25:15.9364680Z' + Time:2020-08-19T21:18:57.9582058Z' headers: cache-control: - no-cache content-type: - application/xml;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:57 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -170,11 +170,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:16 GMT + - Wed, 19 Aug 2020 21:18:57 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -188,7 +188,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:57 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_with_if_matches.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_with_if_matches.yaml index 8fcdd010bada..3e5b4d4d5f97 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_with_if_matches.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity.test_update_entity_with_if_matches.yaml @@ -15,11 +15,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT x-ms-version: - '2019-07-07' method: POST @@ -33,7 +33,7 @@ interactions: content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:57 GMT location: - https://storagename.table.core.windows.net/Tables('uttable39e2157d') server: @@ -69,27 +69,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable39e2157d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable39e2157d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A16.4963252Z''\"","PartitionKey":"pk39e2157d","RowKey":"rk39e2157d","Timestamp":"2020-07-30T14:25:16.4963252Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable39e2157d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A58.5187369Z''\"","PartitionKey":"pk39e2157d","RowKey":"rk39e2157d","Timestamp":"2020-08-19T21:18:58.5187369Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:57 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A16.4963252Z'" + - W/"datetime'2020-08-19T21%3A18%3A58.5187369Z'" location: - https://storagename.table.core.windows.net/uttable39e2157d(PartitionKey='pk39e2157d',RowKey='rk39e2157d') server: @@ -121,13 +121,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT If-Match: - - W/"datetime'2020-07-30T14%3A25%3A16.4963252Z'" + - W/"datetime'2020-08-19T21%3A18%3A58.5187369Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT x-ms-version: - '2019-07-07' method: PUT @@ -141,9 +141,9 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:57 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A16.5932449Z'" + - W/"datetime'2020-08-19T21%3A18%3A58.6027262Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: @@ -165,27 +165,27 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable39e2157d(PartitionKey='pk39e2157d',RowKey='rk39e2157d') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable39e2157d/@Element","odata.etag":"W/\"datetime''2020-07-30T14%3A25%3A16.5932449Z''\"","PartitionKey":"pk39e2157d","RowKey":"rk39e2157d","Timestamp":"2020-07-30T14:25:16.5932449Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable39e2157d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A58.6027262Z''\"","PartitionKey":"pk39e2157d","RowKey":"rk39e2157d","Timestamp":"2020-08-19T21:18:58.6027262Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: - no-cache content-type: - application/json;odata=minimalmetadata;streaming=true;charset=utf-8 date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:57 GMT etag: - - W/"datetime'2020-07-30T14%3A25%3A16.5932449Z'" + - W/"datetime'2020-08-19T21%3A18%3A58.6027262Z'" server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -209,11 +209,11 @@ interactions: Content-Length: - '0' Date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 14:25:17 GMT + - Wed, 19 Aug 2020 21:18:58 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -227,7 +227,7 @@ interactions: content-length: - '0' date: - - Thu, 30 Jul 2020 14:25:15 GMT + - Wed, 19 Aug 2020 21:18:58 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_binary_property_value.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_binary_property_value.yaml index a904f4e50dc3..577edf1276f0 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_binary_property_value.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_binary_property_value.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:08 GMT + - Wed, 19 Aug 2020 21:18:58 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:08 GMT + - Wed, 19 Aug 2020 21:18:58 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:07 GMT + date: Wed, 19 Aug 2020 21:18:58 GMT location: https://storagename.table.core.windows.net/Tables('uttable10a914d3') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk10a914d3", "RowKey": "rk10a914d3", "binary": "AQIDBAUGBwgJCg==", "binary@odata.type": "Edm.Binary"}' @@ -49,23 +49,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:08 GMT + - Wed, 19 Aug 2020 21:18:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:08 GMT + - Wed, 19 Aug 2020 21:18:59 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable10a914d3 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable10a914d3/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A07.5921964Z''\"","PartitionKey":"pk10a914d3","RowKey":"rk10a914d3","Timestamp":"2020-07-30T13:33:07.5921964Z","binary@odata.type":"Edm.Binary","binary":"AQIDBAUGBwgJCg=="}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable10a914d3/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A59.2405279Z''\"","PartitionKey":"pk10a914d3","RowKey":"rk10a914d3","Timestamp":"2020-08-19T21:18:59.2405279Z","binary@odata.type":"Edm.Binary","binary":"AQIDBAUGBwgJCg=="}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:07 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A07.5921964Z'" + date: Wed, 19 Aug 2020 21:18:58 GMT + etag: W/"datetime'2020-08-19T21%3A18%3A59.2405279Z'" location: https://storagename.table.core.windows.net/uttable10a914d3(PartitionKey='pk10a914d3',RowKey='rk10a914d3') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -74,7 +74,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable10a914d3 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable10a914d3 - request: body: null headers: @@ -83,23 +83,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:08 GMT + - Wed, 19 Aug 2020 21:18:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:08 GMT + - Wed, 19 Aug 2020 21:18:59 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable10a914d3(PartitionKey='pk10a914d3',RowKey='rk10a914d3') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable10a914d3/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A07.5921964Z''\"","PartitionKey":"pk10a914d3","RowKey":"rk10a914d3","Timestamp":"2020-07-30T13:33:07.5921964Z","binary@odata.type":"Edm.Binary","binary":"AQIDBAUGBwgJCg=="}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable10a914d3/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A59.2405279Z''\"","PartitionKey":"pk10a914d3","RowKey":"rk10a914d3","Timestamp":"2020-08-19T21:18:59.2405279Z","binary@odata.type":"Edm.Binary","binary":"AQIDBAUGBwgJCg=="}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:07 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A07.5921964Z'" + date: Wed, 19 Aug 2020 21:18:58 GMT + etag: W/"datetime'2020-08-19T21%3A18%3A59.2405279Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -107,16 +107,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable10a914d3(PartitionKey='pk10a914d3',RowKey='rk10a914d3') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable10a914d3(PartitionKey='pk10a914d3',RowKey='rk10a914d3') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -127,12 +127,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:07 GMT + date: Wed, 19 Aug 2020 21:18:59 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable10a914d3') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable10a914d3') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity.yaml index 723ce487482f..e572c4d5c569 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:08 GMT + date: Wed, 19 Aug 2020 21:18:58 GMT location: https://storagename.table.core.windows.net/Tables('uttable74f8115d') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk74f8115d", "RowKey": "rk74f8115d", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable74f8115d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable74f8115d/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A08.4768117Z''\"","PartitionKey":"pk74f8115d","RowKey":"rk74f8115d","Timestamp":"2020-07-30T13:33:08.4768117Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable74f8115d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A18%3A59.8039679Z''\"","PartitionKey":"pk74f8115d","RowKey":"rk74f8115d","Timestamp":"2020-08-19T21:18:59.8039679Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:08 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A08.4768117Z'" + date: Wed, 19 Aug 2020 21:18:58 GMT + etag: W/"datetime'2020-08-19T21%3A18%3A59.8039679Z'" location: https://storagename.table.core.windows.net/uttable74f8115d(PartitionKey='pk74f8115d',RowKey='rk74f8115d') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,20 +79,20 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable74f8115d + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable74f8115d - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -103,14 +103,14 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:08 GMT + date: Wed, 19 Aug 2020 21:18:58 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable74f8115d(PartitionKey='pk74f8115d',RowKey='rk74f8115d') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable74f8115d(PartitionKey='pk74f8115d',RowKey='rk74f8115d') - request: body: null headers: @@ -119,11 +119,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT x-ms-version: - '2019-07-07' method: GET @@ -131,11 +131,11 @@ interactions: response: body: string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:60a46c4d-d002-0020-1175-6666c6000000\nTime:2020-07-30T13:33:08.6499351Z"}}}' + specified resource does not exist.\nRequestId:cf1fd1bd-1002-00bb-7d6e-76d097000000\nTime:2020-08-19T21:18:59.9710851Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:08 GMT + date: Wed, 19 Aug 2020 21:18:58 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -143,16 +143,16 @@ interactions: status: code: 404 message: Not Found - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable74f8115d(PartitionKey='pk74f8115d',RowKey='rk74f8115d') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable74f8115d(PartitionKey='pk74f8115d',RowKey='rk74f8115d') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:18:59 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -163,12 +163,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:08 GMT + date: Wed, 19 Aug 2020 21:18:59 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable74f8115d') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable74f8115d') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_not_existing.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_not_existing.yaml index b7653b5883db..915b27498e2d 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_not_existing.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_not_existing.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:19:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:09 GMT + - Wed, 19 Aug 2020 21:19:00 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:08 GMT + date: Wed, 19 Aug 2020 21:19:00 GMT location: https://storagename.table.core.windows.net/Tables('uttable7cd216d7') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,20 +35,20 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:00 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:00 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -58,13 +58,13 @@ interactions: string: 'ResourceNotFoundThe specified resource does not exist. - RequestId:c2880782-2002-001c-6b75-66d21d000000 + RequestId:b864ccea-7002-0023-636e-765ea8000000 - Time:2020-07-30T13:33:09.1571934Z' + Time:2020-08-19T21:19:00.5363483Z' headers: cache-control: no-cache content-type: application/xml;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:08 GMT + date: Wed, 19 Aug 2020 21:19:00 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -72,16 +72,16 @@ interactions: status: code: 404 message: Not Found - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable7cd216d7(PartitionKey='pk7cd216d7',RowKey='rk7cd216d7') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable7cd216d7(PartitionKey='pk7cd216d7',RowKey='rk7cd216d7') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:00 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -92,12 +92,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:08 GMT + date: Wed, 19 Aug 2020 21:19:00 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable7cd216d7') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable7cd216d7') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_with_if_doesnt_match.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_with_if_doesnt_match.yaml index d4d913a0c1d9..6c709884668b 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_with_if_doesnt_match.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_with_if_doesnt_match.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:00 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:09 GMT + date: Wed, 19 Aug 2020 21:19:00 GMT location: https://storagename.table.core.windows.net/Tables('uttable409e19fe') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk409e19fe", "RowKey": "rk409e19fe", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:00 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:00 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable409e19fe response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable409e19fe/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A09.6372886Z''\"","PartitionKey":"pk409e19fe","RowKey":"rk409e19fe","Timestamp":"2020-07-30T13:33:09.6372886Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable409e19fe/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A01.0837273Z''\"","PartitionKey":"pk409e19fe","RowKey":"rk409e19fe","Timestamp":"2020-08-19T21:19:01.0837273Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:09 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A09.6372886Z'" + date: Wed, 19 Aug 2020 21:19:00 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A01.0837273Z'" location: https://storagename.table.core.windows.net/uttable409e19fe(PartitionKey='pk409e19fe',RowKey='rk409e19fe') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,20 +79,20 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable409e19fe + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable409e19fe - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:01 GMT If-Match: - W/"datetime'2012-06-15T22%3A51%3A44.9662825Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:01 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -102,13 +102,13 @@ interactions: string: 'UpdateConditionNotSatisfiedThe update condition specified in the request was not satisfied. - RequestId:76b253b9-0002-006d-0775-66a024000000 + RequestId:727d9b2f-5002-0052-616e-762c91000000 - Time:2020-07-30T13:33:09.7123389Z' + Time:2020-08-19T21:19:01.1677865Z' headers: cache-control: no-cache content-type: application/xml;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:09 GMT + date: Wed, 19 Aug 2020 21:19:00 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -116,16 +116,16 @@ interactions: status: code: 412 message: Precondition Failed - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable409e19fe(PartitionKey='pk409e19fe',RowKey='rk409e19fe') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable409e19fe(PartitionKey='pk409e19fe',RowKey='rk409e19fe') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:01 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:01 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -136,12 +136,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:09 GMT + date: Wed, 19 Aug 2020 21:19:00 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable409e19fe') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable409e19fe') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_with_if_matches.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_with_if_matches.yaml index 31afb48c7ea5..73cf6fa9425f 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_with_if_matches.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_delete_entity_with_if_matches.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:01 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:10 GMT + - Wed, 19 Aug 2020 21:19:01 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:09 GMT + date: Wed, 19 Aug 2020 21:19:01 GMT location: https://storagename.table.core.windows.net/Tables('uttablec28517ea') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkc28517ea", "RowKey": "rkc28517ea", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:01 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:01 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablec28517ea response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec28517ea/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A10.2016072Z''\"","PartitionKey":"pkc28517ea","RowKey":"rkc28517ea","Timestamp":"2020-07-30T13:33:10.2016072Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec28517ea/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A02.0314895Z''\"","PartitionKey":"pkc28517ea","RowKey":"rkc28517ea","Timestamp":"2020-08-19T21:19:02.0314895Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:09 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A10.2016072Z'" + date: Wed, 19 Aug 2020 21:19:01 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A02.0314895Z'" location: https://storagename.table.core.windows.net/uttablec28517ea(PartitionKey='pkc28517ea',RowKey='rkc28517ea') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,20 +79,20 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablec28517ea + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablec28517ea - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:01 GMT If-Match: - - W/"datetime'2020-07-30T13%3A33%3A10.2016072Z'" + - W/"datetime'2020-08-19T21%3A19%3A02.0314895Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:01 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -103,14 +103,14 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:09 GMT + date: Wed, 19 Aug 2020 21:19:01 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablec28517ea(PartitionKey='pkc28517ea',RowKey='rkc28517ea') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablec28517ea(PartitionKey='pkc28517ea',RowKey='rkc28517ea') - request: body: null headers: @@ -119,11 +119,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT x-ms-version: - '2019-07-07' method: GET @@ -131,11 +131,11 @@ interactions: response: body: string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:90187323-e002-0023-6275-6665c1000000\nTime:2020-07-30T13:33:10.3637214Z"}}}' + specified resource does not exist.\nRequestId:b1d295dd-9002-006d-4d6e-769b4d000000\nTime:2020-08-19T21:19:02.1916032Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:09 GMT + date: Wed, 19 Aug 2020 21:19:01 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -143,16 +143,16 @@ interactions: status: code: 404 message: Not Found - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablec28517ea(PartitionKey='pkc28517ea',RowKey='rkc28517ea') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablec28517ea(PartitionKey='pkc28517ea',RowKey='rkc28517ea') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -163,12 +163,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:10 GMT + date: Wed, 19 Aug 2020 21:19:01 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablec28517ea') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablec28517ea') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_empty_and_spaces_property_value.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_empty_and_spaces_property_value.yaml index dee2b6066079..28054ebcc39d 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_empty_and_spaces_property_value.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_empty_and_spaces_property_value.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:10 GMT + date: Wed, 19 Aug 2020 21:19:01 GMT location: https://storagename.table.core.windows.net/Tables('uttablef58f18ed') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkf58f18ed", "RowKey": "rkf58f18ed", "EmptyByte": "", "EmptyUnicode": "", "SpacesOnlyByte": " ", "SpacesOnlyUnicode": " ", "SpacesBeforeByte": @@ -52,23 +52,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablef58f18ed response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef58f18ed/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A10.8499402Z''\"","PartitionKey":"pkf58f18ed","RowKey":"rkf58f18ed","Timestamp":"2020-07-30T13:33:10.8499402Z","EmptyByte":"","EmptyUnicode":"","SpacesOnlyByte":" ","SpacesOnlyUnicode":" ","SpacesBeforeByte":" Text","SpacesBeforeUnicode":" Text","SpacesAfterByte":"Text ","SpacesAfterUnicode":"Text ","SpacesBeforeAndAfterByte":" Text ","SpacesBeforeAndAfterUnicode":" Text "}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef58f18ed/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A02.7040988Z''\"","PartitionKey":"pkf58f18ed","RowKey":"rkf58f18ed","Timestamp":"2020-08-19T21:19:02.7040988Z","EmptyByte":"","EmptyUnicode":"","SpacesOnlyByte":" ","SpacesOnlyUnicode":" ","SpacesBeforeByte":" Text","SpacesBeforeUnicode":" Text","SpacesAfterByte":"Text ","SpacesAfterUnicode":"Text ","SpacesBeforeAndAfterByte":" Text ","SpacesBeforeAndAfterUnicode":" Text "}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:10 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A10.8499402Z'" + date: Wed, 19 Aug 2020 21:19:01 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A02.7040988Z'" location: https://storagename.table.core.windows.net/uttablef58f18ed(PartitionKey='pkf58f18ed',RowKey='rkf58f18ed') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -77,7 +77,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablef58f18ed + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablef58f18ed - request: body: null headers: @@ -86,23 +86,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablef58f18ed(PartitionKey='pkf58f18ed',RowKey='rkf58f18ed') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef58f18ed/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A10.8499402Z''\"","PartitionKey":"pkf58f18ed","RowKey":"rkf58f18ed","Timestamp":"2020-07-30T13:33:10.8499402Z","EmptyByte":"","EmptyUnicode":"","SpacesOnlyByte":" ","SpacesOnlyUnicode":" ","SpacesBeforeByte":" Text","SpacesBeforeUnicode":" Text","SpacesAfterByte":"Text ","SpacesAfterUnicode":"Text ","SpacesBeforeAndAfterByte":" Text ","SpacesBeforeAndAfterUnicode":" Text "}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef58f18ed/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A02.7040988Z''\"","PartitionKey":"pkf58f18ed","RowKey":"rkf58f18ed","Timestamp":"2020-08-19T21:19:02.7040988Z","EmptyByte":"","EmptyUnicode":"","SpacesOnlyByte":" ","SpacesOnlyUnicode":" ","SpacesBeforeByte":" Text","SpacesBeforeUnicode":" Text","SpacesAfterByte":"Text ","SpacesAfterUnicode":"Text ","SpacesBeforeAndAfterByte":" Text ","SpacesBeforeAndAfterUnicode":" Text "}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:10 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A10.8499402Z'" + date: Wed, 19 Aug 2020 21:19:02 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A02.7040988Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -110,16 +110,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablef58f18ed(PartitionKey='pkf58f18ed',RowKey='rkf58f18ed') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablef58f18ed(PartitionKey='pkf58f18ed',RowKey='rkf58f18ed') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:11 GMT + - Wed, 19 Aug 2020 21:19:02 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -130,12 +130,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:10 GMT + date: Wed, 19 Aug 2020 21:19:02 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablef58f18ed') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablef58f18ed') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity.yaml index 23ff699e1ce5..3d07d1f21663 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:02 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:02 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT + date: Wed, 19 Aug 2020 21:19:02 GMT location: https://storagename.table.core.windows.net/Tables('uttable42bf102a') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk42bf102a", "RowKey": "rk42bf102a", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable42bf102a response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42bf102a/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A11.4231078Z''\"","PartitionKey":"pk42bf102a","RowKey":"rk42bf102a","Timestamp":"2020-07-30T13:33:11.4231078Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42bf102a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A03.2864094Z''\"","PartitionKey":"pk42bf102a","RowKey":"rk42bf102a","Timestamp":"2020-08-19T21:19:03.2864094Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A11.4231078Z'" + date: Wed, 19 Aug 2020 21:19:02 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A03.2864094Z'" location: https://storagename.table.core.windows.net/uttable42bf102a(PartitionKey='pk42bf102a',RowKey='rk42bf102a') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42bf102a + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42bf102a - request: body: null headers: @@ -88,23 +88,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable42bf102a(PartitionKey='pk42bf102a',RowKey='rk42bf102a') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42bf102a/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A11.4231078Z''\"","PartitionKey":"pk42bf102a","RowKey":"rk42bf102a","Timestamp":"2020-07-30T13:33:11.4231078Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42bf102a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A03.2864094Z''\"","PartitionKey":"pk42bf102a","RowKey":"rk42bf102a","Timestamp":"2020-08-19T21:19:03.2864094Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A11.4231078Z'" + date: Wed, 19 Aug 2020 21:19:02 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A03.2864094Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -112,16 +112,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42bf102a(PartitionKey='pk42bf102a',RowKey='rk42bf102a') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42bf102a(PartitionKey='pk42bf102a',RowKey='rk42bf102a') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -132,12 +132,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:11 GMT + date: Wed, 19 Aug 2020 21:19:02 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable42bf102a') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable42bf102a') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_full_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_full_metadata.yaml index d559f65c235e..e9eb2e23d2fc 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_full_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_full_metadata.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT + date: Wed, 19 Aug 2020 21:19:03 GMT location: https://storagename.table.core.windows.net/Tables('uttable4fed15dc') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk4fed15dc", "RowKey": "rk4fed15dc", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:12 GMT + - Wed, 19 Aug 2020 21:19:03 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable4fed15dc response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable4fed15dc/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A11.996063Z''\"","PartitionKey":"pk4fed15dc","RowKey":"rk4fed15dc","Timestamp":"2020-07-30T13:33:11.996063Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable4fed15dc/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A03.8874262Z''\"","PartitionKey":"pk4fed15dc","RowKey":"rk4fed15dc","Timestamp":"2020-08-19T21:19:03.8874262Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A11.996063Z'" + date: Wed, 19 Aug 2020 21:19:03 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A03.8874262Z'" location: https://storagename.table.core.windows.net/uttable4fed15dc(PartitionKey='pk4fed15dc',RowKey='rk4fed15dc') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,32 +79,32 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable4fed15dc + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable4fed15dc - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) accept: - application/json;odata=fullmetadata x-ms-date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:03 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable4fed15dc(PartitionKey='pk4fed15dc',RowKey='rk4fed15dc') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable4fed15dc/@Element","odata.type":"storagename.uttable4fed15dc","odata.id":"https://storagename.table.core.windows.net/uttable4fed15dc(PartitionKey=''pk4fed15dc'',RowKey=''rk4fed15dc'')","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A11.996063Z''\"","odata.editLink":"uttable4fed15dc(PartitionKey=''pk4fed15dc'',RowKey=''rk4fed15dc'')","PartitionKey":"pk4fed15dc","RowKey":"rk4fed15dc","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-07-30T13:33:11.996063Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable4fed15dc/@Element","odata.type":"storagename.uttable4fed15dc","odata.id":"https://storagename.table.core.windows.net/uttable4fed15dc(PartitionKey=''pk4fed15dc'',RowKey=''rk4fed15dc'')","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A03.8874262Z''\"","odata.editLink":"uttable4fed15dc(PartitionKey=''pk4fed15dc'',RowKey=''rk4fed15dc'')","PartitionKey":"pk4fed15dc","RowKey":"rk4fed15dc","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-08-19T21:19:03.8874262Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=fullmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A11.996063Z'" + date: Wed, 19 Aug 2020 21:19:03 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A03.8874262Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -112,16 +112,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable4fed15dc(PartitionKey='pk4fed15dc',RowKey='rk4fed15dc') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable4fed15dc(PartitionKey='pk4fed15dc',RowKey='rk4fed15dc') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:03 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:03 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -132,12 +132,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:11 GMT + date: Wed, 19 Aug 2020 21:19:03 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable4fed15dc') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable4fed15dc') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_if_match.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_if_match.yaml index 1c6e7e62b85b..82b1093b63bf 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_if_match.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_if_match.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT + date: Wed, 19 Aug 2020 21:19:03 GMT location: https://storagename.table.core.windows.net/Tables('uttablee60b13c4') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pke60b13c4", "RowKey": "rke60b13c4", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablee60b13c4 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee60b13c4/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A12.5681839Z''\"","PartitionKey":"pke60b13c4","RowKey":"rke60b13c4","Timestamp":"2020-07-30T13:33:12.5681839Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee60b13c4/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A04.4616912Z''\"","PartitionKey":"pke60b13c4","RowKey":"rke60b13c4","Timestamp":"2020-08-19T21:19:04.4616912Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A12.5681839Z'" + date: Wed, 19 Aug 2020 21:19:03 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A04.4616912Z'" location: https://storagename.table.core.windows.net/uttablee60b13c4(PartitionKey='pke60b13c4',RowKey='rke60b13c4') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablee60b13c4 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablee60b13c4 - request: body: null headers: @@ -88,23 +88,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablee60b13c4(PartitionKey='pke60b13c4',RowKey='rke60b13c4') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee60b13c4/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A12.5681839Z''\"","PartitionKey":"pke60b13c4","RowKey":"rke60b13c4","Timestamp":"2020-07-30T13:33:12.5681839Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee60b13c4/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A04.4616912Z''\"","PartitionKey":"pke60b13c4","RowKey":"rke60b13c4","Timestamp":"2020-08-19T21:19:04.4616912Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:11 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A12.5681839Z'" + date: Wed, 19 Aug 2020 21:19:03 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A04.4616912Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -112,20 +112,20 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablee60b13c4(PartitionKey='pke60b13c4',RowKey='rke60b13c4') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablee60b13c4(PartitionKey='pke60b13c4',RowKey='rke60b13c4') - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT If-Match: - - W/"datetime'2020-07-30T13%3A33%3A12.5681839Z'" + - W/"datetime'2020-08-19T21%3A19%3A04.4616912Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -136,23 +136,23 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:11 GMT + date: Wed, 19 Aug 2020 21:19:03 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablee60b13c4(PartitionKey='pke60b13c4',RowKey='rke60b13c4') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablee60b13c4(PartitionKey='pke60b13c4',RowKey='rke60b13c4') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -163,12 +163,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:11 GMT + date: Wed, 19 Aug 2020 21:19:03 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablee60b13c4') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablee60b13c4') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_no_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_no_metadata.yaml index 00b4d7e7ee0b..01ff33a7d428 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_no_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_no_metadata.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:13 GMT + - Wed, 19 Aug 2020 21:19:04 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:12 GMT + date: Wed, 19 Aug 2020 21:19:04 GMT location: https://storagename.table.core.windows.net/Tables('uttable24651506') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk24651506", "RowKey": "rk24651506", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable24651506 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable24651506/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A13.2354777Z''\"","PartitionKey":"pk24651506","RowKey":"rk24651506","Timestamp":"2020-07-30T13:33:13.2354777Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable24651506/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A05.1350663Z''\"","PartitionKey":"pk24651506","RowKey":"rk24651506","Timestamp":"2020-08-19T21:19:05.1350663Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:12 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A13.2354777Z'" + date: Wed, 19 Aug 2020 21:19:04 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A05.1350663Z'" location: https://storagename.table.core.windows.net/uttable24651506(PartitionKey='pk24651506',RowKey='rk24651506') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,32 +79,32 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable24651506 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable24651506 - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) accept: - application/json;odata=nometadata x-ms-date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable24651506(PartitionKey='pk24651506',RowKey='rk24651506') response: body: - string: '{"PartitionKey":"pk24651506","RowKey":"rk24651506","Timestamp":"2020-07-30T13:33:13.2354777Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"PartitionKey":"pk24651506","RowKey":"rk24651506","Timestamp":"2020-08-19T21:19:05.1350663Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=nometadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:12 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A13.2354777Z'" + date: Wed, 19 Aug 2020 21:19:04 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A05.1350663Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -112,16 +112,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable24651506(PartitionKey='pk24651506',RowKey='rk24651506') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable24651506(PartitionKey='pk24651506',RowKey='rk24651506') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -132,12 +132,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:12 GMT + date: Wed, 19 Aug 2020 21:19:04 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable24651506') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable24651506') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_not_existing.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_not_existing.yaml index 562d270636ff..e54ea1566c65 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_not_existing.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_not_existing.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:12 GMT + date: Wed, 19 Aug 2020 21:19:04 GMT location: https://storagename.table.core.windows.net/Tables('uttable3b0215a4') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: @@ -44,11 +44,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT x-ms-version: - '2019-07-07' method: GET @@ -56,11 +56,11 @@ interactions: response: body: string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:a97c0a5d-b002-0030-6775-665020000000\nTime:2020-07-30T13:33:13.8058709Z"}}}' + specified resource does not exist.\nRequestId:de26c2d2-7002-012c-346e-76f50b000000\nTime:2020-08-19T21:19:05.7232216Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:13 GMT + date: Wed, 19 Aug 2020 21:19:05 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -68,16 +68,16 @@ interactions: status: code: 404 message: Not Found - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable3b0215a4(PartitionKey='pk3b0215a4',RowKey='rk3b0215a4') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable3b0215a4(PartitionKey='pk3b0215a4',RowKey='rk3b0215a4') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -88,12 +88,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:13 GMT + date: Wed, 19 Aug 2020 21:19:05 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable3b0215a4') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable3b0215a4') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_with_hook.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_with_hook.yaml index 064b00c78381..3d265ba94401 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_with_hook.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_with_hook.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:14 GMT + - Wed, 19 Aug 2020 21:19:05 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:13 GMT + date: Wed, 19 Aug 2020 21:19:05 GMT location: https://storagename.table.core.windows.net/Tables('uttablefb3d1455') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkfb3d1455", "RowKey": "rkfb3d1455", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablefb3d1455 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefb3d1455/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A14.2838561Z''\"","PartitionKey":"pkfb3d1455","RowKey":"rkfb3d1455","Timestamp":"2020-07-30T13:33:14.2838561Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefb3d1455/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A06.2174246Z''\"","PartitionKey":"pkfb3d1455","RowKey":"rkfb3d1455","Timestamp":"2020-08-19T21:19:06.2174246Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:13 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A14.2838561Z'" + date: Wed, 19 Aug 2020 21:19:05 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A06.2174246Z'" location: https://storagename.table.core.windows.net/uttablefb3d1455(PartitionKey='pkfb3d1455',RowKey='rkfb3d1455') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablefb3d1455 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablefb3d1455 - request: body: null headers: @@ -88,23 +88,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablefb3d1455(PartitionKey='pkfb3d1455',RowKey='rkfb3d1455') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefb3d1455/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A14.2838561Z''\"","PartitionKey":"pkfb3d1455","RowKey":"rkfb3d1455","Timestamp":"2020-07-30T13:33:14.2838561Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefb3d1455/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A06.2174246Z''\"","PartitionKey":"pkfb3d1455","RowKey":"rkfb3d1455","Timestamp":"2020-08-19T21:19:06.2174246Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:13 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A14.2838561Z'" + date: Wed, 19 Aug 2020 21:19:05 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A06.2174246Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -112,16 +112,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablefb3d1455(PartitionKey='pkfb3d1455',RowKey='rkfb3d1455') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablefb3d1455(PartitionKey='pkfb3d1455',RowKey='rkfb3d1455') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -132,12 +132,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:13 GMT + date: Wed, 19 Aug 2020 21:19:05 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablefb3d1455') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablefb3d1455') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_with_special_doubles.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_with_special_doubles.yaml index 89bfa2a0b07c..4662644d1d18 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_with_special_doubles.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_get_entity_with_special_doubles.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:14 GMT + date: Wed, 19 Aug 2020 21:19:05 GMT location: https://storagename.table.core.windows.net/Tables('uttablef57d18d2') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkf57d18d2", "RowKey": "rkf57d18d2", "inf": "Infinity", "inf@odata.type": "Edm.Double", "negativeinf": "-Infinity", "negativeinf@odata.type": @@ -50,23 +50,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablef57d18d2 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef57d18d2/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A14.8799464Z''\"","PartitionKey":"pkf57d18d2","RowKey":"rkf57d18d2","Timestamp":"2020-07-30T13:33:14.8799464Z","inf@odata.type":"Edm.Double","inf":"Infinity","negativeinf@odata.type":"Edm.Double","negativeinf":"-Infinity","nan@odata.type":"Edm.Double","nan":"NaN"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef57d18d2/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A06.7803523Z''\"","PartitionKey":"pkf57d18d2","RowKey":"rkf57d18d2","Timestamp":"2020-08-19T21:19:06.7803523Z","inf@odata.type":"Edm.Double","inf":"Infinity","negativeinf@odata.type":"Edm.Double","negativeinf":"-Infinity","nan@odata.type":"Edm.Double","nan":"NaN"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:14 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A14.8799464Z'" + date: Wed, 19 Aug 2020 21:19:05 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A06.7803523Z'" location: https://storagename.table.core.windows.net/uttablef57d18d2(PartitionKey='pkf57d18d2',RowKey='rkf57d18d2') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -75,7 +75,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablef57d18d2 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablef57d18d2 - request: body: null headers: @@ -84,23 +84,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:15 GMT + - Wed, 19 Aug 2020 21:19:06 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablef57d18d2(PartitionKey='pkf57d18d2',RowKey='rkf57d18d2') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef57d18d2/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A14.8799464Z''\"","PartitionKey":"pkf57d18d2","RowKey":"rkf57d18d2","Timestamp":"2020-07-30T13:33:14.8799464Z","inf@odata.type":"Edm.Double","inf":"Infinity","negativeinf@odata.type":"Edm.Double","negativeinf":"-Infinity","nan@odata.type":"Edm.Double","nan":"NaN"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef57d18d2/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A06.7803523Z''\"","PartitionKey":"pkf57d18d2","RowKey":"rkf57d18d2","Timestamp":"2020-08-19T21:19:06.7803523Z","inf@odata.type":"Edm.Double","inf":"Infinity","negativeinf@odata.type":"Edm.Double","negativeinf":"-Infinity","nan@odata.type":"Edm.Double","nan":"NaN"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:14 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A14.8799464Z'" + date: Wed, 19 Aug 2020 21:19:05 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A06.7803523Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -108,16 +108,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablef57d18d2(PartitionKey='pkf57d18d2',RowKey='rkf57d18d2') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablef57d18d2(PartitionKey='pkf57d18d2',RowKey='rkf57d18d2') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:06 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -128,12 +128,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:14 GMT + date: Wed, 19 Aug 2020 21:19:05 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablef57d18d2') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablef57d18d2') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_conflict.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_conflict.yaml index 1ab3026d9dc2..1476c07fe0a9 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_conflict.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_conflict.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:06 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:06 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:15 GMT + date: Wed, 19 Aug 2020 21:19:06 GMT location: https://storagename.table.core.windows.net/Tables('uttable260d1530') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk260d1530", "RowKey": "rk260d1530", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:07 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable260d1530 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable260d1530/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A15.4517171Z''\"","PartitionKey":"pk260d1530","RowKey":"rk260d1530","Timestamp":"2020-07-30T13:33:15.4517171Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable260d1530/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A07.4022722Z''\"","PartitionKey":"pk260d1530","RowKey":"rk260d1530","Timestamp":"2020-08-19T21:19:07.4022722Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:15 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A15.4517171Z'" + date: Wed, 19 Aug 2020 21:19:06 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A07.4022722Z'" location: https://storagename.table.core.windows.net/uttable260d1530(PartitionKey='pk260d1530',RowKey='rk260d1530') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable260d1530 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable260d1530 - request: body: '{"PartitionKey": "pk260d1530", "RowKey": "rk260d1530", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -98,11 +98,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:07 GMT x-ms-version: - '2019-07-07' method: POST @@ -110,11 +110,11 @@ interactions: response: body: string: '{"odata.error":{"code":"EntityAlreadyExists","message":{"lang":"en-US","value":"The - specified entity already exists.\nRequestId:5786b892-3002-0003-3875-66090d000000\nTime:2020-07-30T13:33:15.5347750Z"}}}' + specified entity already exists.\nRequestId:1df55fce-a002-0065-636e-76803e000000\nTime:2020-08-19T21:19:07.4803280Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:15 GMT + date: Wed, 19 Aug 2020 21:19:06 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -122,16 +122,16 @@ interactions: status: code: 409 message: Conflict - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable260d1530 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable260d1530 - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:07 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -142,12 +142,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:15 GMT + date: Wed, 19 Aug 2020 21:19:06 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable260d1530') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable260d1530') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_dictionary.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_dictionary.yaml index 6a44439fa684..802921986c78 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_dictionary.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_dictionary.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:16 GMT + - Wed, 19 Aug 2020 21:19:07 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:14 GMT + date: Wed, 19 Aug 2020 21:19:07 GMT location: https://storagename.table.core.windows.net/Tables('uttable51a71614') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk51a71614", "RowKey": "rk51a71614", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:07 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable51a71614 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable51a71614/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A16.0395768Z''\"","PartitionKey":"pk51a71614","RowKey":"rk51a71614","Timestamp":"2020-07-30T13:33:16.0395768Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable51a71614/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A08.0051517Z''\"","PartitionKey":"pk51a71614","RowKey":"rk51a71614","Timestamp":"2020-08-19T21:19:08.0051517Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:15 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A16.0395768Z'" + date: Wed, 19 Aug 2020 21:19:07 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A08.0051517Z'" location: https://storagename.table.core.windows.net/uttable51a71614(PartitionKey='pk51a71614',RowKey='rk51a71614') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,16 +79,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable51a71614 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable51a71614 - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:07 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:07 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -99,12 +99,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:15 GMT + date: Wed, 19 Aug 2020 21:19:07 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable51a71614') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable51a71614') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_empty_string_pk.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_empty_string_pk.yaml index 03513853ac48..6fd0316ae80b 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_empty_string_pk.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_empty_string_pk.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:08 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:15 GMT + date: Wed, 19 Aug 2020 21:19:08 GMT location: https://storagename.table.core.windows.net/Tables('uttablec79a183d') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"RowKey": "rk", "PartitionKey": ""}' headers: @@ -48,23 +48,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:08 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablec79a183d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec79a183d/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A16.5337845Z''\"","PartitionKey":"","RowKey":"rk","Timestamp":"2020-07-30T13:33:16.5337845Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec79a183d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A08.4966284Z''\"","PartitionKey":"","RowKey":"rk","Timestamp":"2020-08-19T21:19:08.4966284Z"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:15 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A16.5337845Z'" + date: Wed, 19 Aug 2020 21:19:08 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A08.4966284Z'" location: https://storagename.table.core.windows.net/uttablec79a183d(PartitionKey='',RowKey='rk') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -73,16 +73,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablec79a183d + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablec79a183d - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:08 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -93,12 +93,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:15 GMT + date: Wed, 19 Aug 2020 21:19:08 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablec79a183d') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablec79a183d') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_empty_string_rk.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_empty_string_rk.yaml index 6fa4f5a1f320..b407ed61ad91 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_empty_string_rk.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_empty_string_rk.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:17 GMT + - Wed, 19 Aug 2020 21:19:08 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:15 GMT + date: Wed, 19 Aug 2020 21:19:08 GMT location: https://storagename.table.core.windows.net/Tables('uttablec79e183f') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk", "RowKey": ""}' headers: @@ -48,23 +48,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:08 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablec79e183f response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec79e183f/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A17.0466104Z''\"","PartitionKey":"pk","RowKey":"","Timestamp":"2020-07-30T13:33:17.0466104Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec79e183f/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A08.972823Z''\"","PartitionKey":"pk","RowKey":"","Timestamp":"2020-08-19T21:19:08.972823Z"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:16 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A17.0466104Z'" + date: Wed, 19 Aug 2020 21:19:08 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A08.972823Z'" location: https://storagename.table.core.windows.net/uttablec79e183f(PartitionKey='pk',RowKey='') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -73,16 +73,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablec79e183f + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablec79e183f - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:08 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -93,12 +93,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:16 GMT + date: Wed, 19 Aug 2020 21:19:08 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablec79e183f') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablec79e183f') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_missing_pk.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_missing_pk.yaml index 7ea32dbb2b6b..fe7a33c6fbfa 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_missing_pk.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_missing_pk.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:09 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:17 GMT + date: Wed, 19 Aug 2020 21:19:08 GMT location: https://storagename.table.core.windows.net/Tables('uttable52411612') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,16 +35,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:09 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -55,12 +55,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:17 GMT + date: Wed, 19 Aug 2020 21:19:09 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable52411612') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable52411612') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_missing_rk.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_missing_rk.yaml index 5dcbe0d947a5..5184cbbf6c17 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_missing_rk.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_missing_rk.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:09 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:17 GMT + date: Wed, 19 Aug 2020 21:19:09 GMT location: https://storagename.table.core.windows.net/Tables('uttable52451614') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,16 +35,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:18 GMT + - Wed, 19 Aug 2020 21:19:09 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -55,12 +55,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:17 GMT + date: Wed, 19 Aug 2020 21:19:09 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable52451614') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable52451614') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_property_name_too_long.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_property_name_too_long.yaml index 8eb10a0aaabd..a322ea226143 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_property_name_too_long.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_property_name_too_long.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:09 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:09 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:18 GMT + date: Wed, 19 Aug 2020 21:19:09 GMT location: https://storagename.table.core.windows.net/Tables('uttable7d0b1b23') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk7d0b1b23", "RowKey": "rk7d0b1b23", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "badval"}' @@ -49,11 +49,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:10 GMT x-ms-version: - '2019-07-07' method: POST @@ -61,11 +61,11 @@ interactions: response: body: string: '{"odata.error":{"code":"PropertyNameTooLong","message":{"lang":"en-US","value":"The - property name exceeds the maximum allowed length (255).\nRequestId:a90cc38a-9002-002c-2675-668837000000\nTime:2020-07-30T13:33:18.4270043Z"}}}' + property name exceeds the maximum allowed length (255).\nRequestId:05a3da42-1002-00f4-3f6e-76148f000000\nTime:2020-08-19T21:19:10.3299054Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:18 GMT + date: Wed, 19 Aug 2020 21:19:09 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -73,16 +73,16 @@ interactions: status: code: 400 message: Bad Request - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable7d0b1b23 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable7d0b1b23 - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:10 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -93,12 +93,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:18 GMT + date: Wed, 19 Aug 2020 21:19:09 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable7d0b1b23') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable7d0b1b23') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_too_many_properties.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_too_many_properties.yaml index 2d562e0e26df..4da9e03a1c92 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_too_many_properties.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_too_many_properties.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:10 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:18 GMT + date: Wed, 19 Aug 2020 21:19:10 GMT location: https://storagename.table.core.windows.net/Tables('uttable2c5919f0') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk2c5919f0", "RowKey": "rk2c5919f0", "key0": "value0", "key1": "value1", "key2": "value2", "key3": "value3", "key4": "value4", "key5": @@ -117,11 +117,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:19 GMT + - Wed, 19 Aug 2020 21:19:10 GMT x-ms-version: - '2019-07-07' method: POST @@ -130,11 +130,11 @@ interactions: body: string: '{"odata.error":{"code":"TooManyProperties","message":{"lang":"en-US","value":"The entity contains more properties than allowed. Each entity can include up to - 252 properties to store data. Each entity also has 3 system properties.\nRequestId:ea5fadab-6002-0032-2a75-6652da000000\nTime:2020-07-30T13:33:18.9421142Z"}}}' + 252 properties to store data. Each entity also has 3 system properties.\nRequestId:3f0b6e40-8002-005b-7b6e-76361f000000\nTime:2020-08-19T21:19:10.8216364Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:18 GMT + date: Wed, 19 Aug 2020 21:19:10 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -142,16 +142,16 @@ interactions: status: code: 400 message: Bad Request - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable2c5919f0 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable2c5919f0 - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:10 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -162,12 +162,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:18 GMT + date: Wed, 19 Aug 2020 21:19:10 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable2c5919f0') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable2c5919f0') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_full_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_full_metadata.yaml index f2b0b22a505e..6a900349524a 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_full_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_full_metadata.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:10 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:19 GMT + date: Wed, 19 Aug 2020 21:19:10 GMT location: https://storagename.table.core.windows.net/Tables('uttable1172194c') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk1172194c", "RowKey": "rk1172194c", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:11 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:11 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable1172194c response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable1172194c/@Element","odata.type":"storagename.uttable1172194c","odata.id":"https://storagename.table.core.windows.net/uttable1172194c(PartitionKey=''pk1172194c'',RowKey=''rk1172194c'')","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A19.4416834Z''\"","odata.editLink":"uttable1172194c(PartitionKey=''pk1172194c'',RowKey=''rk1172194c'')","PartitionKey":"pk1172194c","RowKey":"rk1172194c","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-07-30T13:33:19.4416834Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable1172194c/@Element","odata.type":"storagename.uttable1172194c","odata.id":"https://storagename.table.core.windows.net/uttable1172194c(PartitionKey=''pk1172194c'',RowKey=''rk1172194c'')","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A11.4510291Z''\"","odata.editLink":"uttable1172194c(PartitionKey=''pk1172194c'',RowKey=''rk1172194c'')","PartitionKey":"pk1172194c","RowKey":"rk1172194c","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-08-19T21:19:11.4510291Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=fullmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:19 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A19.4416834Z'" + date: Wed, 19 Aug 2020 21:19:10 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A11.4510291Z'" location: https://storagename.table.core.windows.net/uttable1172194c(PartitionKey='pk1172194c',RowKey='rk1172194c') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,16 +79,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable1172194c + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable1172194c - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:11 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:11 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -99,12 +99,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:19 GMT + date: Wed, 19 Aug 2020 21:19:11 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable1172194c') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable1172194c') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_hook.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_hook.yaml index 379da267200c..9a4fedfb47e3 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_hook.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_hook.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:11 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:11 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:19 GMT + date: Wed, 19 Aug 2020 21:19:11 GMT location: https://storagename.table.core.windows.net/Tables('uttable3c3715aa') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk3c3715aa", "RowKey": "rk3c3715aa", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:11 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:20 GMT + - Wed, 19 Aug 2020 21:19:11 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable3c3715aa response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3c3715aa/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A19.9370096Z''\"","PartitionKey":"pk3c3715aa","RowKey":"rk3c3715aa","Timestamp":"2020-07-30T13:33:19.9370096Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable3c3715aa/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A12.042887Z''\"","PartitionKey":"pk3c3715aa","RowKey":"rk3c3715aa","Timestamp":"2020-08-19T21:19:12.042887Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:19 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A19.9370096Z'" + date: Wed, 19 Aug 2020 21:19:11 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A12.042887Z'" location: https://storagename.table.core.windows.net/uttable3c3715aa(PartitionKey='pk3c3715aa',RowKey='rk3c3715aa') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,16 +79,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable3c3715aa + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable3c3715aa - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -99,12 +99,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:19 GMT + date: Wed, 19 Aug 2020 21:19:11 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable3c3715aa') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable3c3715aa') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_large_int32_value_throws.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_large_int32_value_throws.yaml index 1589d29c968a..7a7f090baca7 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_large_int32_value_throws.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_large_int32_value_throws.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:19 GMT + date: Wed, 19 Aug 2020 21:19:11 GMT location: https://storagename.table.core.windows.net/Tables('uttable3d151d95') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,16 +35,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -55,12 +55,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:20 GMT + date: Wed, 19 Aug 2020 21:19:11 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable3d151d95') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable3d151d95') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_large_int64_value_throws.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_large_int64_value_throws.yaml index 06958c4d088a..15429834a438 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_large_int64_value_throws.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_large_int64_value_throws.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:20 GMT + date: Wed, 19 Aug 2020 21:19:12 GMT location: https://storagename.table.core.windows.net/Tables('uttable3d5e1d9a') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,16 +35,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -55,12 +55,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:20 GMT + date: Wed, 19 Aug 2020 21:19:12 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable3d5e1d9a') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable3d5e1d9a') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_no_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_no_metadata.yaml index 19a5e6b24ba0..c7673be841ed 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_no_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_entity_with_no_metadata.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:21 GMT + - Wed, 19 Aug 2020 21:19:12 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:20 GMT + date: Wed, 19 Aug 2020 21:19:12 GMT location: https://storagename.table.core.windows.net/Tables('uttabledefb1876') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkdefb1876", "RowKey": "rkdefb1876", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttabledefb1876 response: body: - string: '{"PartitionKey":"pkdefb1876","RowKey":"rkdefb1876","Timestamp":"2020-07-30T13:33:21.239417Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"PartitionKey":"pkdefb1876","RowKey":"rkdefb1876","Timestamp":"2020-08-19T21:19:13.3977666Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=nometadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:20 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A21.239417Z'" + date: Wed, 19 Aug 2020 21:19:12 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A13.3977666Z'" location: https://storagename.table.core.windows.net/uttabledefb1876(PartitionKey='pkdefb1876',RowKey='rkdefb1876') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,16 +79,16 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttabledefb1876 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttabledefb1876 - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -99,12 +99,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:20 GMT + date: Wed, 19 Aug 2020 21:19:12 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttabledefb1876') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttabledefb1876') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_merge_entity_with_existing_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_merge_entity_with_existing_entity.yaml index 4520acc7d1fa..4556baa1aa91 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_merge_entity_with_existing_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_merge_entity_with_existing_entity.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:20 GMT + date: Wed, 19 Aug 2020 21:19:12 GMT location: https://storagename.table.core.windows.net/Tables('uttable42df1e0f') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk42df1e0f", "RowKey": "rk42df1e0f", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable42df1e0f response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42df1e0f/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A21.7215424Z''\"","PartitionKey":"pk42df1e0f","RowKey":"rk42df1e0f","Timestamp":"2020-07-30T13:33:21.7215424Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42df1e0f/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A13.9158312Z''\"","PartitionKey":"pk42df1e0f","RowKey":"rk42df1e0f","Timestamp":"2020-08-19T21:19:13.9158312Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:20 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A21.7215424Z'" + date: Wed, 19 Aug 2020 21:19:13 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A13.9158312Z'" location: https://storagename.table.core.windows.net/uttable42df1e0f(PartitionKey='pk42df1e0f',RowKey='rk42df1e0f') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42df1e0f + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42df1e0f - request: body: '{"PartitionKey": "pk42df1e0f", "RowKey": "rk42df1e0f", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,11 +92,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -107,15 +107,15 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:20 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A21.7979671Z'" + date: Wed, 19 Aug 2020 21:19:13 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A14.0057587Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42df1e0f(PartitionKey='pk42df1e0f',RowKey='rk42df1e0f') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42df1e0f(PartitionKey='pk42df1e0f',RowKey='rk42df1e0f') - request: body: null headers: @@ -124,23 +124,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:13 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable42df1e0f(PartitionKey='pk42df1e0f',RowKey='rk42df1e0f') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42df1e0f/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A21.7979671Z''\"","PartitionKey":"pk42df1e0f","RowKey":"rk42df1e0f","Timestamp":"2020-07-30T13:33:21.7979671Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42df1e0f/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A14.0057587Z''\"","PartitionKey":"pk42df1e0f","RowKey":"rk42df1e0f","Timestamp":"2020-08-19T21:19:14.0057587Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:20 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A21.7979671Z'" + date: Wed, 19 Aug 2020 21:19:13 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A14.0057587Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -148,16 +148,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42df1e0f(PartitionKey='pk42df1e0f',RowKey='rk42df1e0f') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42df1e0f(PartitionKey='pk42df1e0f',RowKey='rk42df1e0f') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:14 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:22 GMT + - Wed, 19 Aug 2020 21:19:14 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -168,12 +168,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:21 GMT + date: Wed, 19 Aug 2020 21:19:13 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable42df1e0f') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable42df1e0f') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_merge_entity_with_non_existing_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_merge_entity_with_non_existing_entity.yaml index d574267939a7..01fc9f849402 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_merge_entity_with_non_existing_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_merge_entity_with_non_existing_entity.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:22 GMT + date: Wed, 19 Aug 2020 21:19:14 GMT location: https://storagename.table.core.windows.net/Tables('uttablebeb51fb9') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkbeb51fb9", "RowKey": "rkbeb51fb9", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -63,15 +63,15 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:22 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A22.3793844Z'" + date: Wed, 19 Aug 2020 21:19:14 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A14.6872461Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablebeb51fb9(PartitionKey='pkbeb51fb9',RowKey='rkbeb51fb9') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablebeb51fb9(PartitionKey='pkbeb51fb9',RowKey='rkbeb51fb9') - request: body: null headers: @@ -80,23 +80,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablebeb51fb9(PartitionKey='pkbeb51fb9',RowKey='rkbeb51fb9') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablebeb51fb9/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A22.3793844Z''\"","PartitionKey":"pkbeb51fb9","RowKey":"rkbeb51fb9","Timestamp":"2020-07-30T13:33:22.3793844Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablebeb51fb9/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A14.6872461Z''\"","PartitionKey":"pkbeb51fb9","RowKey":"rkbeb51fb9","Timestamp":"2020-08-19T21:19:14.6872461Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:22 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A22.3793844Z'" + date: Wed, 19 Aug 2020 21:19:14 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A14.6872461Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -104,16 +104,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablebeb51fb9(PartitionKey='pkbeb51fb9',RowKey='rkbeb51fb9') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablebeb51fb9(PartitionKey='pkbeb51fb9',RowKey='rkbeb51fb9') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -124,12 +124,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:22 GMT + date: Wed, 19 Aug 2020 21:19:14 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablebeb51fb9') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablebeb51fb9') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_replace_entity_with_existing_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_replace_entity_with_existing_entity.yaml index 96bdf6ac19f6..1b72cc80d613 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_replace_entity_with_existing_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_replace_entity_with_existing_entity.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:14 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:21 GMT + date: Wed, 19 Aug 2020 21:19:14 GMT location: https://storagename.table.core.windows.net/Tables('uttable7edf1edb') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk7edf1edb", "RowKey": "rk7edf1edb", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:23 GMT + - Wed, 19 Aug 2020 21:19:15 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable7edf1edb response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable7edf1edb/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A22.9650908Z''\"","PartitionKey":"pk7edf1edb","RowKey":"rk7edf1edb","Timestamp":"2020-07-30T13:33:22.9650908Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable7edf1edb/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A15.274692Z''\"","PartitionKey":"pk7edf1edb","RowKey":"rk7edf1edb","Timestamp":"2020-08-19T21:19:15.274692Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:21 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A22.9650908Z'" + date: Wed, 19 Aug 2020 21:19:14 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A15.274692Z'" location: https://storagename.table.core.windows.net/uttable7edf1edb(PartitionKey='pk7edf1edb',RowKey='rk7edf1edb') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable7edf1edb + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable7edf1edb - request: body: '{"PartitionKey": "pk7edf1edb", "RowKey": "rk7edf1edb", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,11 +92,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT x-ms-version: - '2019-07-07' method: PUT @@ -107,15 +107,15 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:22 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A23.0428641Z'" + date: Wed, 19 Aug 2020 21:19:14 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A15.3577261Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable7edf1edb(PartitionKey='pk7edf1edb',RowKey='rk7edf1edb') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable7edf1edb(PartitionKey='pk7edf1edb',RowKey='rk7edf1edb') - request: body: null headers: @@ -124,23 +124,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable7edf1edb(PartitionKey='pk7edf1edb',RowKey='rk7edf1edb') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable7edf1edb/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A23.0428641Z''\"","PartitionKey":"pk7edf1edb","RowKey":"rk7edf1edb","Timestamp":"2020-07-30T13:33:23.0428641Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable7edf1edb/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A15.3577261Z''\"","PartitionKey":"pk7edf1edb","RowKey":"rk7edf1edb","Timestamp":"2020-08-19T21:19:15.3577261Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:22 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A23.0428641Z'" + date: Wed, 19 Aug 2020 21:19:14 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A15.3577261Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -148,16 +148,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable7edf1edb(PartitionKey='pk7edf1edb',RowKey='rk7edf1edb') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable7edf1edb(PartitionKey='pk7edf1edb',RowKey='rk7edf1edb') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -168,12 +168,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:22 GMT + date: Wed, 19 Aug 2020 21:19:14 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable7edf1edb') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable7edf1edb') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_replace_entity_with_non_existing_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_replace_entity_with_non_existing_entity.yaml index 8bf49e04586f..b52106a5af1c 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_replace_entity_with_non_existing_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_insert_or_replace_entity_with_non_existing_entity.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:23 GMT + date: Wed, 19 Aug 2020 21:19:15 GMT location: https://storagename.table.core.windows.net/Tables('uttablefde52085') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkfde52085", "RowKey": "rkfde52085", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT x-ms-version: - '2019-07-07' method: PUT @@ -63,15 +63,15 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:23 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A23.6242812Z'" + date: Wed, 19 Aug 2020 21:19:15 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A15.9191297Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablefde52085(PartitionKey='pkfde52085',RowKey='rkfde52085') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablefde52085(PartitionKey='pkfde52085',RowKey='rkfde52085') - request: body: null headers: @@ -80,23 +80,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablefde52085(PartitionKey='pkfde52085',RowKey='rkfde52085') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefde52085/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A23.6242812Z''\"","PartitionKey":"pkfde52085","RowKey":"rkfde52085","Timestamp":"2020-07-30T13:33:23.6242812Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablefde52085/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A15.9191297Z''\"","PartitionKey":"pkfde52085","RowKey":"rkfde52085","Timestamp":"2020-08-19T21:19:15.9191297Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:23 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A23.6242812Z'" + date: Wed, 19 Aug 2020 21:19:15 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A15.9191297Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -104,16 +104,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablefde52085(PartitionKey='pkfde52085',RowKey='rkfde52085') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablefde52085(PartitionKey='pkfde52085',RowKey='rkfde52085') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:15 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -124,12 +124,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:23 GMT + date: Wed, 19 Aug 2020 21:19:15 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablefde52085') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablefde52085') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity.yaml index 8dc57b3a47bc..049f321779b1 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:24 GMT + - Wed, 19 Aug 2020 21:19:16 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:23 GMT + date: Wed, 19 Aug 2020 21:19:15 GMT location: https://storagename.table.core.windows.net/Tables('uttable641610fa') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk641610fa", "RowKey": "rk641610fa", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable641610fa response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable641610fa/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A24.1995293Z''\"","PartitionKey":"pk641610fa","RowKey":"rk641610fa","Timestamp":"2020-07-30T13:33:24.1995293Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable641610fa/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A16.487949Z''\"","PartitionKey":"pk641610fa","RowKey":"rk641610fa","Timestamp":"2020-08-19T21:19:16.487949Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:23 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A24.1995293Z'" + date: Wed, 19 Aug 2020 21:19:15 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A16.487949Z'" location: https://storagename.table.core.windows.net/uttable641610fa(PartitionKey='pk641610fa',RowKey='rk641610fa') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable641610fa + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable641610fa - request: body: '{"PartitionKey": "pk641610fa", "RowKey": "rk641610fa", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,13 +92,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -109,15 +109,15 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:23 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A24.2867548Z'" + date: Wed, 19 Aug 2020 21:19:15 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A16.5706002Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable641610fa(PartitionKey='pk641610fa',RowKey='rk641610fa') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable641610fa(PartitionKey='pk641610fa',RowKey='rk641610fa') - request: body: null headers: @@ -126,23 +126,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable641610fa(PartitionKey='pk641610fa',RowKey='rk641610fa') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable641610fa/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A24.2867548Z''\"","PartitionKey":"pk641610fa","RowKey":"rk641610fa","Timestamp":"2020-07-30T13:33:24.2867548Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable641610fa/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A16.5706002Z''\"","PartitionKey":"pk641610fa","RowKey":"rk641610fa","Timestamp":"2020-08-19T21:19:16.5706002Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:23 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A24.2867548Z'" + date: Wed, 19 Aug 2020 21:19:16 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A16.5706002Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -150,16 +150,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable641610fa(PartitionKey='pk641610fa',RowKey='rk641610fa') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable641610fa(PartitionKey='pk641610fa',RowKey='rk641610fa') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -170,12 +170,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:23 GMT + date: Wed, 19 Aug 2020 21:19:16 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable641610fa') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable641610fa') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_not_existing.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_not_existing.yaml index 0b46ed07058d..a0132574b473 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_not_existing.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_not_existing.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:16 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:24 GMT + date: Wed, 19 Aug 2020 21:19:16 GMT location: https://storagename.table.core.windows.net/Tables('uttable66e91674') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk66e91674", "RowKey": "rk66e91674", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -48,13 +48,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:17 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:17 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -64,13 +64,13 @@ interactions: string: 'ResourceNotFoundThe specified resource does not exist. - RequestId:ae81374a-8002-005e-7276-66f909000000 + RequestId:0ba1095d-b002-0131-3c6e-762ce1000000 - Time:2020-07-30T13:33:24.8775073Z' + Time:2020-08-19T21:19:17.1495470Z' headers: cache-control: no-cache content-type: application/xml;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:24 GMT + date: Wed, 19 Aug 2020 21:19:16 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -78,16 +78,16 @@ interactions: status: code: 404 message: Not Found - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable66e91674(PartitionKey='pk66e91674',RowKey='rk66e91674') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable66e91674(PartitionKey='pk66e91674',RowKey='rk66e91674') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:25 GMT + - Wed, 19 Aug 2020 21:19:17 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -98,12 +98,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:24 GMT + date: Wed, 19 Aug 2020 21:19:16 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable66e91674') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable66e91674') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_with_if_doesnt_match.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_with_if_doesnt_match.yaml index 348da17ccc4a..3b9aaad4321b 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_with_if_doesnt_match.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_with_if_doesnt_match.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:24 GMT + date: Wed, 19 Aug 2020 21:19:17 GMT location: https://storagename.table.core.windows.net/Tables('uttable279d199b') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk279d199b", "RowKey": "rk279d199b", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable279d199b response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable279d199b/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A25.3681155Z''\"","PartitionKey":"pk279d199b","RowKey":"rk279d199b","Timestamp":"2020-07-30T13:33:25.3681155Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable279d199b/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A17.6267989Z''\"","PartitionKey":"pk279d199b","RowKey":"rk279d199b","Timestamp":"2020-08-19T21:19:17.6267989Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:25 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A25.3681155Z'" + date: Wed, 19 Aug 2020 21:19:17 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A17.6267989Z'" location: https://storagename.table.core.windows.net/uttable279d199b(PartitionKey='pk279d199b',RowKey='rk279d199b') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable279d199b + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable279d199b - request: body: '{"PartitionKey": "pk279d199b", "RowKey": "rk279d199b", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,13 +92,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT If-Match: - W/"datetime'2012-06-15T22%3A51%3A44.9662825Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -108,13 +108,13 @@ interactions: string: 'UpdateConditionNotSatisfiedThe update condition specified in the request was not satisfied. - RequestId:a318a23c-d002-0064-5c76-66baaa000000 + RequestId:a8420eeb-c002-0013-496e-760482000000 - Time:2020-07-30T13:33:25.4471689Z' + Time:2020-08-19T21:19:17.7068566Z' headers: cache-control: no-cache content-type: application/xml;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:25 GMT + date: Wed, 19 Aug 2020 21:19:17 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -122,16 +122,16 @@ interactions: status: code: 412 message: Precondition Failed - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable279d199b(PartitionKey='pk279d199b',RowKey='rk279d199b') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable279d199b(PartitionKey='pk279d199b',RowKey='rk279d199b') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -142,12 +142,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:25 GMT + date: Wed, 19 Aug 2020 21:19:17 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable279d199b') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable279d199b') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_with_if_matches.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_with_if_matches.yaml index d5fd83830dc2..0d0a2b5f22a7 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_with_if_matches.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_merge_entity_with_if_matches.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:17 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:25 GMT + date: Wed, 19 Aug 2020 21:19:17 GMT location: https://storagename.table.core.windows.net/Tables('uttableab731787') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkab731787", "RowKey": "rkab731787", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:26 GMT + - Wed, 19 Aug 2020 21:19:18 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttableab731787 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableab731787/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A25.9352892Z''\"","PartitionKey":"pkab731787","RowKey":"rkab731787","Timestamp":"2020-07-30T13:33:25.9352892Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableab731787/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A18.2151807Z''\"","PartitionKey":"pkab731787","RowKey":"rkab731787","Timestamp":"2020-08-19T21:19:18.2151807Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:25 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A25.9352892Z'" + date: Wed, 19 Aug 2020 21:19:17 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A18.2151807Z'" location: https://storagename.table.core.windows.net/uttableab731787(PartitionKey='pkab731787',RowKey='rkab731787') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttableab731787 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttableab731787 - request: body: '{"PartitionKey": "pkab731787", "RowKey": "rkab731787", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,13 +92,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT If-Match: - - W/"datetime'2020-07-30T13%3A33%3A25.9352892Z'" + - W/"datetime'2020-08-19T21%3A19%3A18.2151807Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT x-ms-version: - '2019-07-07' method: PATCH @@ -109,15 +109,15 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:25 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A26.0170037Z'" + date: Wed, 19 Aug 2020 21:19:17 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A18.2958356Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttableab731787(PartitionKey='pkab731787',RowKey='rkab731787') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttableab731787(PartitionKey='pkab731787',RowKey='rkab731787') - request: body: null headers: @@ -126,23 +126,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttableab731787(PartitionKey='pkab731787',RowKey='rkab731787') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableab731787/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A26.0170037Z''\"","PartitionKey":"pkab731787","RowKey":"rkab731787","Timestamp":"2020-07-30T13:33:26.0170037Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttableab731787/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A18.2958356Z''\"","PartitionKey":"pkab731787","RowKey":"rkab731787","Timestamp":"2020-08-19T21:19:18.2958356Z","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","age":"abc","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833","deceased":false,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","married":true,"other":20,"ratio":3.1,"sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:25 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A26.0170037Z'" + date: Wed, 19 Aug 2020 21:19:17 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A18.2958356Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -150,16 +150,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttableab731787(PartitionKey='pkab731787',RowKey='rkab731787') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttableab731787(PartitionKey='pkab731787',RowKey='rkab731787') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -170,12 +170,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:26 GMT + date: Wed, 19 Aug 2020 21:19:17 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttableab731787') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttableab731787') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_none_property_value.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_none_property_value.yaml index 935b170b5dba..4134144c1d8c 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_none_property_value.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_none_property_value.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:25 GMT + date: Wed, 19 Aug 2020 21:19:18 GMT location: https://storagename.table.core.windows.net/Tables('uttablee7f813fe') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pke7f813fe", "RowKey": "rke7f813fe"}' headers: @@ -48,23 +48,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablee7f813fe response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7f813fe/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A26.5834879Z''\"","PartitionKey":"pke7f813fe","RowKey":"rke7f813fe","Timestamp":"2020-07-30T13:33:26.5834879Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7f813fe/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A18.8495906Z''\"","PartitionKey":"pke7f813fe","RowKey":"rke7f813fe","Timestamp":"2020-08-19T21:19:18.8495906Z"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:25 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A26.5834879Z'" + date: Wed, 19 Aug 2020 21:19:18 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A18.8495906Z'" location: https://storagename.table.core.windows.net/uttablee7f813fe(PartitionKey='pke7f813fe',RowKey='rke7f813fe') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -73,7 +73,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablee7f813fe + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablee7f813fe - request: body: null headers: @@ -82,23 +82,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablee7f813fe(PartitionKey='pke7f813fe',RowKey='rke7f813fe') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7f813fe/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A26.5834879Z''\"","PartitionKey":"pke7f813fe","RowKey":"rke7f813fe","Timestamp":"2020-07-30T13:33:26.5834879Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee7f813fe/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A18.8495906Z''\"","PartitionKey":"pke7f813fe","RowKey":"rke7f813fe","Timestamp":"2020-08-19T21:19:18.8495906Z"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:25 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A26.5834879Z'" + date: Wed, 19 Aug 2020 21:19:18 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A18.8495906Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -106,16 +106,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablee7f813fe(PartitionKey='pke7f813fe',RowKey='rke7f813fe') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablee7f813fe(PartitionKey='pke7f813fe',RowKey='rke7f813fe') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:18 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -126,12 +126,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:25 GMT + date: Wed, 19 Aug 2020 21:19:18 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablee7f813fe') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablee7f813fe') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities.yaml index dcdeb04dde32..8b3652a54987 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:27 GMT + - Wed, 19 Aug 2020 21:19:19 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:26 GMT + date: Wed, 19 Aug 2020 21:19:18 GMT location: https://storagename.table.core.windows.net/Tables('uttable88c411e8') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"TableName": "querytable88c411e8"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT x-ms-version: - '2019-07-07' method: POST @@ -63,7 +63,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:26 GMT + date: Wed, 19 Aug 2020 21:19:18 GMT location: https://storagename.table.core.windows.net/Tables('querytable88c411e8') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -72,7 +72,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk88c411e8", "RowKey": "rk88c411e81", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -91,23 +91,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable88c411e8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable88c411e8/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A27.2270172Z''\"","PartitionKey":"pk88c411e8","RowKey":"rk88c411e81","Timestamp":"2020-07-30T13:33:27.2270172Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable88c411e8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A19.5667444Z''\"","PartitionKey":"pk88c411e8","RowKey":"rk88c411e81","Timestamp":"2020-08-19T21:19:19.5667444Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:26 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A27.2270172Z'" + date: Wed, 19 Aug 2020 21:19:19 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A19.5667444Z'" location: https://storagename.table.core.windows.net/querytable88c411e8(PartitionKey='pk88c411e8',RowKey='rk88c411e81') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -116,7 +116,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable88c411e8 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable88c411e8 - request: body: '{"PartitionKey": "pk88c411e8", "RowKey": "rk88c411e812", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -135,23 +135,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable88c411e8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable88c411e8/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A27.3090776Z''\"","PartitionKey":"pk88c411e8","RowKey":"rk88c411e812","Timestamp":"2020-07-30T13:33:27.3090776Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable88c411e8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A19.6458015Z''\"","PartitionKey":"pk88c411e8","RowKey":"rk88c411e812","Timestamp":"2020-08-19T21:19:19.6458015Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:26 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A27.3090776Z'" + date: Wed, 19 Aug 2020 21:19:19 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A19.6458015Z'" location: https://storagename.table.core.windows.net/querytable88c411e8(PartitionKey='pk88c411e8',RowKey='rk88c411e812') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -160,7 +160,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable88c411e8 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable88c411e8 - request: body: null headers: @@ -169,22 +169,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable88c411e8() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable88c411e8","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A27.2270172Z''\"","PartitionKey":"pk88c411e8","RowKey":"rk88c411e81","Timestamp":"2020-07-30T13:33:27.2270172Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A27.3090776Z''\"","PartitionKey":"pk88c411e8","RowKey":"rk88c411e812","Timestamp":"2020-07-30T13:33:27.3090776Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable88c411e8","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A19.5667444Z''\"","PartitionKey":"pk88c411e8","RowKey":"rk88c411e81","Timestamp":"2020-08-19T21:19:19.5667444Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A19.6458015Z''\"","PartitionKey":"pk88c411e8","RowKey":"rk88c411e812","Timestamp":"2020-08-19T21:19:19.6458015Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:26 GMT + date: Wed, 19 Aug 2020 21:19:19 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -192,16 +192,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable88c411e8() + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable88c411e8() - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -212,23 +212,23 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:27 GMT + date: Wed, 19 Aug 2020 21:19:19 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable88c411e8') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable88c411e8') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -239,12 +239,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:27 GMT + date: Wed, 19 Aug 2020 21:19:19 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('querytable88c411e8') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('querytable88c411e8') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_full_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_full_metadata.yaml index f795f77d9bfb..03dcba2e33cb 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_full_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_full_metadata.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:19 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:27 GMT + date: Wed, 19 Aug 2020 21:19:20 GMT location: https://storagename.table.core.windows.net/Tables('uttableae56179a') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"TableName": "querytableae56179a"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:28 GMT + - Wed, 19 Aug 2020 21:19:20 GMT x-ms-version: - '2019-07-07' method: POST @@ -63,7 +63,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:27 GMT + date: Wed, 19 Aug 2020 21:19:20 GMT location: https://storagename.table.core.windows.net/Tables('querytableae56179a') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -72,7 +72,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkae56179a", "RowKey": "rkae56179a1", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -91,23 +91,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytableae56179a response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytableae56179a/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A28.0729727Z''\"","PartitionKey":"pkae56179a","RowKey":"rkae56179a1","Timestamp":"2020-07-30T13:33:28.0729727Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytableae56179a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A20.393983Z''\"","PartitionKey":"pkae56179a","RowKey":"rkae56179a1","Timestamp":"2020-08-19T21:19:20.393983Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:27 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A28.0729727Z'" + date: Wed, 19 Aug 2020 21:19:20 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A20.393983Z'" location: https://storagename.table.core.windows.net/querytableae56179a(PartitionKey='pkae56179a',RowKey='rkae56179a1') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -116,7 +116,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytableae56179a + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytableae56179a - request: body: '{"PartitionKey": "pkae56179a", "RowKey": "rkae56179a12", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -135,23 +135,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytableae56179a response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytableae56179a/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A28.1550282Z''\"","PartitionKey":"pkae56179a","RowKey":"rkae56179a12","Timestamp":"2020-07-30T13:33:28.1550282Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytableae56179a/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A20.7862519Z''\"","PartitionKey":"pkae56179a","RowKey":"rkae56179a12","Timestamp":"2020-08-19T21:19:20.7862519Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:27 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A28.1550282Z'" + date: Wed, 19 Aug 2020 21:19:20 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A20.7862519Z'" location: https://storagename.table.core.windows.net/querytableae56179a(PartitionKey='pkae56179a',RowKey='rkae56179a12') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -160,31 +160,31 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytableae56179a + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytableae56179a - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) accept: - application/json;odata=fullmetadata x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytableae56179a() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytableae56179a","value":[{"odata.type":"storagename.querytableae56179a","odata.id":"https://storagename.table.core.windows.net/querytableae56179a(PartitionKey=''pkae56179a'',RowKey=''rkae56179a1'')","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A28.0729727Z''\"","odata.editLink":"querytableae56179a(PartitionKey=''pkae56179a'',RowKey=''rkae56179a1'')","PartitionKey":"pkae56179a","RowKey":"rkae56179a1","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-07-30T13:33:28.0729727Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.type":"storagename.querytableae56179a","odata.id":"https://storagename.table.core.windows.net/querytableae56179a(PartitionKey=''pkae56179a'',RowKey=''rkae56179a12'')","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A28.1550282Z''\"","odata.editLink":"querytableae56179a(PartitionKey=''pkae56179a'',RowKey=''rkae56179a12'')","PartitionKey":"pkae56179a","RowKey":"rkae56179a12","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-07-30T13:33:28.1550282Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytableae56179a","value":[{"odata.type":"storagename.querytableae56179a","odata.id":"https://storagename.table.core.windows.net/querytableae56179a(PartitionKey=''pkae56179a'',RowKey=''rkae56179a1'')","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A20.393983Z''\"","odata.editLink":"querytableae56179a(PartitionKey=''pkae56179a'',RowKey=''rkae56179a1'')","PartitionKey":"pkae56179a","RowKey":"rkae56179a1","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-08-19T21:19:20.393983Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.type":"storagename.querytableae56179a","odata.id":"https://storagename.table.core.windows.net/querytableae56179a(PartitionKey=''pkae56179a'',RowKey=''rkae56179a12'')","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A20.7862519Z''\"","odata.editLink":"querytableae56179a(PartitionKey=''pkae56179a'',RowKey=''rkae56179a12'')","PartitionKey":"pkae56179a","RowKey":"rkae56179a12","Timestamp@odata.type":"Edm.DateTime","Timestamp":"2020-08-19T21:19:20.7862519Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=fullmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:27 GMT + date: Wed, 19 Aug 2020 21:19:20 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -192,16 +192,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytableae56179a() + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytableae56179a() - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -212,23 +212,23 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:27 GMT + date: Wed, 19 Aug 2020 21:19:20 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttableae56179a') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttableae56179a') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:20 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -239,12 +239,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:27 GMT + date: Wed, 19 Aug 2020 21:19:21 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('querytableae56179a') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('querytableae56179a') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_no_metadata.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_no_metadata.yaml index b137d54d1715..8f4b4265b8cc 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_no_metadata.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_no_metadata.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:21 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:28 GMT + date: Wed, 19 Aug 2020 21:19:20 GMT location: https://storagename.table.core.windows.net/Tables('uttable7f5216c4') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"TableName": "querytable7f5216c4"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:21 GMT x-ms-version: - '2019-07-07' method: POST @@ -63,7 +63,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:28 GMT + date: Wed, 19 Aug 2020 21:19:20 GMT location: https://storagename.table.core.windows.net/Tables('querytable7f5216c4') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -72,7 +72,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk7f5216c4", "RowKey": "rk7f5216c41", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -91,23 +91,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:21 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable7f5216c4 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable7f5216c4/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A28.8912087Z''\"","PartitionKey":"pk7f5216c4","RowKey":"rk7f5216c41","Timestamp":"2020-07-30T13:33:28.8912087Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable7f5216c4/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A21.6489635Z''\"","PartitionKey":"pk7f5216c4","RowKey":"rk7f5216c41","Timestamp":"2020-08-19T21:19:21.6489635Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:28 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A28.8912087Z'" + date: Wed, 19 Aug 2020 21:19:20 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A21.6489635Z'" location: https://storagename.table.core.windows.net/querytable7f5216c4(PartitionKey='pk7f5216c4',RowKey='rk7f5216c41') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -116,7 +116,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable7f5216c4 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable7f5216c4 - request: body: '{"PartitionKey": "pk7f5216c4", "RowKey": "rk7f5216c412", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -135,23 +135,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:29 GMT + - Wed, 19 Aug 2020 21:19:21 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable7f5216c4 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable7f5216c4/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A28.9752708Z''\"","PartitionKey":"pk7f5216c4","RowKey":"rk7f5216c412","Timestamp":"2020-07-30T13:33:28.9752708Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable7f5216c4/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A21.7470307Z''\"","PartitionKey":"pk7f5216c4","RowKey":"rk7f5216c412","Timestamp":"2020-08-19T21:19:21.7470307Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:28 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A28.9752708Z'" + date: Wed, 19 Aug 2020 21:19:21 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A21.7470307Z'" location: https://storagename.table.core.windows.net/querytable7f5216c4(PartitionKey='pk7f5216c4',RowKey='rk7f5216c412') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -160,31 +160,31 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable7f5216c4 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable7f5216c4 - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) accept: - application/json;odata=nometadata x-ms-date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:21 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable7f5216c4() response: body: - string: '{"value":[{"PartitionKey":"pk7f5216c4","RowKey":"rk7f5216c41","Timestamp":"2020-07-30T13:33:28.8912087Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"PartitionKey":"pk7f5216c4","RowKey":"rk7f5216c412","Timestamp":"2020-07-30T13:33:28.9752708Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"value":[{"PartitionKey":"pk7f5216c4","RowKey":"rk7f5216c41","Timestamp":"2020-08-19T21:19:21.6489635Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"PartitionKey":"pk7f5216c4","RowKey":"rk7f5216c412","Timestamp":"2020-08-19T21:19:21.7470307Z","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large":"933311100","Birthday":"1973-10-04T00:00:00Z","birthday":"1970-10-04T00:00:00Z","binary":"YmluYXJ5","other":20,"clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=nometadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:28 GMT + date: Wed, 19 Aug 2020 21:19:21 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -192,16 +192,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable7f5216c4() + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable7f5216c4() - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:21 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -212,23 +212,23 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:28 GMT + date: Wed, 19 Aug 2020 21:19:21 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable7f5216c4') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable7f5216c4') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:21 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -239,12 +239,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:29 GMT + date: Wed, 19 Aug 2020 21:19:21 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('querytable7f5216c4') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('querytable7f5216c4') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_filter.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_filter.yaml index 62d2b7e7fb87..7fe7fd22a268 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_filter.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_filter.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:21 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:21 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:28 GMT + date: Wed, 19 Aug 2020 21:19:21 GMT location: https://storagename.table.core.windows.net/Tables('uttable800416e8') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk800416e8", "RowKey": "rk800416e8", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:22 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable800416e8 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable800416e8/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A29.6529072Z''\"","PartitionKey":"pk800416e8","RowKey":"rk800416e8","Timestamp":"2020-07-30T13:33:29.6529072Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable800416e8/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A22.4081192Z''\"","PartitionKey":"pk800416e8","RowKey":"rk800416e8","Timestamp":"2020-08-19T21:19:22.4081192Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:28 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A29.6529072Z'" + date: Wed, 19 Aug 2020 21:19:21 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A22.4081192Z'" location: https://storagename.table.core.windows.net/uttable800416e8(PartitionKey='pk800416e8',RowKey='rk800416e8') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable800416e8 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable800416e8 - request: body: null headers: @@ -88,22 +88,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:22 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable800416e8() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable800416e8","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A29.6529072Z''\"","PartitionKey":"pk800416e8","RowKey":"rk800416e8","Timestamp":"2020-07-30T13:33:29.6529072Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable800416e8","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A22.4081192Z''\"","PartitionKey":"pk800416e8","RowKey":"rk800416e8","Timestamp":"2020-08-19T21:19:22.4081192Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:28 GMT + date: Wed, 19 Aug 2020 21:19:21 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -111,16 +111,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable800416e8() + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable800416e8() - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:22 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -131,12 +131,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:28 GMT + date: Wed, 19 Aug 2020 21:19:21 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable800416e8') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable800416e8') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_select.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_select.yaml index 3df27b738929..cd64e6cb5d8f 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_select.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_select.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:30 GMT + - Wed, 19 Aug 2020 21:19:22 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:30 GMT + date: Wed, 19 Aug 2020 21:19:22 GMT location: https://storagename.table.core.windows.net/Tables('uttable800f16e2') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"TableName": "querytable800f16e2"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:22 GMT x-ms-version: - '2019-07-07' method: POST @@ -63,7 +63,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:30 GMT + date: Wed, 19 Aug 2020 21:19:22 GMT location: https://storagename.table.core.windows.net/Tables('querytable800f16e2') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -72,7 +72,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk800f16e2", "RowKey": "rk800f16e21", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -91,23 +91,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:22 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:22 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable800f16e2 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable800f16e2/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A30.5282919Z''\"","PartitionKey":"pk800f16e2","RowKey":"rk800f16e21","Timestamp":"2020-07-30T13:33:30.5282919Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable800f16e2/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A23.0797088Z''\"","PartitionKey":"pk800f16e2","RowKey":"rk800f16e21","Timestamp":"2020-08-19T21:19:23.0797088Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:30 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A30.5282919Z'" + date: Wed, 19 Aug 2020 21:19:23 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A23.0797088Z'" location: https://storagename.table.core.windows.net/querytable800f16e2(PartitionKey='pk800f16e2',RowKey='rk800f16e21') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -116,7 +116,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable800f16e2 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable800f16e2 - request: body: '{"PartitionKey": "pk800f16e2", "RowKey": "rk800f16e212", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -135,23 +135,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable800f16e2 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable800f16e2/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A30.6073436Z''\"","PartitionKey":"pk800f16e2","RowKey":"rk800f16e212","Timestamp":"2020-07-30T13:33:30.6073436Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable800f16e2/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A23.1737755Z''\"","PartitionKey":"pk800f16e2","RowKey":"rk800f16e212","Timestamp":"2020-08-19T21:19:23.1737755Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:30 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A30.6073436Z'" + date: Wed, 19 Aug 2020 21:19:23 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A23.1737755Z'" location: https://storagename.table.core.windows.net/querytable800f16e2(PartitionKey='pk800f16e2',RowKey='rk800f16e212') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -160,7 +160,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable800f16e2 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable800f16e2 - request: body: null headers: @@ -169,22 +169,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable800f16e2()?$select=age,%20sex response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable800f16e2&$select=age,%20sex","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A30.5282919Z''\"","age@odata.type":"Edm.Int64","age":"39","sex":"male"},{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A30.6073436Z''\"","age@odata.type":"Edm.Int64","age":"39","sex":"male"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable800f16e2&$select=age,%20sex","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A23.0797088Z''\"","age@odata.type":"Edm.Int64","age":"39","sex":"male"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A23.1737755Z''\"","age@odata.type":"Edm.Int64","age":"39","sex":"male"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:30 GMT + date: Wed, 19 Aug 2020 21:19:23 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -192,16 +192,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable800f16e2()?$select=age,%20sex + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable800f16e2()?$select=age,%20sex - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -212,23 +212,23 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:30 GMT + date: Wed, 19 Aug 2020 21:19:23 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable800f16e2') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable800f16e2') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -239,12 +239,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:30 GMT + date: Wed, 19 Aug 2020 21:19:23 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('querytable800f16e2') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('querytable800f16e2') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_top.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_top.yaml index af7f41dca97d..e11488bea9ab 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_top.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_top.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:31 GMT + - Wed, 19 Aug 2020 21:19:23 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT + date: Wed, 19 Aug 2020 21:19:23 GMT location: https://storagename.table.core.windows.net/Tables('uttable3ccf15b5') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"TableName": "querytable3ccf15b5"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT x-ms-version: - '2019-07-07' method: POST @@ -63,7 +63,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT + date: Wed, 19 Aug 2020 21:19:23 GMT location: https://storagename.table.core.windows.net/Tables('querytable3ccf15b5') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -72,7 +72,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk3ccf15b5", "RowKey": "rk3ccf15b51", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -91,23 +91,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable3ccf15b5 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A31.3262287Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b51","Timestamp":"2020-07-30T13:33:31.3262287Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A24.4538739Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b51","Timestamp":"2020-08-19T21:19:24.4538739Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A31.3262287Z'" + date: Wed, 19 Aug 2020 21:19:23 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A24.4538739Z'" location: https://storagename.table.core.windows.net/querytable3ccf15b5(PartitionKey='pk3ccf15b5',RowKey='rk3ccf15b51') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -116,7 +116,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable3ccf15b5 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable3ccf15b5 - request: body: '{"PartitionKey": "pk3ccf15b5", "RowKey": "rk3ccf15b512", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -135,23 +135,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable3ccf15b5 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A31.4082838Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b512","Timestamp":"2020-07-30T13:33:31.4082838Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A24.5749592Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b512","Timestamp":"2020-08-19T21:19:24.5749592Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A31.4082838Z'" + date: Wed, 19 Aug 2020 21:19:23 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A24.5749592Z'" location: https://storagename.table.core.windows.net/querytable3ccf15b5(PartitionKey='pk3ccf15b5',RowKey='rk3ccf15b512') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -160,7 +160,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable3ccf15b5 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable3ccf15b5 - request: body: '{"PartitionKey": "pk3ccf15b5", "RowKey": "rk3ccf15b5123", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, @@ -179,23 +179,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable3ccf15b5 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A31.4863362Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b5123","Timestamp":"2020-07-30T13:33:31.4863362Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A24.6550157Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b5123","Timestamp":"2020-08-19T21:19:24.6550157Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A31.4863362Z'" + date: Wed, 19 Aug 2020 21:19:23 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A24.6550157Z'" location: https://storagename.table.core.windows.net/querytable3ccf15b5(PartitionKey='pk3ccf15b5',RowKey='rk3ccf15b5123') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -204,7 +204,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable3ccf15b5 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable3ccf15b5 - request: body: null headers: @@ -213,22 +213,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable3ccf15b5()?$top=2 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A31.3262287Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b51","Timestamp":"2020-07-30T13:33:31.3262287Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A31.4082838Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b512","Timestamp":"2020-07-30T13:33:31.4082838Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A24.4538739Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b51","Timestamp":"2020-08-19T21:19:24.4538739Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A24.5749592Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b512","Timestamp":"2020-08-19T21:19:24.5749592Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT + date: Wed, 19 Aug 2020 21:19:24 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -238,7 +238,7 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable3ccf15b5()?$top=2 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable3ccf15b5()?$top=2 - request: body: null headers: @@ -247,22 +247,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable3ccf15b5()?$top=2&NextPartitionKey=1!16!cGszY2NmMTViNQ--&NextRowKey=1!20!cmszY2NmMTViNTEyMw-- response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A31.4863362Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b5123","Timestamp":"2020-07-30T13:33:31.4863362Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable3ccf15b5","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A24.6550157Z''\"","PartitionKey":"pk3ccf15b5","RowKey":"rk3ccf15b5123","Timestamp":"2020-08-19T21:19:24.6550157Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT + date: Wed, 19 Aug 2020 21:19:24 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -270,16 +270,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable3ccf15b5()?$top=2&NextPartitionKey=1!16!cGszY2NmMTViNQ--&NextRowKey=1!20!cmszY2NmMTViNTEyMw-- + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable3ccf15b5()?$top=2&NextPartitionKey=1!16!cGszY2NmMTViNQ--&NextRowKey=1!20!cmszY2NmMTViNTEyMw-- - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -290,23 +290,23 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:31 GMT + date: Wed, 19 Aug 2020 21:19:24 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable3ccf15b5') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable3ccf15b5') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:24 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -317,12 +317,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:31 GMT + date: Wed, 19 Aug 2020 21:19:24 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('querytable3ccf15b5') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('querytable3ccf15b5') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_top_and_next.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_top_and_next.yaml index 0fedde43bb5a..72c525c1583c 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_top_and_next.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_entities_with_top_and_next.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:32 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT + date: Wed, 19 Aug 2020 21:19:25 GMT location: https://storagename.table.core.windows.net/Tables('uttable121a1965') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"TableName": "querytable121a1965"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: POST @@ -63,7 +63,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:31 GMT + date: Wed, 19 Aug 2020 21:19:25 GMT location: https://storagename.table.core.windows.net/Tables('querytable121a1965') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -72,7 +72,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk121a1965", "RowKey": "rk121a19651", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -91,23 +91,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable121a1965 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.3079379Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a19651","Timestamp":"2020-07-30T13:33:32.3079379Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.5552904Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a19651","Timestamp":"2020-08-19T21:19:25.5552904Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A32.3079379Z'" + date: Wed, 19 Aug 2020 21:19:25 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A25.5552904Z'" location: https://storagename.table.core.windows.net/querytable121a1965(PartitionKey='pk121a1965',RowKey='rk121a19651') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -116,7 +116,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable121a1965 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable121a1965 - request: body: '{"PartitionKey": "pk121a1965", "RowKey": "rk121a196512", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -135,23 +135,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable121a1965 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.3849929Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a196512","Timestamp":"2020-07-30T13:33:32.3849929Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.6323453Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a196512","Timestamp":"2020-08-19T21:19:25.6323453Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A32.3849929Z'" + date: Wed, 19 Aug 2020 21:19:25 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A25.6323453Z'" location: https://storagename.table.core.windows.net/querytable121a1965(PartitionKey='pk121a1965',RowKey='rk121a196512') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -160,7 +160,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable121a1965 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable121a1965 - request: body: '{"PartitionKey": "pk121a1965", "RowKey": "rk121a1965123", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, @@ -179,23 +179,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable121a1965 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.4630479Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a1965123","Timestamp":"2020-07-30T13:33:32.4630479Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.7614376Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a1965123","Timestamp":"2020-08-19T21:19:25.7614376Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A32.4630479Z'" + date: Wed, 19 Aug 2020 21:19:25 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A25.7614376Z'" location: https://storagename.table.core.windows.net/querytable121a1965(PartitionKey='pk121a1965',RowKey='rk121a1965123') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -204,7 +204,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable121a1965 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable121a1965 - request: body: '{"PartitionKey": "pk121a1965", "RowKey": "rk121a19651234", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, @@ -223,23 +223,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable121a1965 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.5411024Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a19651234","Timestamp":"2020-07-30T13:33:32.5411024Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.8374914Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a19651234","Timestamp":"2020-08-19T21:19:25.8374914Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A32.5411024Z'" + date: Wed, 19 Aug 2020 21:19:25 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A25.8374914Z'" location: https://storagename.table.core.windows.net/querytable121a1965(PartitionKey='pk121a1965',RowKey='rk121a19651234') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -248,7 +248,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable121a1965 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable121a1965 - request: body: '{"PartitionKey": "pk121a1965", "RowKey": "rk121a196512345", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, @@ -267,23 +267,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/querytable121a1965 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.6241603Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a196512345","Timestamp":"2020-07-30T13:33:32.6241603Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.9165477Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a196512345","Timestamp":"2020-08-19T21:19:25.9165477Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A32.6241603Z'" + date: Wed, 19 Aug 2020 21:19:25 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A25.9165477Z'" location: https://storagename.table.core.windows.net/querytable121a1965(PartitionKey='pk121a1965',RowKey='rk121a196512345') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -292,7 +292,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable121a1965 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable121a1965 - request: body: null headers: @@ -301,22 +301,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable121a1965()?$top=2 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.3079379Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a19651","Timestamp":"2020-07-30T13:33:32.3079379Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.3849929Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a196512","Timestamp":"2020-07-30T13:33:32.3849929Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.5552904Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a19651","Timestamp":"2020-08-19T21:19:25.5552904Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.6323453Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a196512","Timestamp":"2020-08-19T21:19:25.6323453Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT + date: Wed, 19 Aug 2020 21:19:25 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -326,7 +326,7 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable121a1965()?$top=2 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable121a1965()?$top=2 - request: body: null headers: @@ -335,22 +335,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:25 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable121a1965()?$top=2&NextPartitionKey=1!16!cGsxMjFhMTk2NQ--&NextRowKey=1!20!cmsxMjFhMTk2NTEyMw-- response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.4630479Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a1965123","Timestamp":"2020-07-30T13:33:32.4630479Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.5411024Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a19651234","Timestamp":"2020-07-30T13:33:32.5411024Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.7614376Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a1965123","Timestamp":"2020-08-19T21:19:25.7614376Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.8374914Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a19651234","Timestamp":"2020-08-19T21:19:25.8374914Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT + date: Wed, 19 Aug 2020 21:19:25 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -360,7 +360,7 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable121a1965()?$top=2&NextPartitionKey=1!16!cGsxMjFhMTk2NQ--&NextRowKey=1!20!cmsxMjFhMTk2NTEyMw-- + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable121a1965()?$top=2&NextPartitionKey=1!16!cGsxMjFhMTk2NQ--&NextRowKey=1!20!cmsxMjFhMTk2NTEyMw-- - request: body: null headers: @@ -369,22 +369,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:26 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/querytable121a1965()?$top=2&NextPartitionKey=1!16!cGsxMjFhMTk2NQ--&NextRowKey=1!20!cmsxMjFhMTk2NTEyMzQ1 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A32.6241603Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a196512345","Timestamp":"2020-07-30T13:33:32.6241603Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#querytable121a1965","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A25.9165477Z''\"","PartitionKey":"pk121a1965","RowKey":"rk121a196512345","Timestamp":"2020-08-19T21:19:25.9165477Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT + date: Wed, 19 Aug 2020 21:19:25 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -392,16 +392,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytable121a1965()?$top=2&NextPartitionKey=1!16!cGsxMjFhMTk2NQ--&NextRowKey=1!20!cmsxMjFhMTk2NTEyMzQ1 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytable121a1965()?$top=2&NextPartitionKey=1!16!cGsxMjFhMTk2NQ--&NextRowKey=1!20!cmsxMjFhMTk2NTEyMzQ1 - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:33 GMT + - Wed, 19 Aug 2020 21:19:26 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -412,23 +412,23 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:32 GMT + date: Wed, 19 Aug 2020 21:19:25 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable121a1965') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable121a1965') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -439,12 +439,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:32 GMT + date: Wed, 19 Aug 2020 21:19:26 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('querytable121a1965') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('querytable121a1965') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_zero_entities.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_zero_entities.yaml index e85ccf3abfcb..a5597319fe93 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_zero_entities.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_query_zero_entities.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT + date: Wed, 19 Aug 2020 21:19:26 GMT location: https://storagename.table.core.windows.net/Tables('uttablee8d41407') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"TableName": "querytablee8d41407"}' headers: @@ -48,11 +48,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT x-ms-version: - '2019-07-07' method: POST @@ -63,7 +63,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT + date: Wed, 19 Aug 2020 21:19:26 GMT location: https://storagename.table.core.windows.net/Tables('querytablee8d41407') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -72,7 +72,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: null headers: @@ -81,11 +81,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT x-ms-version: - '2019-07-07' method: GET @@ -96,7 +96,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:32 GMT + date: Wed, 19 Aug 2020 21:19:26 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -104,16 +104,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/querytablee8d41407() + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/querytablee8d41407() - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:26 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -124,23 +124,23 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:33 GMT + date: Wed, 19 Aug 2020 21:19:26 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablee8d41407') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablee8d41407') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:27 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -151,12 +151,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:33 GMT + date: Wed, 19 Aug 2020 21:19:26 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('querytablee8d41407') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('querytablee8d41407') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add.yaml index 3b20767dc4cc..119ecd1e3e46 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:34 GMT + - Wed, 19 Aug 2020 21:19:27 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:33 GMT + date: Wed, 19 Aug 2020 21:19:27 GMT location: https://storagename.table.core.windows.net/Tables('uttable13ae0ebd') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk13ae0ebd", "RowKey": "rk13ae0ebd", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:27 GMT x-ms-version: - '2019-07-07' method: POST - uri: https://storagename.table.core.windows.net/uttable13ae0ebd?st=2020-07-30T13:32:35Z&se=2020-07-30T14:33:35Z&sp=a&sv=2019-07-07&tn=uttable13ae0ebd&sig=WxzHZgYHDTlzLoEOhOtqM2qCfpzt/sMOfTbaHPOn58s%3D + uri: https://storagename.table.core.windows.net/uttable13ae0ebd?st=2020-08-19T21:18:27Z&se=2020-08-19T22:19:27Z&sp=a&sv=2019-07-07&tn=uttable13ae0ebd&sig=O6bMEEUh3OwQLSNrwp7sbeQeABTpCp6h/o8Nf4%2BecOE%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable13ae0ebd/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A34.3757525Z''\"","PartitionKey":"pk13ae0ebd","RowKey":"rk13ae0ebd","Timestamp":"2020-07-30T13:33:34.3757525Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable13ae0ebd/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A27.9247832Z''\"","PartitionKey":"pk13ae0ebd","RowKey":"rk13ae0ebd","Timestamp":"2020-08-19T21:19:27.9247832Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:33 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A34.3757525Z'" + date: Wed, 19 Aug 2020 21:19:27 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A27.9247832Z'" location: https://storagename.table.core.windows.net/uttable13ae0ebd(PartitionKey='pk13ae0ebd',RowKey='rk13ae0ebd') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable13ae0ebd?st=2020-07-30T13:32:35Z&se=2020-07-30T14:33:35Z&sp=a&sv=2019-07-07&tn=uttable13ae0ebd&sig=WxzHZgYHDTlzLoEOhOtqM2qCfpzt/sMOfTbaHPOn58s%3D + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable13ae0ebd?st=2020-08-19T21:18:27Z&se=2020-08-19T22:19:27Z&sp=a&sv=2019-07-07&tn=uttable13ae0ebd&sig=O6bMEEUh3OwQLSNrwp7sbeQeABTpCp6h/o8Nf4%2BecOE%3D - request: body: null headers: @@ -88,23 +88,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:27 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable13ae0ebd(PartitionKey='pk13ae0ebd',RowKey='rk13ae0ebd') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable13ae0ebd/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A34.3757525Z''\"","PartitionKey":"pk13ae0ebd","RowKey":"rk13ae0ebd","Timestamp":"2020-07-30T13:33:34.3757525Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable13ae0ebd/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A27.9247832Z''\"","PartitionKey":"pk13ae0ebd","RowKey":"rk13ae0ebd","Timestamp":"2020-08-19T21:19:27.9247832Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:33 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A34.3757525Z'" + date: Wed, 19 Aug 2020 21:19:27 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A27.9247832Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -112,16 +112,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable13ae0ebd(PartitionKey='pk13ae0ebd',RowKey='rk13ae0ebd') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable13ae0ebd(PartitionKey='pk13ae0ebd',RowKey='rk13ae0ebd') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:27 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:27 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -132,12 +132,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:33 GMT + date: Wed, 19 Aug 2020 21:19:27 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable13ae0ebd') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable13ae0ebd') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add_inside_range.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add_inside_range.yaml index 24a27ff11755..1fb52bc92ea1 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add_inside_range.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add_inside_range.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:28 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:34 GMT + date: Wed, 19 Aug 2020 21:19:28 GMT location: https://storagename.table.core.windows.net/Tables('uttablef8471404') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "test", "RowKey": "test1", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:35 GMT + - Wed, 19 Aug 2020 21:19:28 GMT x-ms-version: - '2019-07-07' method: POST - uri: https://storagename.table.core.windows.net/uttablef8471404?se=2020-07-30T14:33:35Z&sp=a&sv=2019-07-07&tn=uttablef8471404&spk=test&srk=test1&epk=test&erk=test1&sig=7duoTvsLWKu/FhiLqPQM5VxWnCc/a4fARPfYUuPOqZw%3D + uri: https://storagename.table.core.windows.net/uttablef8471404?se=2020-08-19T22:19:28Z&sp=a&sv=2019-07-07&tn=uttablef8471404&spk=test&srk=test1&epk=test&erk=test1&sig=rtMHKd8Jj40y5JtbjV8QV9VrBr5oSEj/Mpgqqie7Ejk%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef8471404/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A35.2671919Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-07-30T13:33:35.2671919Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef8471404/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A28.8342768Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-08-19T21:19:28.8342768Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:34 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A35.2671919Z'" + date: Wed, 19 Aug 2020 21:19:28 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A28.8342768Z'" location: https://storagename.table.core.windows.net/uttablef8471404(PartitionKey='test',RowKey='test1') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablef8471404?se=2020-07-30T14:33:35Z&sp=a&sv=2019-07-07&tn=uttablef8471404&spk=test&srk=test1&epk=test&erk=test1&sig=7duoTvsLWKu/FhiLqPQM5VxWnCc/a4fARPfYUuPOqZw%3D + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablef8471404?se=2020-08-19T22:19:28Z&sp=a&sv=2019-07-07&tn=uttablef8471404&spk=test&srk=test1&epk=test&erk=test1&sig=rtMHKd8Jj40y5JtbjV8QV9VrBr5oSEj/Mpgqqie7Ejk%3D - request: body: null headers: @@ -88,23 +88,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:36 GMT + - Wed, 19 Aug 2020 21:19:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:36 GMT + - Wed, 19 Aug 2020 21:19:28 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablef8471404(PartitionKey='test',RowKey='test1') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef8471404/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A35.2671919Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-07-30T13:33:35.2671919Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablef8471404/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A28.8342768Z''\"","PartitionKey":"test","RowKey":"test1","Timestamp":"2020-08-19T21:19:28.8342768Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:34 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A35.2671919Z'" + date: Wed, 19 Aug 2020 21:19:28 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A28.8342768Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -112,16 +112,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablef8471404(PartitionKey='test',RowKey='test1') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablef8471404(PartitionKey='test',RowKey='test1') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:36 GMT + - Wed, 19 Aug 2020 21:19:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:36 GMT + - Wed, 19 Aug 2020 21:19:28 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -132,12 +132,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:35 GMT + date: Wed, 19 Aug 2020 21:19:28 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablef8471404') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablef8471404') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add_outside_range.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add_outside_range.yaml index b3ccdbcfd505..18dd71a2c1e3 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add_outside_range.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_add_outside_range.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:36 GMT + - Wed, 19 Aug 2020 21:19:28 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:36 GMT + - Wed, 19 Aug 2020 21:19:28 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:35 GMT + date: Wed, 19 Aug 2020 21:19:28 GMT location: https://storagename.table.core.windows.net/Tables('uttablede71485') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkde71485", "RowKey": "rkde71485", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:36 GMT + - Wed, 19 Aug 2020 21:19:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:36 GMT + - Wed, 19 Aug 2020 21:19:29 GMT x-ms-version: - '2019-07-07' method: POST - uri: https://storagename.table.core.windows.net/uttablede71485?se=2020-07-30T14:33:36Z&sp=a&sv=2019-07-07&tn=uttablede71485&spk=test&srk=test1&epk=test&erk=test1&sig=TwwbtbiFSisOHC74dgcQHfcipNxl2Nw15ydMVKpJ9U4%3D + uri: https://storagename.table.core.windows.net/uttablede71485?se=2020-08-19T22:19:29Z&sp=a&sv=2019-07-07&tn=uttablede71485&spk=test&srk=test1&epk=test&erk=test1&sig=n/vlDyIiNefgqqpjkT/cdFJZ6gahCpqIXtNwqUCPsU%3D response: body: string: '{"odata.error":{"code":"AuthorizationFailure","message":{"lang":"en-US","value":"This - request is not authorized to perform this operation.\nRequestId:552d0ca1-f002-0073-1f76-667ac9000000\nTime:2020-07-30T13:33:36.0762491Z"}}}' + request is not authorized to perform this operation.\nRequestId:3cae7700-a002-0080-806e-7692c9000000\nTime:2020-08-19T21:19:29.9961342Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:35 GMT + date: Wed, 19 Aug 2020 21:19:29 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -78,16 +78,16 @@ interactions: status: code: 403 message: Forbidden - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablede71485?se=2020-07-30T14:33:36Z&sp=a&sv=2019-07-07&tn=uttablede71485&spk=test&srk=test1&epk=test&erk=test1&sig=TwwbtbiFSisOHC74dgcQHfcipNxl2Nw15ydMVKpJ9U4%3D + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablede71485?se=2020-08-19T22:19:29Z&sp=a&sv=2019-07-07&tn=uttablede71485&spk=test&srk=test1&epk=test&erk=test1&sig=n//vlDyIiNefgqqpjkT/cdFJZ6gahCpqIXtNwqUCPsU%3D - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:29 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:29 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -98,12 +98,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:35 GMT + date: Wed, 19 Aug 2020 21:19:29 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablede71485') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablede71485') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_delete.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_delete.yaml index 92a1f0000070..0f92de22c685 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_delete.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_delete.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:30 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:35 GMT + date: Wed, 19 Aug 2020 21:19:29 GMT location: https://storagename.table.core.windows.net/Tables('uttable42981007') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk42981007", "RowKey": "rk42981007", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:30 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable42981007 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42981007/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A36.5681979Z''\"","PartitionKey":"pk42981007","RowKey":"rk42981007","Timestamp":"2020-07-30T13:33:36.5681979Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42981007/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A30.5381087Z''\"","PartitionKey":"pk42981007","RowKey":"rk42981007","Timestamp":"2020-08-19T21:19:30.5381087Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:35 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A36.5681979Z'" + date: Wed, 19 Aug 2020 21:19:29 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A30.5381087Z'" location: https://storagename.table.core.windows.net/uttable42981007(PartitionKey='pk42981007',RowKey='rk42981007') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,38 +79,38 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42981007 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42981007 - request: body: null headers: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:30 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:30 GMT x-ms-version: - '2019-07-07' method: DELETE - uri: https://storagename.table.core.windows.net/uttable42981007(PartitionKey='pk42981007',RowKey='rk42981007')?se=2020-07-30T14:33:37Z&sp=d&sv=2019-07-07&tn=uttable42981007&sig=4Z9kxh5oJNJvciPDm3x52tEKQ7RkjwQ6dz2/zZIBHAo%3D + uri: https://storagename.table.core.windows.net/uttable42981007(PartitionKey='pk42981007',RowKey='rk42981007')?se=2020-08-19T22:19:30Z&sp=d&sv=2019-07-07&tn=uttable42981007&sig=76vjWfTy1HqbNGbx8%2Bgbdf2k5E4buWU7w4AKvo8yXmg%3D response: body: string: '' headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:36 GMT + date: Wed, 19 Aug 2020 21:19:30 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42981007(PartitionKey='pk42981007',RowKey='rk42981007')?se=2020-07-30T14:33:37Z&sp=d&sv=2019-07-07&tn=uttable42981007&sig=4Z9kxh5oJNJvciPDm3x52tEKQ7RkjwQ6dz2/zZIBHAo%3D + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42981007(PartitionKey='pk42981007',RowKey='rk42981007')?se=2020-08-19T22:19:30Z&sp=d&sv=2019-07-07&tn=uttable42981007&sig=76vjWfTy1HqbNGbx8%2Bgbdf2k5E4buWU7w4AKvo8yXmg%3D - request: body: null headers: @@ -119,11 +119,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:37 GMT + - Wed, 19 Aug 2020 21:19:30 GMT x-ms-version: - '2019-07-07' method: GET @@ -131,11 +131,11 @@ interactions: response: body: string: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:ab8779d8-d002-004d-5a76-66cce8000000\nTime:2020-07-30T13:33:36.9524748Z"}}}' + specified resource does not exist.\nRequestId:c05f6c21-e002-0100-2a6e-767736000000\nTime:2020-08-19T21:19:31.0124457Z"}}}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:36 GMT + date: Wed, 19 Aug 2020 21:19:30 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -143,16 +143,16 @@ interactions: status: code: 404 message: Not Found - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42981007(PartitionKey='pk42981007',RowKey='rk42981007') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42981007(PartitionKey='pk42981007',RowKey='rk42981007') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:30 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:30 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -163,12 +163,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:36 GMT + date: Wed, 19 Aug 2020 21:19:30 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable42981007') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable42981007') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_query.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_query.yaml index 159f9d6cf355..d27278e74af1 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_query.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_query.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:31 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:36 GMT + date: Wed, 19 Aug 2020 21:19:30 GMT location: https://storagename.table.core.windows.net/Tables('uttable331c0fca') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk331c0fca", "RowKey": "rk331c0fca", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:31 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable331c0fca response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable331c0fca/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A37.4490452Z''\"","PartitionKey":"pk331c0fca","RowKey":"rk331c0fca","Timestamp":"2020-07-30T13:33:37.4490452Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable331c0fca/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A31.5327098Z''\"","PartitionKey":"pk331c0fca","RowKey":"rk331c0fca","Timestamp":"2020-08-19T21:19:31.5327098Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:36 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A37.4490452Z'" + date: Wed, 19 Aug 2020 21:19:30 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A31.5327098Z'" location: https://storagename.table.core.windows.net/uttable331c0fca(PartitionKey='pk331c0fca',RowKey='rk331c0fca') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable331c0fca + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable331c0fca - request: body: null headers: @@ -88,22 +88,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:31 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/uttable331c0fca()?st=2020-07-30T13:32:38Z&se=2020-07-30T14:33:38Z&sp=r&sv=2019-07-07&tn=uttable331c0fca&sig=3rch/4gu9Mvfd4m3oaojF5iruQ8d4qQgSVcSD/GfRIw%3D + uri: https://storagename.table.core.windows.net/uttable331c0fca()?st=2020-08-19T21:18:31Z&se=2020-08-19T22:19:31Z&sp=r&sv=2019-07-07&tn=uttable331c0fca&sig=e9xvnzN1xECgBWjcUxcvlr%2Bpu66Kn1T%2BWGyujTWf5Qc%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable331c0fca","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A37.4490452Z''\"","PartitionKey":"pk331c0fca","RowKey":"rk331c0fca","Timestamp":"2020-07-30T13:33:37.4490452Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable331c0fca","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A31.5327098Z''\"","PartitionKey":"pk331c0fca","RowKey":"rk331c0fca","Timestamp":"2020-08-19T21:19:31.5327098Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:37 GMT + date: Wed, 19 Aug 2020 21:19:31 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -111,16 +111,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable331c0fca()?st=2020-07-30T13:32:38Z&se=2020-07-30T14:33:38Z&sp=r&sv=2019-07-07&tn=uttable331c0fca&sig=3rch/4gu9Mvfd4m3oaojF5iruQ8d4qQgSVcSD/GfRIw%3D + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable331c0fca()?st=2020-08-19T21:18:31Z&se=2020-08-19T22:19:31Z&sp=r&sv=2019-07-07&tn=uttable331c0fca&sig=e9xvnzN1xECgBWjcUxcvlr%2Bpu66Kn1T%2BWGyujTWf5Qc%3D - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:31 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:31 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -131,12 +131,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:37 GMT + date: Wed, 19 Aug 2020 21:19:31 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable331c0fca') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable331c0fca') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_signed_identifier.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_signed_identifier.yaml index 7619d39d62fe..a8f7d8a07d21 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_signed_identifier.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_signed_identifier.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:38 GMT + - Wed, 19 Aug 2020 21:19:32 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:37 GMT + date: Wed, 19 Aug 2020 21:19:32 GMT location: https://storagename.table.core.windows.net/Tables('uttablee481490') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pke481490", "RowKey": "rke481490", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:32 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablee481490 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee481490/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A38.2608037Z''\"","PartitionKey":"pke481490","RowKey":"rke481490","Timestamp":"2020-07-30T13:33:38.2608037Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee481490/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A32.5469539Z''\"","PartitionKey":"pke481490","RowKey":"rke481490","Timestamp":"2020-08-19T21:19:32.5469539Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:37 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A38.2608037Z'" + date: Wed, 19 Aug 2020 21:19:32 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A32.5469539Z'" location: https://storagename.table.core.windows.net/uttablee481490(PartitionKey='pke481490',RowKey='rke481490') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablee481490 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablee481490 - request: body: ' @@ -92,11 +92,11 @@ interactions: Content-Type: - application/xml Date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:32 GMT x-ms-version: - '2019-07-07' method: PUT @@ -106,13 +106,13 @@ interactions: string: '' headers: content-length: '0' - date: Thu, 30 Jul 2020 13:33:38 GMT + date: Wed, 19 Aug 2020 21:19:32 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablee481490?comp=acl + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablee481490?comp=acl - request: body: null headers: @@ -121,22 +121,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:32 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:32 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/uttablee481490()?sv=2019-07-07&si=testid&tn=uttablee481490&sig=RWZ1rGuXKKZLqORU0cZb%2BJNGhO3/2QlfMY0Osw1Ukmo%3D + uri: https://storagename.table.core.windows.net/uttablee481490()?sv=2019-07-07&si=testid&tn=uttablee481490&sig=NBow88FRha8ZWBVBLPUl1QUtIi4e%2BYj9rx8TUwPa%2Bh0%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee481490","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A38.2608037Z''\"","PartitionKey":"pke481490","RowKey":"rke481490","Timestamp":"2020-07-30T13:33:38.2608037Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablee481490","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A32.5469539Z''\"","PartitionKey":"pke481490","RowKey":"rke481490","Timestamp":"2020-08-19T21:19:32.5469539Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:38 GMT + date: Wed, 19 Aug 2020 21:19:32 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -144,16 +144,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablee481490()?sv=2019-07-07&si=testid&tn=uttablee481490&sig=RWZ1rGuXKKZLqORU0cZb%2BJNGhO3/2QlfMY0Osw1Ukmo%3D + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablee481490()?sv=2019-07-07&si=testid&tn=uttablee481490&sig=NBow88FRha8ZWBVBLPUl1QUtIi4e%2BYj9rx8TUwPa%2Bh0%3D - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:33 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -164,12 +164,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:38 GMT + date: Wed, 19 Aug 2020 21:19:33 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablee481490') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablee481490') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_update.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_update.yaml index f224177c6b42..db80819100a4 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_update.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_update.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:39 GMT + - Wed, 19 Aug 2020 21:19:33 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:38 GMT + date: Wed, 19 Aug 2020 21:19:32 GMT location: https://storagename.table.core.windows.net/Tables('uttable43091017') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk43091017", "RowKey": "rk43091017", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:33 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable43091017 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable43091017/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A39.2403647Z''\"","PartitionKey":"pk43091017","RowKey":"rk43091017","Timestamp":"2020-07-30T13:33:39.2403647Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable43091017/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A33.6143081Z''\"","PartitionKey":"pk43091017","RowKey":"rk43091017","Timestamp":"2020-08-19T21:19:33.6143081Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:38 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A39.2403647Z'" + date: Wed, 19 Aug 2020 21:19:33 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A33.6143081Z'" location: https://storagename.table.core.windows.net/uttable43091017(PartitionKey='pk43091017',RowKey='rk43091017') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable43091017 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable43091017 - request: body: '{"PartitionKey": "pk43091017", "RowKey": "rk43091017", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,32 +92,32 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:33 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:33 GMT x-ms-version: - '2019-07-07' method: PUT - uri: https://storagename.table.core.windows.net/uttable43091017(PartitionKey='pk43091017',RowKey='rk43091017')?se=2020-07-30T14:33:40Z&sp=u&sv=2019-07-07&tn=uttable43091017&sig=/M5WdeL2zW%2B%2Biy3EwaS/ceaedpQXFs0OMKWXRdfnaCs%3D + uri: https://storagename.table.core.windows.net/uttable43091017(PartitionKey='pk43091017',RowKey='rk43091017')?se=2020-08-19T22:19:33Z&sp=u&sv=2019-07-07&tn=uttable43091017&sig=b7LhhI%2B55SM3etFGn1INecAzzW3UOxIxD165z94SHuo%3D response: body: string: '' headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:39 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A39.5627442Z'" + date: Wed, 19 Aug 2020 21:19:33 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A33.985073Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable43091017(PartitionKey='pk43091017',RowKey='rk43091017')?se=2020-07-30T14:33:40Z&sp=u&sv=2019-07-07&tn=uttable43091017&sig=/M5WdeL2zW%2B%2Biy3EwaS/ceaedpQXFs0OMKWXRdfnaCs%3D + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable43091017(PartitionKey='pk43091017',RowKey='rk43091017')?se=2020-08-19T22:19:33Z&sp=u&sv=2019-07-07&tn=uttable43091017&sig=b7LhhI%2B55SM3etFGn1INecAzzW3UOxIxD165z94SHuo%3D - request: body: null headers: @@ -126,23 +126,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:33 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable43091017(PartitionKey='pk43091017',RowKey='rk43091017') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable43091017/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A39.5627442Z''\"","PartitionKey":"pk43091017","RowKey":"rk43091017","Timestamp":"2020-07-30T13:33:39.5627442Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable43091017/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A33.985073Z''\"","PartitionKey":"pk43091017","RowKey":"rk43091017","Timestamp":"2020-08-19T21:19:33.985073Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:39 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A39.5627442Z'" + date: Wed, 19 Aug 2020 21:19:33 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A33.985073Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -150,16 +150,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable43091017(PartitionKey='pk43091017',RowKey='rk43091017') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable43091017(PartitionKey='pk43091017',RowKey='rk43091017') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:34 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -170,12 +170,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:39 GMT + date: Wed, 19 Aug 2020 21:19:33 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable43091017') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable43091017') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_upper_case_table_name.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_upper_case_table_name.yaml index 5341421c5fe8..ef83e31ec430 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_upper_case_table_name.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_sas_upper_case_table_name.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:40 GMT + - Wed, 19 Aug 2020 21:19:34 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:39 GMT + date: Wed, 19 Aug 2020 21:19:34 GMT location: https://storagename.table.core.windows.net/Tables('uttable65261622') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk65261622", "RowKey": "rk65261622", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:34 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable65261622 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable65261622/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A40.1430638Z''\"","PartitionKey":"pk65261622","RowKey":"rk65261622","Timestamp":"2020-07-30T13:33:40.1430638Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable65261622/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A34.6065691Z''\"","PartitionKey":"pk65261622","RowKey":"rk65261622","Timestamp":"2020-08-19T21:19:34.6065691Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:39 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A40.1430638Z'" + date: Wed, 19 Aug 2020 21:19:34 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A34.6065691Z'" location: https://storagename.table.core.windows.net/uttable65261622(PartitionKey='pk65261622',RowKey='rk65261622') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable65261622 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable65261622 - request: body: null headers: @@ -88,22 +88,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:34 GMT x-ms-version: - '2019-07-07' method: GET - uri: https://storagename.table.core.windows.net/uttable65261622()?st=2020-07-30T13:32:41Z&se=2020-07-30T14:33:41Z&sp=r&sv=2019-07-07&tn=UTTABLE65261622&sig=8sgKEU7fUTZ87pIwZNa7aZMUE6bs5YtrYTEBfgSa7Pc%3D + uri: https://storagename.table.core.windows.net/uttable65261622()?st=2020-08-19T21:18:34Z&se=2020-08-19T22:19:34Z&sp=r&sv=2019-07-07&tn=UTTABLE65261622&sig=O6K0AxMv0At7K47pTHOWgDXVtggrrXZRK9QR71w9D%2B0%3D response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable65261622","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A40.1430638Z''\"","PartitionKey":"pk65261622","RowKey":"rk65261622","Timestamp":"2020-07-30T13:33:40.1430638Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable65261622","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A34.6065691Z''\"","PartitionKey":"pk65261622","RowKey":"rk65261622","Timestamp":"2020-08-19T21:19:34.6065691Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:39 GMT + date: Wed, 19 Aug 2020 21:19:34 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -111,16 +111,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable65261622()?st=2020-07-30T13:32:41Z&se=2020-07-30T14:33:41Z&sp=r&sv=2019-07-07&tn=UTTABLE65261622&sig=8sgKEU7fUTZ87pIwZNa7aZMUE6bs5YtrYTEBfgSa7Pc%3D + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable65261622()?st=2020-08-19T21:18:34Z&se=2020-08-19T22:19:34Z&sp=r&sv=2019-07-07&tn=UTTABLE65261622&sig=O6K0AxMv0At7K47pTHOWgDXVtggrrXZRK9QR71w9D%2B0%3D - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:34 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:34 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -131,12 +131,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:40 GMT + date: Wed, 19 Aug 2020 21:19:34 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable65261622') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable65261622') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_timezone.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_timezone.yaml index b0c69c3ce162..197629066ea7 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_timezone.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_timezone.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:35 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:40 GMT + date: Wed, 19 Aug 2020 21:19:35 GMT location: https://storagename.table.core.windows.net/Tables('uttable23a30f59') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk23a30f59", "RowKey": "rk23a30f59", "date": "2003-09-27T09:52:43Z", "date@odata.type": "Edm.DateTime"}' @@ -49,23 +49,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:35 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable23a30f59 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable23a30f59/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A40.9211942Z''\"","PartitionKey":"pk23a30f59","RowKey":"rk23a30f59","Timestamp":"2020-07-30T13:33:40.9211942Z","date@odata.type":"Edm.DateTime","date":"2003-09-27T09:52:43Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable23a30f59/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A35.4833723Z''\"","PartitionKey":"pk23a30f59","RowKey":"rk23a30f59","Timestamp":"2020-08-19T21:19:35.4833723Z","date@odata.type":"Edm.DateTime","date":"2003-09-27T09:52:43Z"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:40 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A40.9211942Z'" + date: Wed, 19 Aug 2020 21:19:35 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A35.4833723Z'" location: https://storagename.table.core.windows.net/uttable23a30f59(PartitionKey='pk23a30f59',RowKey='rk23a30f59') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -74,7 +74,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable23a30f59 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable23a30f59 - request: body: null headers: @@ -83,23 +83,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:41 GMT + - Wed, 19 Aug 2020 21:19:35 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable23a30f59(PartitionKey='pk23a30f59',RowKey='rk23a30f59') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable23a30f59/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A40.9211942Z''\"","PartitionKey":"pk23a30f59","RowKey":"rk23a30f59","Timestamp":"2020-07-30T13:33:40.9211942Z","date@odata.type":"Edm.DateTime","date":"2003-09-27T09:52:43Z"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable23a30f59/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A35.4833723Z''\"","PartitionKey":"pk23a30f59","RowKey":"rk23a30f59","Timestamp":"2020-08-19T21:19:35.4833723Z","date@odata.type":"Edm.DateTime","date":"2003-09-27T09:52:43Z"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:40 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A40.9211942Z'" + date: Wed, 19 Aug 2020 21:19:35 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A35.4833723Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -107,16 +107,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable23a30f59(PartitionKey='pk23a30f59',RowKey='rk23a30f59') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable23a30f59(PartitionKey='pk23a30f59',RowKey='rk23a30f59') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:35 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -127,12 +127,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:40 GMT + date: Wed, 19 Aug 2020 21:19:35 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable23a30f59') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable23a30f59') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_unicode_property_name.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_unicode_property_name.yaml index 088e51bb0e13..a58ba8590a17 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_unicode_property_name.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_unicode_property_name.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:35 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:40 GMT + date: Wed, 19 Aug 2020 21:19:34 GMT location: https://storagename.table.core.windows.net/Tables('uttable103b14b9') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk103b14b9", "RowKey": "rk103b14b9", "\u554a\u9f44\u4e02\u72db\u72dc": "\ua015"}' @@ -49,23 +49,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:35 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:35 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable103b14b9 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable103b14b9/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A41.4943173Z''\"","PartitionKey":"pk103b14b9","RowKey":"rk103b14b9","Timestamp":"2020-07-30T13:33:41.4943173Z","\u554a\u9f44\u4e02\u72db\u72dc":"\ua015"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable103b14b9/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A36.0665592Z''\"","PartitionKey":"pk103b14b9","RowKey":"rk103b14b9","Timestamp":"2020-08-19T21:19:36.0665592Z","\u554a\u9f44\u4e02\u72db\u72dc":"\ua015"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:40 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A41.4943173Z'" + date: Wed, 19 Aug 2020 21:19:35 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A36.0665592Z'" location: https://storagename.table.core.windows.net/uttable103b14b9(PartitionKey='pk103b14b9',RowKey='rk103b14b9') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -74,7 +74,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable103b14b9 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable103b14b9 - request: body: '{"PartitionKey": "pk103b14b9", "RowKey": "test2", "\u554a\u9f44\u4e02\u72db\u72dc": "hello"}' @@ -88,23 +88,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable103b14b9 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable103b14b9/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A41.5763716Z''\"","PartitionKey":"pk103b14b9","RowKey":"test2","Timestamp":"2020-07-30T13:33:41.5763716Z","\u554a\u9f44\u4e02\u72db\u72dc":"hello"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable103b14b9/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A36.1446139Z''\"","PartitionKey":"pk103b14b9","RowKey":"test2","Timestamp":"2020-08-19T21:19:36.1446139Z","\u554a\u9f44\u4e02\u72db\u72dc":"hello"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:40 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A41.5763716Z'" + date: Wed, 19 Aug 2020 21:19:35 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A36.1446139Z'" location: https://storagename.table.core.windows.net/uttable103b14b9(PartitionKey='pk103b14b9',RowKey='test2') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -113,7 +113,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable103b14b9 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable103b14b9 - request: body: null headers: @@ -122,22 +122,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable103b14b9() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable103b14b9","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A41.4943173Z''\"","PartitionKey":"pk103b14b9","RowKey":"rk103b14b9","Timestamp":"2020-07-30T13:33:41.4943173Z","\u554a\u9f44\u4e02\u72db\u72dc":"\ua015"},{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A41.5763716Z''\"","PartitionKey":"pk103b14b9","RowKey":"test2","Timestamp":"2020-07-30T13:33:41.5763716Z","\u554a\u9f44\u4e02\u72db\u72dc":"hello"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable103b14b9","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A36.0665592Z''\"","PartitionKey":"pk103b14b9","RowKey":"rk103b14b9","Timestamp":"2020-08-19T21:19:36.0665592Z","\u554a\u9f44\u4e02\u72db\u72dc":"\ua015"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A36.1446139Z''\"","PartitionKey":"pk103b14b9","RowKey":"test2","Timestamp":"2020-08-19T21:19:36.1446139Z","\u554a\u9f44\u4e02\u72db\u72dc":"hello"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:41 GMT + date: Wed, 19 Aug 2020 21:19:35 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -145,16 +145,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable103b14b9() + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable103b14b9() - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -165,12 +165,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:41 GMT + date: Wed, 19 Aug 2020 21:19:35 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable103b14b9') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable103b14b9') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_unicode_property_value.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_unicode_property_value.yaml index 779fda5149a2..e79bebf089d8 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_unicode_property_value.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_unicode_property_value.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:42 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:41 GMT + date: Wed, 19 Aug 2020 21:19:36 GMT location: https://storagename.table.core.windows.net/Tables('uttable259e1535') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk259e1535", "RowKey": "rk259e1535", "Description": "\ua015"}' headers: @@ -48,23 +48,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable259e1535 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable259e1535/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A42.1455988Z''\"","PartitionKey":"pk259e1535","RowKey":"rk259e1535","Timestamp":"2020-07-30T13:33:42.1455988Z","Description":"\ua015"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable259e1535/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A36.7231154Z''\"","PartitionKey":"pk259e1535","RowKey":"rk259e1535","Timestamp":"2020-08-19T21:19:36.7231154Z","Description":"\ua015"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:41 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A42.1455988Z'" + date: Wed, 19 Aug 2020 21:19:36 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A36.7231154Z'" location: https://storagename.table.core.windows.net/uttable259e1535(PartitionKey='pk259e1535',RowKey='rk259e1535') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -73,7 +73,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable259e1535 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable259e1535 - request: body: '{"PartitionKey": "pk259e1535", "RowKey": "test2", "Description": "\ua015"}' headers: @@ -86,23 +86,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable259e1535 response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable259e1535/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A42.2226551Z''\"","PartitionKey":"pk259e1535","RowKey":"test2","Timestamp":"2020-07-30T13:33:42.2226551Z","Description":"\ua015"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable259e1535/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A36.8021706Z''\"","PartitionKey":"pk259e1535","RowKey":"test2","Timestamp":"2020-08-19T21:19:36.8021706Z","Description":"\ua015"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:42 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A42.2226551Z'" + date: Wed, 19 Aug 2020 21:19:36 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A36.8021706Z'" location: https://storagename.table.core.windows.net/uttable259e1535(PartitionKey='pk259e1535',RowKey='test2') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -111,7 +111,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable259e1535 + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable259e1535 - request: body: null headers: @@ -120,22 +120,22 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable259e1535() response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable259e1535","value":[{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A42.1455988Z''\"","PartitionKey":"pk259e1535","RowKey":"rk259e1535","Timestamp":"2020-07-30T13:33:42.1455988Z","Description":"\ua015"},{"odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A42.2226551Z''\"","PartitionKey":"pk259e1535","RowKey":"test2","Timestamp":"2020-07-30T13:33:42.2226551Z","Description":"\ua015"}]}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable259e1535","value":[{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A36.7231154Z''\"","PartitionKey":"pk259e1535","RowKey":"rk259e1535","Timestamp":"2020-08-19T21:19:36.7231154Z","Description":"\ua015"},{"odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A36.8021706Z''\"","PartitionKey":"pk259e1535","RowKey":"test2","Timestamp":"2020-08-19T21:19:36.8021706Z","Description":"\ua015"}]}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:42 GMT + date: Wed, 19 Aug 2020 21:19:36 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -143,16 +143,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable259e1535() + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable259e1535() - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -163,12 +163,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:42 GMT + date: Wed, 19 Aug 2020 21:19:36 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable259e1535') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable259e1535') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity.yaml index 0d134f54739d..f5900e26e4af 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:36 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:42 GMT + date: Wed, 19 Aug 2020 21:19:36 GMT location: https://storagename.table.core.windows.net/Tables('uttable75d9116d') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk75d9116d", "RowKey": "rk75d9116d", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:37 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable75d9116d response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable75d9116d/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A42.8016945Z''\"","PartitionKey":"pk75d9116d","RowKey":"rk75d9116d","Timestamp":"2020-07-30T13:33:42.8016945Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable75d9116d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A37.4130884Z''\"","PartitionKey":"pk75d9116d","RowKey":"rk75d9116d","Timestamp":"2020-08-19T21:19:37.4130884Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:42 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A42.8016945Z'" + date: Wed, 19 Aug 2020 21:19:36 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A37.4130884Z'" location: https://storagename.table.core.windows.net/uttable75d9116d(PartitionKey='pk75d9116d',RowKey='rk75d9116d') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable75d9116d + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable75d9116d - request: body: '{"PartitionKey": "pk75d9116d", "RowKey": "rk75d9116d", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,13 +92,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:37 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:37 GMT x-ms-version: - '2019-07-07' method: PUT @@ -109,15 +109,15 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:42 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A42.8821308Z'" + date: Wed, 19 Aug 2020 21:19:36 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A37.5035912Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable75d9116d(PartitionKey='pk75d9116d',RowKey='rk75d9116d') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable75d9116d(PartitionKey='pk75d9116d',RowKey='rk75d9116d') - request: body: null headers: @@ -126,23 +126,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:43 GMT + - Wed, 19 Aug 2020 21:19:37 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttable75d9116d(PartitionKey='pk75d9116d',RowKey='rk75d9116d') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable75d9116d/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A42.8821308Z''\"","PartitionKey":"pk75d9116d","RowKey":"rk75d9116d","Timestamp":"2020-07-30T13:33:42.8821308Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable75d9116d/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A37.5035912Z''\"","PartitionKey":"pk75d9116d","RowKey":"rk75d9116d","Timestamp":"2020-08-19T21:19:37.5035912Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:42 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A42.8821308Z'" + date: Wed, 19 Aug 2020 21:19:36 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A37.5035912Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -150,16 +150,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable75d9116d(PartitionKey='pk75d9116d',RowKey='rk75d9116d') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable75d9116d(PartitionKey='pk75d9116d',RowKey='rk75d9116d') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:37 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -170,12 +170,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:42 GMT + date: Wed, 19 Aug 2020 21:19:36 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable75d9116d') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable75d9116d') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_not_existing.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_not_existing.yaml index 3c820f4b0c60..cf9c3c56b057 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_not_existing.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_not_existing.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:37 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:37 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:43 GMT + date: Wed, 19 Aug 2020 21:19:37 GMT location: https://storagename.table.core.windows.net/Tables('uttable7e8316e7') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk7e8316e7", "RowKey": "rk7e8316e7", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -48,13 +48,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:37 GMT If-Match: - '*' User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:37 GMT x-ms-version: - '2019-07-07' method: PUT @@ -64,13 +64,13 @@ interactions: string: 'ResourceNotFoundThe specified resource does not exist. - RequestId:7fdb0557-b002-0012-6176-663e16000000 + RequestId:0da4aaad-7002-0067-1f6e-7682c4000000 - Time:2020-07-30T13:33:43.4765134Z' + Time:2020-08-19T21:19:38.0817266Z' headers: cache-control: no-cache content-type: application/xml;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:43 GMT + date: Wed, 19 Aug 2020 21:19:37 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -78,16 +78,16 @@ interactions: status: code: 404 message: Not Found - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable7e8316e7(PartitionKey='pk7e8316e7',RowKey='rk7e8316e7') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable7e8316e7(PartitionKey='pk7e8316e7',RowKey='rk7e8316e7') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:38 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:38 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -98,12 +98,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:43 GMT + date: Wed, 19 Aug 2020 21:19:37 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable7e8316e7') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable7e8316e7') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_with_if_doesnt_match.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_with_if_doesnt_match.yaml index d6aa209277db..2b3333490d55 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_with_if_doesnt_match.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_with_if_doesnt_match.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:38 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:38 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:43 GMT + date: Wed, 19 Aug 2020 21:19:37 GMT location: https://storagename.table.core.windows.net/Tables('uttable42cf1a0e') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pk42cf1a0e", "RowKey": "rk42cf1a0e", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:38 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:44 GMT + - Wed, 19 Aug 2020 21:19:38 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttable42cf1a0e response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42cf1a0e/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A43.9720295Z''\"","PartitionKey":"pk42cf1a0e","RowKey":"rk42cf1a0e","Timestamp":"2020-07-30T13:33:43.9720295Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttable42cf1a0e/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A38.5741224Z''\"","PartitionKey":"pk42cf1a0e","RowKey":"rk42cf1a0e","Timestamp":"2020-08-19T21:19:38.5741224Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:43 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A43.9720295Z'" + date: Wed, 19 Aug 2020 21:19:37 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A38.5741224Z'" location: https://storagename.table.core.windows.net/uttable42cf1a0e(PartitionKey='pk42cf1a0e',RowKey='rk42cf1a0e') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42cf1a0e + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42cf1a0e - request: body: '{"PartitionKey": "pk42cf1a0e", "RowKey": "rk42cf1a0e", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,13 +92,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:38 GMT If-Match: - W/"datetime'2012-06-15T22%3A51%3A44.9662825Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:38 GMT x-ms-version: - '2019-07-07' method: PUT @@ -108,13 +108,13 @@ interactions: string: 'UpdateConditionNotSatisfiedThe update condition specified in the request was not satisfied. - RequestId:d60563e1-d002-006f-1976-66a2de000000 + RequestId:c6b1c8dd-6002-001e-7c6e-76eb8e000000 - Time:2020-07-30T13:33:44.0560854Z' + Time:2020-08-19T21:19:38.6591827Z' headers: cache-control: no-cache content-type: application/xml;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:43 GMT + date: Wed, 19 Aug 2020 21:19:37 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -122,16 +122,16 @@ interactions: status: code: 412 message: Precondition Failed - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttable42cf1a0e(PartitionKey='pk42cf1a0e',RowKey='rk42cf1a0e') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttable42cf1a0e(PartitionKey='pk42cf1a0e',RowKey='rk42cf1a0e') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:38 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:38 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -142,12 +142,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:43 GMT + date: Wed, 19 Aug 2020 21:19:38 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttable42cf1a0e') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttable42cf1a0e') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_with_if_matches.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_with_if_matches.yaml index 2451cec2d1ef..fa0492bd3afd 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_with_if_matches.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_entity_async.test_update_entity_with_if_matches.yaml @@ -11,11 +11,11 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:38 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:38 GMT x-ms-version: - '2019-07-07' method: POST @@ -26,7 +26,7 @@ interactions: headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:43 GMT + date: Wed, 19 Aug 2020 21:19:38 GMT location: https://storagename.table.core.windows.net/Tables('uttablec46617fa') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -35,7 +35,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables - request: body: '{"PartitionKey": "pkc46617fa", "RowKey": "rkc46617fa", "age": "39", "age@odata.type": "Edm.Int64", "sex": "male", "married": true, "deceased": false, "ratio": 3.1, @@ -54,23 +54,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:39 GMT x-ms-version: - '2019-07-07' method: POST uri: https://storagename.table.core.windows.net/uttablec46617fa response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec46617fa/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A44.565449Z''\"","PartitionKey":"pkc46617fa","RowKey":"rkc46617fa","Timestamp":"2020-07-30T13:33:44.565449Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec46617fa/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A39.1454284Z''\"","PartitionKey":"pkc46617fa","RowKey":"rkc46617fa","Timestamp":"2020-08-19T21:19:39.1454284Z","age@odata.type":"Edm.Int64","age":"39","sex":"male","married":true,"deceased":false,"ratio":3.1,"evenratio":3.0,"large@odata.type":"Edm.Int64","large":"933311100","Birthday@odata.type":"Edm.DateTime","Birthday":"1973-10-04T00:00:00Z","birthday@odata.type":"Edm.DateTime","birthday":"1970-10-04T00:00:00Z","binary@odata.type":"Edm.Binary","binary":"YmluYXJ5","other":20,"clsid@odata.type":"Edm.Guid","clsid":"c9da6455-213d-42c9-9a79-3e9149a57833"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:43 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A44.565449Z'" + date: Wed, 19 Aug 2020 21:19:38 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A39.1454284Z'" location: https://storagename.table.core.windows.net/uttablec46617fa(PartitionKey='pkc46617fa',RowKey='rkc46617fa') server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked @@ -79,7 +79,7 @@ interactions: status: code: 201 message: Created - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablec46617fa + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablec46617fa - request: body: '{"PartitionKey": "pkc46617fa", "RowKey": "rkc46617fa", "age": "abc", "sex": "female", "sign": "aquarius", "birthday": "1991-10-04T00:00:00Z", "birthday@odata.type": @@ -92,13 +92,13 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:39 GMT If-Match: - - W/"datetime'2020-07-30T13%3A33%3A44.565449Z'" + - W/"datetime'2020-08-19T21%3A19%3A39.1454284Z'" User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:39 GMT x-ms-version: - '2019-07-07' method: PUT @@ -109,15 +109,15 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:43 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A44.6504014Z'" + date: Wed, 19 Aug 2020 21:19:38 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A39.2348308Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablec46617fa(PartitionKey='pkc46617fa',RowKey='rkc46617fa') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablec46617fa(PartitionKey='pkc46617fa',RowKey='rkc46617fa') - request: body: null headers: @@ -126,23 +126,23 @@ interactions: DataServiceVersion: - '3.0' Date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:39 GMT x-ms-version: - '2019-07-07' method: GET uri: https://storagename.table.core.windows.net/uttablec46617fa(PartitionKey='pkc46617fa',RowKey='rkc46617fa') response: body: - string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec46617fa/@Element","odata.etag":"W/\"datetime''2020-07-30T13%3A33%3A44.6504014Z''\"","PartitionKey":"pkc46617fa","RowKey":"rkc46617fa","Timestamp":"2020-07-30T13:33:44.6504014Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' + string: '{"odata.metadata":"https://storagename.table.core.windows.net/$metadata#uttablec46617fa/@Element","odata.etag":"W/\"datetime''2020-08-19T21%3A19%3A39.2348308Z''\"","PartitionKey":"pkc46617fa","RowKey":"rkc46617fa","Timestamp":"2020-08-19T21:19:39.2348308Z","age":"abc","birthday@odata.type":"Edm.DateTime","birthday":"1991-10-04T00:00:00Z","sex":"female","sign":"aquarius"}' headers: cache-control: no-cache content-type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8 - date: Thu, 30 Jul 2020 13:33:43 GMT - etag: W/"datetime'2020-07-30T13%3A33%3A44.6504014Z'" + date: Wed, 19 Aug 2020 21:19:38 GMT + etag: W/"datetime'2020-08-19T21%3A19%3A39.2348308Z'" server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked x-content-type-options: nosniff @@ -150,16 +150,16 @@ interactions: status: code: 200 message: OK - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/uttablec46617fa(PartitionKey='pkc46617fa',RowKey='rkc46617fa') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/uttablec46617fa(PartitionKey='pkc46617fa',RowKey='rkc46617fa') - request: body: null headers: Date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Thu, 30 Jul 2020 13:33:45 GMT + - Wed, 19 Aug 2020 21:19:39 GMT x-ms-version: - '2019-07-07' method: DELETE @@ -170,12 +170,12 @@ interactions: headers: cache-control: no-cache content-length: '0' - date: Thu, 30 Jul 2020 13:33:44 GMT + date: Wed, 19 Aug 2020 21:19:38 GMT server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-content-type-options: nosniff x-ms-version: '2019-07-07' status: code: 204 message: No Content - url: https://pyacrstorageubqarxe6dhep.table.core.windows.net/Tables('uttablec46617fa') + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/Tables('uttablec46617fa') version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_retention_too_long.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_retention_too_long.yaml index 2261cd4e7fdf..bc148092ccf4 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_retention_too_long.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_retention_too_long.yaml @@ -15,11 +15,11 @@ interactions: Content-Type: - application/xml Date: - - Mon, 27 Jul 2020 14:13:17 GMT + - Wed, 19 Aug 2020 21:19:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:13:17 GMT + - Wed, 19 Aug 2020 21:19:39 GMT x-ms-version: - '2019-07-07' method: PUT @@ -29,16 +29,16 @@ interactions: string: 'InvalidXmlDocumentXML specified is not syntactically valid. - RequestId:64885058-b002-006e-2a20-647748000000 + RequestId:012199a3-f002-00f5-436e-761572000000 - Time:2020-07-27T14:13:17.6459931Z' + Time:2020-08-19T21:19:39.7793537Z' headers: content-length: - '327' content-type: - application/xml date: - - Mon, 27 Jul 2020 14:13:17 GMT + - Wed, 19 Aug 2020 21:19:39 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_cors.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_cors.yaml index 0d783e68fc65..d30ae0891540 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_cors.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_cors.yaml @@ -16,11 +16,11 @@ interactions: Content-Type: - application/xml Date: - - Mon, 27 Jul 2020 14:13:17 GMT + - Wed, 19 Aug 2020 21:19:39 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:13:17 GMT + - Wed, 19 Aug 2020 21:19:39 GMT x-ms-version: - '2019-07-07' method: PUT @@ -30,7 +30,7 @@ interactions: string: '' headers: date: - - Mon, 27 Jul 2020 14:13:17 GMT + - Wed, 19 Aug 2020 21:19:39 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -50,11 +50,11 @@ interactions: Connection: - keep-alive Date: - - Mon, 27 Jul 2020 14:13:48 GMT + - Wed, 19 Aug 2020 21:20:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:13:48 GMT + - Wed, 19 Aug 2020 21:20:10 GMT x-ms-version: - '2019-07-07' method: GET @@ -67,7 +67,7 @@ interactions: content-type: - application/xml date: - - Mon, 27 Jul 2020 14:13:47 GMT + - Wed, 19 Aug 2020 21:20:09 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_hour_metrics.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_hour_metrics.yaml index 2869e4fcbb32..098c192bfe2f 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_hour_metrics.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_hour_metrics.yaml @@ -15,11 +15,11 @@ interactions: Content-Type: - application/xml Date: - - Mon, 27 Jul 2020 14:13:48 GMT + - Wed, 19 Aug 2020 21:20:10 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:13:48 GMT + - Wed, 19 Aug 2020 21:20:10 GMT x-ms-version: - '2019-07-07' method: PUT @@ -29,7 +29,7 @@ interactions: string: '' headers: date: - - Mon, 27 Jul 2020 14:13:48 GMT + - Wed, 19 Aug 2020 21:20:10 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -49,11 +49,11 @@ interactions: Connection: - keep-alive Date: - - Mon, 27 Jul 2020 14:14:18 GMT + - Wed, 19 Aug 2020 21:20:40 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:14:18 GMT + - Wed, 19 Aug 2020 21:20:40 GMT x-ms-version: - '2019-07-07' method: GET @@ -66,7 +66,7 @@ interactions: content-type: - application/xml date: - - Mon, 27 Jul 2020 14:14:18 GMT + - Wed, 19 Aug 2020 21:20:40 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_logging.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_logging.yaml index 3cf3b29b2d6b..fa2a35e1263f 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_logging.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_logging.yaml @@ -15,11 +15,11 @@ interactions: Content-Type: - application/xml Date: - - Mon, 27 Jul 2020 14:14:18 GMT + - Wed, 19 Aug 2020 21:20:41 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:14:18 GMT + - Wed, 19 Aug 2020 21:20:41 GMT x-ms-version: - '2019-07-07' method: PUT @@ -29,7 +29,7 @@ interactions: string: '' headers: date: - - Mon, 27 Jul 2020 14:14:18 GMT + - Wed, 19 Aug 2020 21:20:41 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -49,11 +49,11 @@ interactions: Connection: - keep-alive Date: - - Mon, 27 Jul 2020 14:14:49 GMT + - Wed, 19 Aug 2020 21:21:11 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:14:49 GMT + - Wed, 19 Aug 2020 21:21:11 GMT x-ms-version: - '2019-07-07' method: GET @@ -66,7 +66,7 @@ interactions: content-type: - application/xml date: - - Mon, 27 Jul 2020 14:14:48 GMT + - Wed, 19 Aug 2020 21:21:11 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_minute_metrics.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_minute_metrics.yaml index fbb969d64816..acba9bed7a80 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_minute_metrics.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_set_minute_metrics.yaml @@ -15,11 +15,11 @@ interactions: Content-Type: - application/xml Date: - - Mon, 27 Jul 2020 14:14:49 GMT + - Wed, 19 Aug 2020 21:21:11 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:14:49 GMT + - Wed, 19 Aug 2020 21:21:11 GMT x-ms-version: - '2019-07-07' method: PUT @@ -29,7 +29,7 @@ interactions: string: '' headers: date: - - Mon, 27 Jul 2020 14:14:49 GMT + - Wed, 19 Aug 2020 21:21:12 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -49,11 +49,11 @@ interactions: Connection: - keep-alive Date: - - Mon, 27 Jul 2020 14:15:19 GMT + - Wed, 19 Aug 2020 21:21:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:15:19 GMT + - Wed, 19 Aug 2020 21:21:42 GMT x-ms-version: - '2019-07-07' method: GET @@ -66,7 +66,7 @@ interactions: content-type: - application/xml date: - - Mon, 27 Jul 2020 14:15:19 GMT + - Wed, 19 Aug 2020 21:21:42 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_table_service_properties.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_table_service_properties.yaml index 7ead60c10ac1..d1f40058f417 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_table_service_properties.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_table_service_properties.yaml @@ -16,11 +16,11 @@ interactions: Content-Type: - application/xml Date: - - Mon, 27 Jul 2020 14:15:19 GMT + - Wed, 19 Aug 2020 21:21:42 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:15:19 GMT + - Wed, 19 Aug 2020 21:21:42 GMT x-ms-version: - '2019-07-07' method: PUT @@ -30,7 +30,7 @@ interactions: string: '' headers: date: - - Mon, 27 Jul 2020 14:15:19 GMT + - Wed, 19 Aug 2020 21:21:42 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -50,11 +50,11 @@ interactions: Connection: - keep-alive Date: - - Mon, 27 Jul 2020 14:15:50 GMT + - Wed, 19 Aug 2020 21:22:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:15:50 GMT + - Wed, 19 Aug 2020 21:22:12 GMT x-ms-version: - '2019-07-07' method: GET @@ -67,7 +67,7 @@ interactions: content-type: - application/xml date: - - Mon, 27 Jul 2020 14:15:49 GMT + - Wed, 19 Aug 2020 21:22:12 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_too_many_cors_rules.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_too_many_cors_rules.yaml index 19c947aaa589..513995818329 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_too_many_cors_rules.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties.test_too_many_cors_rules.yaml @@ -21,11 +21,11 @@ interactions: Content-Type: - application/xml Date: - - Mon, 27 Jul 2020 14:15:50 GMT + - Wed, 19 Aug 2020 21:22:12 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:15:50 GMT + - Wed, 19 Aug 2020 21:22:12 GMT x-ms-version: - '2019-07-07' method: PUT @@ -35,16 +35,16 @@ interactions: string: 'InvalidXmlDocumentXML specified is not syntactically valid. - RequestId:2f02f88a-4002-0016-0920-641fff000000 + RequestId:9cbcabe6-3002-006b-766e-766c35000000 - Time:2020-07-27T14:15:50.7668519Z' + Time:2020-08-19T21:22:13.2000372Z' headers: content-length: - '327' content-type: - application/xml date: - - Mon, 27 Jul 2020 14:15:49 GMT + - Wed, 19 Aug 2020 21:22:12 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_retention_too_long_async.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_retention_too_long_async.yaml new file mode 100644 index 000000000000..b09afbe4c5c7 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_retention_too_long_async.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: ' + + 1.0truetruetrue366' + headers: + Content-Length: + - '273' + Content-Type: + - application/xml + Date: + - Tue, 11 Aug 2020 15:51:18 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Tue, 11 Aug 2020 15:51:18 GMT + x-ms-version: + - '2019-07-07' + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: 'InvalidXmlDocumentXML specified is not syntactically valid. + + RequestId:68177ab8-2002-0017-1ef7-6fca69000000 + + Time:2020-08-11T15:51:21.0443126Z' + headers: + content-length: '327' + content-type: application/xml + date: Tue, 11 Aug 2020 15:51:20 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + x-ms-error-code: InvalidXmlDocument + x-ms-version: '2019-07-07' + status: + code: 400 + message: XML specified is not syntactically valid. + url: https://pyacrstorage6jyx4hvspyg2.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_cors.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_cors.yaml new file mode 100644 index 000000000000..5f2105c9acc7 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_cors.yaml @@ -0,0 +1,37 @@ +interactions: +- request: + body: ' + + www.xyz.comGET0www.xyz.com,www.ab.com,www.bc.comGET,PUTx-ms-meta-data*,x-ms-meta-target*,x-ms-meta-xyz,x-ms-meta-foox-ms-meta-data*,x-ms-meta-source*,x-ms-meta-abc,x-ms-meta-bcd500' + headers: + Content-Length: + - '631' + Content-Type: + - application/xml + Date: + - Mon, 10 Aug 2020 16:44:50 GMT + User-Agent: + - azsdk-python-storage-table/12.0.0b1 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Mon, 10 Aug 2020 16:44:50 GMT + x-ms-version: + - 12.0.0b1 + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF\r\n\r\n + \ InvalidHeaderValue\r\n The value + for one of the HTTP headers is not in the correct format.\nRequestId:16266bd7-7002-006d-3835-6fffef000000\nTime:2020-08-10T16:44:51.9401828Z\r\n" + headers: + content-length: '371' + content-type: application/xml + date: Mon, 10 Aug 2020 16:44:51 GMT + server: Microsoft-HTTPAPI/2.0 + status: + code: 400 + message: The value for one of the HTTP headers is not in the correct format. + url: https://storagename.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_cors_async.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_cors_async.yaml new file mode 100644 index 000000000000..d0062be016a8 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_cors_async.yaml @@ -0,0 +1,64 @@ +interactions: +- request: + body: ' + + www.xyz.comGET0www.xyz.com,www.ab.com,www.bc.comGET,PUTx-ms-meta-data*,x-ms-meta-target*,x-ms-meta-xyz,x-ms-meta-foox-ms-meta-data*,x-ms-meta-source*,x-ms-meta-abc,x-ms-meta-bcd500' + headers: + Content-Length: + - '631' + Content-Type: + - application/xml + Date: + - Wed, 19 Aug 2020 21:22:13 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:22:13 GMT + x-ms-version: + - '2019-07-07' + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: '' + headers: + date: Wed, 19 Aug 2020 21:22:13 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2019-07-07' + status: + code: 202 + message: Accepted + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +- request: + body: null + headers: + Accept: + - application/xml + Date: + - Wed, 19 Aug 2020 21:22:43 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:22:43 GMT + x-ms-version: + - '2019-07-07' + method: GET + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0falsefalse1.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + headers: + content-type: application/xml + date: Wed, 19 Aug 2020 21:22:43 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + vary: Origin + x-ms-version: '2019-07-07' + status: + code: 200 + message: OK + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_hour_metrics.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_hour_metrics.yaml new file mode 100644 index 000000000000..25ff77268b76 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_hour_metrics.yaml @@ -0,0 +1,36 @@ +interactions: +- request: + body: ' + + 1.0truetruetrue5' + headers: + Content-Length: + - '267' + Content-Type: + - application/xml + Date: + - Mon, 10 Aug 2020 16:44:51 GMT + User-Agent: + - azsdk-python-storage-table/12.0.0b1 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Mon, 10 Aug 2020 16:44:51 GMT + x-ms-version: + - 12.0.0b1 + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF\r\n\r\n + \ InvalidHeaderValue\r\n The value + for one of the HTTP headers is not in the correct format.\nRequestId:b6f9f451-0002-008c-7d35-6f189a000000\nTime:2020-08-10T16:44:52.2987018Z\r\n" + headers: + content-length: '371' + content-type: application/xml + date: Mon, 10 Aug 2020 16:44:51 GMT + server: Microsoft-HTTPAPI/2.0 + status: + code: 400 + message: The value for one of the HTTP headers is not in the correct format. + url: https://storagename.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_hour_metrics_async.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_hour_metrics_async.yaml new file mode 100644 index 000000000000..98b804b1d365 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_hour_metrics_async.yaml @@ -0,0 +1,63 @@ +interactions: +- request: + body: ' + + 1.0truetruetrue5' + headers: + Content-Length: + - '267' + Content-Type: + - application/xml + Date: + - Wed, 19 Aug 2020 21:22:43 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:22:43 GMT + x-ms-version: + - '2019-07-07' + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: '' + headers: + date: Wed, 19 Aug 2020 21:22:43 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2019-07-07' + status: + code: 202 + message: Accepted + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +- request: + body: null + headers: + Accept: + - application/xml + Date: + - Wed, 19 Aug 2020 21:23:14 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:23:14 GMT + x-ms-version: + - '2019-07-07' + method: GET + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue51.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + headers: + content-type: application/xml + date: Wed, 19 Aug 2020 21:23:14 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + vary: Origin + x-ms-version: '2019-07-07' + status: + code: 200 + message: OK + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_logging.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_logging.yaml new file mode 100644 index 000000000000..3b2ea91b04fa --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_logging.yaml @@ -0,0 +1,36 @@ +interactions: +- request: + body: ' + + 1.0truetruetruetrue5' + headers: + Content-Length: + - '262' + Content-Type: + - application/xml + Date: + - Mon, 10 Aug 2020 16:38:41 GMT + User-Agent: + - azsdk-python-storage-table/12.0.0b1 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Mon, 10 Aug 2020 16:38:41 GMT + x-ms-version: + - 12.0.0b1 + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF\r\n\r\n + \ InvalidHeaderValue\r\n The value + for one of the HTTP headers is not in the correct format.\nRequestId:617bd8f1-c002-0116-7534-6fd20a000000\nTime:2020-08-10T16:38:42.9984604Z\r\n" + headers: + content-length: '371' + content-type: application/xml + date: Mon, 10 Aug 2020 16:38:42 GMT + server: Microsoft-HTTPAPI/2.0 + status: + code: 400 + message: The value for one of the HTTP headers is not in the correct format. + url: https://storagename.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_logging_async.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_logging_async.yaml new file mode 100644 index 000000000000..ea8e8ba8273a --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_logging_async.yaml @@ -0,0 +1,63 @@ +interactions: +- request: + body: ' + + 1.0truetruetruetrue5' + headers: + Content-Length: + - '262' + Content-Type: + - application/xml + Date: + - Wed, 19 Aug 2020 21:23:15 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:23:15 GMT + x-ms-version: + - '2019-07-07' + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: '' + headers: + date: Wed, 19 Aug 2020 21:23:14 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2019-07-07' + status: + code: 202 + message: Accepted + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +- request: + body: null + headers: + Accept: + - application/xml + Date: + - Wed, 19 Aug 2020 21:23:45 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:23:45 GMT + x-ms-version: + - '2019-07-07' + method: GET + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + headers: + content-type: application/xml + date: Wed, 19 Aug 2020 21:23:45 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + vary: Origin + x-ms-version: '2019-07-07' + status: + code: 200 + message: OK + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_minute_metrics.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_minute_metrics.yaml new file mode 100644 index 000000000000..0aa821f62161 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_minute_metrics.yaml @@ -0,0 +1,36 @@ +interactions: +- request: + body: ' + + 1.0truetruetrue5' + headers: + Content-Length: + - '271' + Content-Type: + - application/xml + Date: + - Mon, 10 Aug 2020 16:44:51 GMT + User-Agent: + - azsdk-python-storage-table/12.0.0b1 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Mon, 10 Aug 2020 16:44:51 GMT + x-ms-version: + - 12.0.0b1 + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF\r\n\r\n + \ InvalidHeaderValue\r\n The value + for one of the HTTP headers is not in the correct format.\nRequestId:3f3ccf8b-8002-005a-2835-6f5340000000\nTime:2020-08-10T16:44:52.6990255Z\r\n" + headers: + content-length: '371' + content-type: application/xml + date: Mon, 10 Aug 2020 16:44:52 GMT + server: Microsoft-HTTPAPI/2.0 + status: + code: 400 + message: The value for one of the HTTP headers is not in the correct format. + url: https://storagename.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_minute_metrics_async.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_minute_metrics_async.yaml new file mode 100644 index 000000000000..663c92019513 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_set_minute_metrics_async.yaml @@ -0,0 +1,63 @@ +interactions: +- request: + body: ' + + 1.0truetruetrue5' + headers: + Content-Length: + - '271' + Content-Type: + - application/xml + Date: + - Wed, 19 Aug 2020 21:23:45 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:23:45 GMT + x-ms-version: + - '2019-07-07' + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: '' + headers: + date: Wed, 19 Aug 2020 21:23:45 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2019-07-07' + status: + code: 202 + message: Accepted + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +- request: + body: null + headers: + Accept: + - application/xml + Date: + - Wed, 19 Aug 2020 21:24:16 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:24:16 GMT + x-ms-version: + - '2019-07-07' + method: GET + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + headers: + content-type: application/xml + date: Wed, 19 Aug 2020 21:24:15 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + vary: Origin + x-ms-version: '2019-07-07' + status: + code: 200 + message: OK + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_table_service_properties.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_table_service_properties.yaml new file mode 100644 index 000000000000..81930db36e2b --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_table_service_properties.yaml @@ -0,0 +1,37 @@ +interactions: +- request: + body: ' + + 1.0falsefalsefalsefalse1.0falsefalse1.0falsefalse' + headers: + Content-Length: + - '528' + Content-Type: + - application/xml + Date: + - Mon, 10 Aug 2020 16:38:03 GMT + User-Agent: + - azsdk-python-storage-table/12.0.0b1 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Mon, 10 Aug 2020 16:38:03 GMT + x-ms-version: + - 12.0.0b1 + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF\r\n\r\n + \ InvalidHeaderValue\r\n The value + for one of the HTTP headers is not in the correct format.\nRequestId:66b65521-9002-0082-3734-6ff491000000\nTime:2020-08-10T16:38:05.2926871Z\r\n" + headers: + content-length: '371' + content-type: application/xml + date: Mon, 10 Aug 2020 16:38:04 GMT + server: Microsoft-HTTPAPI/2.0 + status: + code: 400 + message: The value for one of the HTTP headers is not in the correct format. + url: https://storagename.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_table_service_properties_async.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_table_service_properties_async.yaml new file mode 100644 index 000000000000..606da2483cab --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_properties_async.test_table_service_properties_async.yaml @@ -0,0 +1,63 @@ +interactions: +- request: + body: ' + + 1.0falsefalsefalsefalse1.0falsefalse1.0falsefalse' + headers: + Content-Length: + - '528' + Content-Type: + - application/xml + Date: + - Wed, 19 Aug 2020 21:24:16 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:24:16 GMT + x-ms-version: + - '2019-07-07' + method: PUT + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: '' + headers: + date: Wed, 19 Aug 2020 21:24:16 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2019-07-07' + status: + code: 202 + message: Accepted + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +- request: + body: null + headers: + Accept: + - application/xml + Date: + - Wed, 19 Aug 2020 21:24:46 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:24:46 GMT + x-ms-version: + - '2019-07-07' + method: GET + uri: https://storagename.table.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0falsefalse1.0falsefalse" + headers: + content-type: application/xml + date: Wed, 19 Aug 2020 21:24:47 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2019-07-07' + status: + code: 200 + message: OK + url: https://pyacrstorageuwjvfxhidgpv.table.core.windows.net/?restype=service&comp=properties +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats.test_table_service_stats_f.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats.test_table_service_stats_f.yaml index a0d6be6a6532..938a5c859376 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats.test_table_service_stats_f.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats.test_table_service_stats_f.yaml @@ -9,11 +9,11 @@ interactions: Connection: - keep-alive Date: - - Mon, 27 Jul 2020 14:26:52 GMT + - Wed, 19 Aug 2020 21:25:08 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:26:52 GMT + - Wed, 19 Aug 2020 21:25:08 GMT x-ms-version: - '2019-07-07' method: GET @@ -25,7 +25,7 @@ interactions: content-type: - application/xml date: - - Mon, 27 Jul 2020 14:26:52 GMT + - Wed, 19 Aug 2020 21:25:08 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats.test_table_service_stats_when_unavailable.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats.test_table_service_stats_when_unavailable.yaml index 9dc1202b85e1..e279169f39c6 100644 --- a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats.test_table_service_stats_when_unavailable.yaml +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats.test_table_service_stats_when_unavailable.yaml @@ -9,11 +9,11 @@ interactions: Connection: - keep-alive Date: - - Mon, 27 Jul 2020 14:27:17 GMT + - Wed, 19 Aug 2020 21:25:33 GMT User-Agent: - - azsdk-python-storage-table/2019-07-07 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 27 Jul 2020 14:27:17 GMT + - Wed, 19 Aug 2020 21:25:33 GMT x-ms-version: - '2019-07-07' method: GET @@ -25,7 +25,7 @@ interactions: content-type: - application/xml date: - - Mon, 27 Jul 2020 14:27:17 GMT + - Wed, 19 Aug 2020 21:25:33 GMT server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats_async.test_table_service_stats_f_async.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats_async.test_table_service_stats_f_async.yaml new file mode 100644 index 000000000000..955d29a7eba3 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats_async.test_table_service_stats_f_async.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Date: + - Wed, 19 Aug 2020 21:25:59 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:25:59 GMT + x-ms-version: + - '2019-07-07' + method: GET + uri: https://pyacrstoragestorname-secondary.table.core.windows.net/?restype=service&comp=stats + response: + body: + string: "\uFEFFunavailable" + headers: + content-type: application/xml + date: Wed, 19 Aug 2020 21:25:59 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2019-07-07' + status: + code: 200 + message: OK + url: https://pyacrstoragedaroz73jabzz-secondary.table.core.windows.net/?restype=service&comp=stats +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats_async.test_table_service_stats_when_unavailable_async.yaml b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats_async.test_table_service_stats_when_unavailable_async.yaml new file mode 100644 index 000000000000..61ca7f838d06 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/recordings/test_table_service_stats_async.test_table_service_stats_when_unavailable_async.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Date: + - Wed, 19 Aug 2020 21:26:28 GMT + User-Agent: + - azsdk-python-storage-table/2019-07-07 Python/3.8.4 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Wed, 19 Aug 2020 21:26:28 GMT + x-ms-version: + - '2019-07-07' + method: GET + uri: https://pyacrstoragestorname-secondary.table.core.windows.net/?restype=service&comp=stats + response: + body: + string: "\uFEFFunavailable" + headers: + content-type: application/xml + date: Wed, 19 Aug 2020 21:26:28 GMT + server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2019-07-07' + status: + code: 200 + message: OK + url: https://pyacrstoragetw7frx52ytez-secondary.table.core.windows.net/?restype=service&comp=stats +version: 1 diff --git a/sdk/tables/azure-data-tables/tests/test_table.py b/sdk/tables/azure-data-tables/tests/test_table.py index bb6acef68892..7ba338ac0d9c 100644 --- a/sdk/tables/azure-data-tables/tests/test_table.py +++ b/sdk/tables/azure-data-tables/tests/test_table.py @@ -15,16 +15,16 @@ timedelta, ) - + from azure.data.tables import ( - ResourceTypes, - AccountSasPermissions, - TableSasPermissions, - CorsRule, - RetentionPolicy, - UpdateMode, - AccessPolicy, - TableAnalyticsLogging, + ResourceTypes, + AccountSasPermissions, + TableSasPermissions, + CorsRule, + RetentionPolicy, + UpdateMode, + AccessPolicy, + TableAnalyticsLogging, Metrics ) from azure.core.pipeline import Pipeline @@ -473,9 +473,9 @@ def test_locale(self, resource_group, location, storage_account, storage_account ts = TableServiceClient(self.account_url(storage_account, "table"), storage_account_key) table = (self._get_table_reference()) init_locale = locale.getlocale() - if os.name is "nt": + if os.name == "nt": culture = "Spanish_Spain" - elif os.name is 'posix': + elif os.name == 'posix': culture = 'es_ES.UTF-8' else: culture = 'es_ES.utf8' diff --git a/sdk/tables/azure-data-tables/tests/test_table_async.py b/sdk/tables/azure-data-tables/tests/test_table_async.py index 061122548b9a..5fa577fec1f8 100644 --- a/sdk/tables/azure-data-tables/tests/test_table_async.py +++ b/sdk/tables/azure-data-tables/tests/test_table_async.py @@ -316,7 +316,7 @@ async def test_set_table_acl_with_signed_identifiers(self, resource_group, locat pytest.skip("Cosmos endpoint does not support this") ts = TableServiceClient(url, storage_account_key) table = await self._create_table(ts) - client = ts.get_table_client(table=table.table_name) + client = ts.get_table_client(table_name=table.table_name) # Act identifiers = dict() diff --git a/sdk/tables/azure-data-tables/tests/test_table_batch.py b/sdk/tables/azure-data-tables/tests/test_table_batch.py index 62d20bd42bd3..ba8603f9703f 100644 --- a/sdk/tables/azure-data-tables/tests/test_table_batch.py +++ b/sdk/tables/azure-data-tables/tests/test_table_batch.py @@ -16,6 +16,7 @@ from azure.core import MatchConditions from azure.core.exceptions import ( ResourceExistsError) +from azure.data.tables import EdmType, TableEntity, EntityProperty from _shared.testcase import GlobalStorageAccountPreparer, TableTestCase, LogCaptured @@ -78,7 +79,7 @@ def _create_random_entity_dict(self, pk=None, rk=None): 'Birthday': datetime(1973, 10, 4, tzinfo=tzutc()), 'birthday': datetime(1970, 10, 4, tzinfo=tzutc()), 'binary': b'binary', - 'other': EntityProperty(EdmType.INT32, 20), + 'other': EntityProperty(20, EdmType.INT32), 'clsid': uuid.UUID('c9da6455-213d-42c9-9a79-3e9149a57833') } return Entity(**properties) @@ -148,6 +149,33 @@ def _assert_updated_entity(self, entity): self.assertIsInstance(entity.timestamp, datetime) #--Test cases for batch --------------------------------------------- + + def test_inferred_types(self): + # Arrange + # Act + entity = TableEntity() + entity.PartitionKey = '003' + entity.RowKey = 'batch_all_operations_together-1' + entity.test = EntityProperty(True) + entity.test2 = EntityProperty(b'abcdef') + entity.test3 = EntityProperty(u'c9da6455-213d-42c9-9a79-3e9149a57833') + entity.test4 = EntityProperty(datetime(1973, 10, 4, tzinfo=tzutc())) + entity.test5 = EntityProperty(u"stringystring") + entity.test6 = EntityProperty(3.14159) + entity.test7 = EntityProperty(100) + entity.test8 = EntityProperty(10, EdmType.INT32) + + # Assert + self.assertEqual(entity.test.type, EdmType.BOOLEAN) + self.assertEqual(entity.test2.type, EdmType.BINARY) + self.assertEqual(entity.test3.type, EdmType.GUID) + self.assertEqual(entity.test4.type, EdmType.DATETIME) + self.assertEqual(entity.test5.type, EdmType.STRING) + self.assertEqual(entity.test6.type, EdmType.DOUBLE) + self.assertEqual(entity.test7.type, EdmType.INT64) + self.assertEqual(entity.test8.type, EdmType.INT32) + + @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_batch_insert(self, resource_group, location, storage_account, storage_account_key): @@ -158,10 +186,10 @@ def test_batch_insert(self, resource_group, location, storage_account, storage_a entity = Entity() entity.PartitionKey = '001' entity.RowKey = 'batch_insert' - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() batch = self.table.create_batch() @@ -185,10 +213,10 @@ def test_batch_update(self, resource_group, location, storage_account, storage_a entity = Entity() entity.PartitionKey = '001' entity.RowKey = 'batch_update' - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() self.table.create_item(entity) @@ -218,10 +246,10 @@ def test_batch_merge(self, resource_group, location, storage_account, storage_ac entity = Entity() entity.PartitionKey = '001' entity.RowKey = 'batch_merge' - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() self.table.create_item(entity) @@ -313,7 +341,7 @@ def test_batch_insert_replace(self, resource_group, location, storage_account, s entity.test = True entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() batch = self.table.create_batch() @@ -343,7 +371,7 @@ def test_batch_insert_merge(self, resource_group, location, storage_account, sto entity.test = True entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() batch = self.table.create_batch() @@ -370,10 +398,10 @@ def test_batch_delete(self, resource_group, location, storage_account, storage_a entity = Entity() entity.PartitionKey = '001' entity.RowKey = 'batch_delete' - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() self.table.create_item(entity) @@ -399,10 +427,10 @@ def test_batch_inserts(self, resource_group, location, storage_account, storage_ # Act entity = Entity() entity.PartitionKey = 'batch_inserts' - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) batch = self.table.create_batch() for i in range(100): @@ -428,10 +456,10 @@ def test_batch_all_operations_together(self, resource_group, location, storage_a entity = Entity() entity.PartitionKey = '003' entity.RowKey = 'batch_all_operations_together-1' - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() self.table.create_item(entity) entity.RowKey = 'batch_all_operations_together-2' @@ -476,10 +504,10 @@ def test_batch_all_operations_together_context_manager(self, resource_group, loc entity = Entity() entity.PartitionKey = '003' entity.RowKey = 'batch_all_operations_together-1' - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() self.table.create_item(entity) entity.RowKey = 'batch_all_operations_together-2' @@ -525,10 +553,10 @@ def test_batch_reuse(self, resource_group, location, storage_account, storage_ac entity = Entity() entity.PartitionKey = '003' entity.RowKey = 'batch_all_operations_together-1' - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'value' entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime.utcnow() batch = TableBatchClient() diff --git a/sdk/tables/azure-data-tables/tests/test_table_client.py b/sdk/tables/azure-data-tables/tests/test_table_client.py index 34ba05da9fb6..3eff586b2e6a 100644 --- a/sdk/tables/azure-data-tables/tests/test_table_client.py +++ b/sdk/tables/azure-data-tables/tests/test_table_client.py @@ -20,10 +20,10 @@ from azure.core.exceptions import HttpResponseError # ------------------------------------------------------------------------------ SERVICES = { - #TableServiceClient: 'table', - #TableClient: 'table', - #TableServiceClient: 'cosmos', - #TableClient: 'cosmos', + TableServiceClient: 'table', + TableClient: 'table', + # TableServiceClient: 'cosmos', + # TableClient: 'cosmos', } _CONNECTION_ENDPOINTS = {'table': 'TableEndpoint', 'cosmos': 'TableEndpoint'} @@ -45,9 +45,9 @@ def validate_standard_account_endpoints(self, service, account_name, account_key self.assertTrue( ('{}.{}'.format(account_name, 'table.core.windows.net') in service.url) or ('{}.{}'.format(account_name, 'table.cosmos.azure.com') in service.url)) - self.assertTrue( - ('{}-secondary.{}'.format(account_name, 'table.core.windows.net') in service.secondary_endpoint) or - ('{}-secondary.{}'.format(account_name, 'table.cosmos.azure.com') in service.secondary_endpoint)) + # self.assertTrue( + # ('{}-secondary.{}'.format(account_name, 'table.core.windows.net') in service.secondary_endpoint) or + # ('{}-secondary.{}'.format(account_name, 'table.cosmos.azure.com') in service.secondary_endpoint)) # --Direct Parameters Test Cases -------------------------------------------- #@pytest.mark.skip("pending") @@ -143,10 +143,10 @@ def test_create_service_china(self, resource_group, location, storage_account, s self.assertEqual(service.account_name, storage_account.name) self.assertEqual(service.credential.account_name, storage_account.name) self.assertEqual(service.credential.account_key, storage_account_key) - self.assertTrue(service.primary_endpoint.startswith( + self.assertTrue(service._primary_endpoint.startswith( 'https://{}.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) - self.assertTrue(service.secondary_endpoint.startswith( - 'https://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) + # self.assertTrue(service.secondary_endpoint.startswith( + # 'https://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() @@ -244,8 +244,8 @@ def test_create_service_with_connection_string_cosmos(self, resource_group, loca self.assertTrue(service.url.startswith('https://' + storage_account.name + '.table.cosmos.azure.com')) self.assertEqual(service.credential.account_name, storage_account.name) self.assertEqual(service.credential.account_key, storage_account_key) - self.assertTrue(service.primary_endpoint.startswith('https://' + storage_account.name + '.table.cosmos.azure.com')) - self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.cosmos.azure.com')) + self.assertTrue(service._primary_endpoint.startswith('https://' + storage_account.name + '.table.cosmos.azure.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.cosmos.azure.com')) self.assertEqual(service.scheme, 'https') #@pytest.mark.skip("pending") @@ -265,11 +265,11 @@ def test_create_service_with_connection_string_endpoint_protocol(self, resource_ self.assertEqual(service.credential.account_name, storage_account.name) self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue( - service.primary_endpoint.startswith( + service._primary_endpoint.startswith( 'http://{}.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) - self.assertTrue( - service.secondary_endpoint.startswith( - 'http://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) + # self.assertTrue( + # service.secondary_endpoint.startswith( + # 'http://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) self.assertEqual(service.scheme, 'http') #@pytest.mark.skip("pending") @@ -299,8 +299,8 @@ def test_create_service_with_connection_string_custom_domain(self, resource_grou self.assertEqual(service.account_name, storage_account.name) self.assertEqual(service.credential.account_name, storage_account.name) self.assertEqual(service.credential.account_key, storage_account_key) - self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com')) - self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.core.windows.net')) + self.assertTrue(service._primary_endpoint.startswith('https://www.mydomain.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.core.windows.net')) #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() @@ -318,8 +318,8 @@ def test_create_service_with_conn_str_custom_domain_trailing_slash(self, resourc self.assertEqual(service.account_name, storage_account.name) self.assertEqual(service.credential.account_name, storage_account.name) self.assertEqual(service.credential.account_key, storage_account_key) - self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com')) - self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.core.windows.net')) + self.assertTrue(service._primary_endpoint.startswith('https://www.mydomain.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.core.windows.net')) #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() @@ -338,8 +338,8 @@ def test_create_service_with_conn_str_custom_domain_sec_override(self, resource_ self.assertEqual(service.account_name, storage_account.name) self.assertEqual(service.credential.account_name, storage_account.name) self.assertEqual(service.credential.account_key, storage_account_key) - self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com')) - self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com')) + self.assertTrue(service._primary_endpoint.startswith('https://www.mydomain.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com')) #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() @@ -375,8 +375,8 @@ def test_create_service_with_conn_str_succeeds_if_sec_with_primary(self, resourc self.assertEqual(service.account_name, storage_account.name) self.assertEqual(service.credential.account_name, storage_account.name) self.assertEqual(service.credential.account_key, storage_account_key) - self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com')) - self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com')) + self.assertTrue(service._primary_endpoint.startswith('https://www.mydomain.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com')) # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() @@ -393,7 +393,7 @@ def test_create_service_with_custom_account_endpoint_path(self, resource_group, self.assertEqual(service.account_name, storage_account.name) self.assertEqual(service.credential.account_name, storage_account.name) self.assertEqual(service.credential.account_key, storage_account_key) - self.assertEqual(service.primary_hostname, 'local-machine:11002/custom/account/path') + self.assertEqual(service._primary_hostname, 'local-machine:11002/custom/account/path') service = TableServiceClient(account_url=custom_account_url) self.assertEqual(service.account_name, None) @@ -433,7 +433,7 @@ def callback(response): tables = list(service.list_tables(raw_response_hook=callback)) self.assertIsInstance(tables, list) - # @pytest.mark.skip("pending") + @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_user_agent_custom(self, resource_group, location, storage_account, storage_account_key): custom_app = "TestApp/v1.0" @@ -443,7 +443,7 @@ def test_user_agent_custom(self, resource_group, location, storage_account, stor def callback(response): self.assertTrue('User-Agent' in response.http_request.headers) self.assertIn( - "TestApp/v1.0 azsdk-python-storage-table/{} Python/{} ({})".format( + "TestApp/v1.0 azsdk-python-data-tables/{} Python/{} ({})".format( VERSION, platform.python_version(), platform.platform()), @@ -456,7 +456,7 @@ def callback(response): def callback(response): self.assertTrue('User-Agent' in response.http_request.headers) self.assertIn( - "TestApp/v2.0 TestApp/v1.0 azsdk-python-storage-table/{} Python/{} ({})".format( + "TestApp/v2.0 TestApp/v1.0 azsdk-python-data-tables/{} Python/{} ({})".format( VERSION, platform.python_version(), platform.platform()), @@ -514,11 +514,11 @@ def test_create_table_client_with_invalid_name(self, resource_group, location, s # Arrange table_url = "https://{}.table.core.windows.net:443/foo".format(storage_account.name) invalid_table_name = "my_table" - + # Assert with pytest.raises(ValueError) as excinfo: service = TableClient(account_url=table_url, table_name=invalid_table_name, credential=storage_account_key) - + assert "Table names must be alphanumeric, cannot begin with a number, and must be between 3-63 characters long.""" in str(excinfo) @@ -531,7 +531,7 @@ def test_error_with_malformed_conn_str(self): # Act with self.assertRaises(ValueError) as e: service = service_type[0].from_connection_string(conn_str, table_name="test") - + if conn_str in("", "foobar", "foo;bar;baz", ";"): self.assertEqual( str(e.exception), "Connection string is either blank or malformed.") diff --git a/sdk/tables/azure-data-tables/tests/test_table_client_async.py b/sdk/tables/azure-data-tables/tests/test_table_client_async.py new file mode 100644 index 000000000000..2b90e0da2ac3 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/test_table_client_async.py @@ -0,0 +1,541 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import unittest +import pytest +import platform + +from azure.data.tables.aio import TableServiceClient, TableClient +from azure.data.tables._version import VERSION +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer + +from _shared.testcase import GlobalStorageAccountPreparer, TableTestCase + +from azure.core.exceptions import HttpResponseError +# ------------------------------------------------------------------------------ +SERVICES = { + TableServiceClient: 'table', + TableClient: 'table', + #TableServiceClient: 'cosmos', + #TableClient: 'cosmos', +} + +_CONNECTION_ENDPOINTS = {'table': 'TableEndpoint', 'cosmos': 'TableEndpoint'} + +_CONNECTION_ENDPOINTS_SECONDARY = {'table': 'TableSecondaryEndpoint', 'cosmos': 'TableSecondaryEndpoint'} + +class StorageTableClientTest(TableTestCase): + def setUp(self): + super(StorageTableClientTest, self).setUp() + self.sas_token = self.generate_sas_token() + self.token_credential = self.generate_oauth_token() + + # --Helpers----------------------------------------------------------------- + def validate_standard_account_endpoints(self, service, account_name, account_key): + self.assertIsNotNone(service) + self.assertEqual(service.account_name, account_name) + self.assertEqual(service.credential.account_name, account_name) + self.assertEqual(service.credential.account_key, account_key) + self.assertTrue( + ('{}.{}'.format(account_name, 'table.core.windows.net') in service.url) or + ('{}.{}'.format(account_name, 'table.cosmos.azure.com') in service.url)) + # self.assertTrue( + # ('{}-secondary.{}'.format(account_name, 'table.core.windows.net') in service.secondary_endpoint) or + # ('{}-secondary.{}'.format(account_name, 'table.cosmos.azure.com') in service.secondary_endpoint)) + + # --Direct Parameters Test Cases -------------------------------------------- + @GlobalStorageAccountPreparer() + async def test_create_service_with_key_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + + for client, url in SERVICES.items(): + # Act + service = client( + self.account_url(storage_account, url), credential=storage_account_key, table_name='foo') + + # Assert + self.validate_standard_account_endpoints(service, storage_account.name, storage_account_key) + self.assertEqual(service.scheme, 'https') + + @GlobalStorageAccountPreparer() + async def test_create_service_with_connection_string_async(self, resource_group, location, storage_account, storage_account_key): + + for service_type in SERVICES.items(): + # Act + service = service_type[0].from_connection_string( + self.connection_string(storage_account, storage_account_key), table_name="test") + + # Assert + self.validate_standard_account_endpoints(service, storage_account.name, storage_account_key) + self.assertEqual(service.scheme, 'https') + + @GlobalStorageAccountPreparer() + async def test_create_service_with_sas_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + url = self.account_url(storage_account, "table") + suffix = '.table.core.windows.net' + if 'cosmos' in url: + suffix = '.table.cosmos.azure.com' + for service_type in SERVICES: + # Act + service = service_type( + self.account_url(storage_account, "table"), credential=self.sas_token, table_name='foo') + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertTrue(service.url.startswith('https://' + storage_account.name + suffix)) + self.assertTrue(service.url.endswith(self.sas_token)) + self.assertIsNone(service.credential) + + @GlobalStorageAccountPreparer() + async def test_create_service_with_token_async(self, resource_group, location, storage_account, storage_account_key): + url = self.account_url(storage_account, "table") + suffix = '.table.core.windows.net' + if 'cosmos' in url: + suffix = '.table.cosmos.azure.com' + for service_type in SERVICES: + # Act + service = service_type(url, credential=self.token_credential, table_name='foo') + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertTrue(service.url.startswith('https://' + storage_account.name + suffix)) + self.assertEqual(service.credential, self.token_credential) + self.assertFalse(hasattr(service.credential, 'account_key')) + self.assertTrue(hasattr(service.credential, 'get_token')) + + @GlobalStorageAccountPreparer() + async def test_create_service_with_token_and_http_async(self, resource_group, location, storage_account, storage_account_key): + for service_type in SERVICES: + # Act + with self.assertRaises(ValueError): + url = self.account_url(storage_account, "table").replace('https', 'http') + service_type(url, credential=self.token_credential, table_name='foo') + + @GlobalStorageAccountPreparer() + async def test_create_service_china_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + # TODO: Confirm regional cloud cosmos URLs + for service_type in SERVICES.items(): + # Act + url = self.account_url(storage_account, "table").replace('core.windows.net', 'core.chinacloudapi.cn') + if 'cosmos.azure' in url: + pytest.skip("Confirm cosmos national cloud URLs") + service = service_type[0]( + url, credential=storage_account_key, table_name='foo') + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertTrue(service._primary_endpoint.startswith( + 'https://{}.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) + # self.assertTrue(service.secondary_endpoint.startswith( + # 'https://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) + + @GlobalStorageAccountPreparer() + async def test_create_service_protocol_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + + for service_type in SERVICES.items(): + # Act + url = self.account_url(storage_account, "table").replace('https', 'http') + service = service_type[0]( + url, credential=storage_account_key, table_name='foo') + + # Assert + self.validate_standard_account_endpoints(service, storage_account.name, storage_account_key) + self.assertEqual(service.scheme, 'http') + + + @GlobalStorageAccountPreparer() + async def test_create_service_empty_key_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + TABLE_SERVICES = [TableServiceClient, TableClient] + + for service_type in TABLE_SERVICES: + # Act + with self.assertRaises(ValueError) as e: + test_service = service_type('testaccount', credential='', table_name='foo') + + self.assertEqual( + str(e.exception), "You need to provide either a SAS token or an account shared key to authenticate.") + + + @GlobalStorageAccountPreparer() + async def test_create_service_with_socket_timeout_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + + for service_type in SERVICES.items(): + # Act + default_service = service_type[0]( + self.account_url(storage_account, "table"), credential=storage_account_key, table_name='foo') + service = service_type[0]( + self.account_url(storage_account, "table"), credential=storage_account_key, + table_name='foo', connection_timeout=22) + + # Assert + self.validate_standard_account_endpoints(service, storage_account.name, storage_account_key) + assert service._client._client._pipeline._transport.connection_config.timeout == 22 + assert default_service._client._client._pipeline._transport.connection_config.timeout in [20, (20, 2000)] + + # --Connection String Test Cases -------------------------------------------- + @GlobalStorageAccountPreparer() + async def test_create_service_with_connection_string_key_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + conn_string = 'AccountName={};AccountKey={};'.format(storage_account.name, storage_account_key) + + for service_type in SERVICES.items(): + # Act + service = service_type[0].from_connection_string(conn_string, table_name='foo') + + # Assert + self.validate_standard_account_endpoints(service, storage_account.name, storage_account_key) + self.assertEqual(service.scheme, 'https') + + @GlobalStorageAccountPreparer() + async def test_create_service_with_connection_string_sas_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + conn_string = 'AccountName={};SharedAccessSignature={};'.format(storage_account.name, self.sas_token) + + for service_type in SERVICES: + # Act + service = service_type.from_connection_string(conn_string, table_name='foo') + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertTrue(service.url.startswith('https://' + storage_account.name + '.table.core.windows.net')) + self.assertTrue(service.url.endswith(self.sas_token)) + self.assertIsNone(service.credential) + + @GlobalStorageAccountPreparer() # TODO: Prepare Cosmos tables account + async def test_create_service_with_connection_string_cosmos_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + conn_string = 'DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};TableEndpoint=https://{0}.table.cosmos.azure.com:443/;'.format( + storage_account.name, storage_account_key) + + for service_type in SERVICES: + # Act + service = service_type.from_connection_string(conn_string, table_name='foo') + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertTrue(service.url.startswith('https://' + storage_account.name + '.table.cosmos.azure.com')) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertTrue(service._primary_endpoint.startswith('https://' + storage_account.name + '.table.cosmos.azure.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.cosmos.azure.com')) + self.assertEqual(service.scheme, 'https') + + @GlobalStorageAccountPreparer() + async def test_create_service_with_connection_string_endpoint_protocol_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + conn_string = 'AccountName={};AccountKey={};DefaultEndpointsProtocol=http;EndpointSuffix=core.chinacloudapi.cn;'.format( + storage_account.name, storage_account_key) + + for service_type in SERVICES.items(): + # Act + service = service_type[0].from_connection_string(conn_string, table_name="foo") + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertTrue( + service._primary_endpoint.startswith( + 'http://{}.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) + # self.assertTrue( + # service.secondary_endpoint.startswith( + # 'http://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, "table"))) + self.assertEqual(service.scheme, 'http') + + @GlobalStorageAccountPreparer() + async def test_create_service_with_connection_string_emulated_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + for service_type in SERVICES.items(): + conn_string = 'UseDevelopmentStorage=true;'.format(storage_account.name, storage_account_key) + + # Act + with self.assertRaises(ValueError): + service = service_type[0].from_connection_string(conn_string, table_name="foo") + + @GlobalStorageAccountPreparer() + async def test_create_service_with_connection_string_custom_domain_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + for service_type in SERVICES.items(): + conn_string = 'AccountName={};AccountKey={};TableEndpoint=www.mydomain.com;'.format( + storage_account.name, storage_account_key) + + # Act + service = service_type[0].from_connection_string(conn_string, table_name="foo") + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertTrue(service._primary_endpoint.startswith('https://www.mydomain.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.core.windows.net')) + + @GlobalStorageAccountPreparer() + async def test_create_service_with_conn_str_custom_domain_trailing_slash_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + for service_type in SERVICES.items(): + conn_string = 'AccountName={};AccountKey={};TableEndpoint=www.mydomain.com/;'.format( + storage_account.name, storage_account_key) + + # Act + service = service_type[0].from_connection_string(conn_string, table_name="foo") + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertTrue(service._primary_endpoint.startswith('https://www.mydomain.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.table.core.windows.net')) + + @GlobalStorageAccountPreparer() + async def test_create_service_with_conn_str_custom_domain_sec_override_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + for service_type in SERVICES.items(): + conn_string = 'AccountName={};AccountKey={};TableEndpoint=www.mydomain.com/;'.format( + storage_account.name, storage_account_key) + + # Act + service = service_type[0].from_connection_string( + conn_string, secondary_hostname="www-sec.mydomain.com", table_name="foo") + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertTrue(service._primary_endpoint.startswith('https://www.mydomain.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com')) + + @GlobalStorageAccountPreparer() + async def test_create_service_with_conn_str_fails_if_sec_without_primary_async(self, resource_group, location, storage_account, storage_account_key): + for service_type in SERVICES.items(): + # Arrange + conn_string = 'AccountName={};AccountKey={};{}=www.mydomain.com;'.format( + storage_account.name, storage_account_key, + _CONNECTION_ENDPOINTS_SECONDARY.get(service_type[1])) + + # Act + + # Fails if primary excluded + with self.assertRaises(ValueError): + service = service_type[0].from_connection_string(conn_string, table_name="foo") + + @GlobalStorageAccountPreparer() + async def test_create_service_with_conn_str_succeeds_if_sec_with_primary_async(self, resource_group, location, storage_account, storage_account_key): + for service_type in SERVICES.items(): + # Arrange + conn_string = 'AccountName={};AccountKey={};{}=www.mydomain.com;{}=www-sec.mydomain.com;'.format( + storage_account.name, + storage_account_key, + _CONNECTION_ENDPOINTS.get(service_type[1]), + _CONNECTION_ENDPOINTS_SECONDARY.get(service_type[1])) + + # Act + service = service_type[0].from_connection_string(conn_string, table_name="foo") + + # Assert + self.assertIsNotNone(service) + self.assertEqual(service.account_name, storage_account.name) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertTrue(service._primary_endpoint.startswith('https://www.mydomain.com')) + # self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com')) + + @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() + async def test_create_service_with_custom_account_endpoint_path_async(self, resource_group, location, storage_account, storage_account_key): + custom_account_url = "http://local-machine:11002/custom/account/path/" + self.sas_token + for service_type in SERVICES.items(): + conn_string = 'DefaultEndpointsProtocol=http;AccountName={};AccountKey={};TableEndpoint={};'.format( + storage_account.name, storage_account_key, custom_account_url) + + # Act + service = service_type[0].from_connection_string(conn_string, table_name="foo") + + # Assert + self.assertEqual(service.account_name, storage_account.name) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertEqual(service._primary_hostname, 'local-machine:11002/custom/account/path') + + service = TableServiceClient(account_url=custom_account_url) + self.assertEqual(service.account_name, None) + self.assertEqual(service.credential, None) + self.assertEqual(service._primary_hostname, 'local-machine:11002/custom/account/path') + # mine doesnt have a question mark at the end + self.assertTrue(service.url.startswith('http://local-machine:11002/custom/account/path')) + + service = TableClient(account_url=custom_account_url, table_name="foo") + self.assertEqual(service.account_name, None) + self.assertEqual(service.table_name, "foo") + self.assertEqual(service.credential, None) + self.assertEqual(service._primary_hostname, 'local-machine:11002/custom/account/path') + self.assertTrue(service.url.startswith('http://local-machine:11002/custom/account/path')) + + service = TableClient.from_table_url("http://local-machine:11002/custom/account/path/foo" + self.sas_token) + self.assertEqual(service.account_name, None) + self.assertEqual(service.table_name, "foo") + self.assertEqual(service.credential, None) + self.assertEqual(service._primary_hostname, 'local-machine:11002/custom/account/path') + self.assertTrue(service.url.startswith('http://local-machine:11002/custom/account/path')) + + @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() + async def test_user_agent_default_async(self, resource_group, location, storage_account, storage_account_key): + service = TableServiceClient(self.account_url(storage_account, "table"), credential=storage_account_key) + + def callback(response): + self.assertTrue('User-Agent' in response.http_request.headers) + self.assertEqual( + response.http_request.headers['User-Agent'], + "azsdk-python-storage-table/{} Python/{} ({})".format( + VERSION, + platform.python_version(), + platform.platform())) + + tables = list(service.list_tables(raw_response_hook=callback)) + self.assertIsInstance(tables, list) + + @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() + async def test_user_agent_custom_async(self, resource_group, location, storage_account, storage_account_key): + custom_app = "TestApp/v1.0" + service = TableServiceClient( + self.account_url(storage_account, "table"), credential=storage_account_key, user_agent=custom_app) + + def callback(response): + self.assertTrue('User-Agent' in response.http_request.headers) + self.assertIn( + "TestApp/v1.0 azsdk-python-storage-table/{} Python/{} ({})".format( + VERSION, + platform.python_version(), + platform.platform()), + response.http_request.headers['User-Agent'] + ) + + tables = list(service.list_tables(raw_response_hook=callback)) + self.assertIsInstance(tables, list) + + def callback(response): + self.assertTrue('User-Agent' in response.http_request.headers) + self.assertIn( + "TestApp/v2.0 TestApp/v1.0 azsdk-python-storage-table/{} Python/{} ({})".format( + VERSION, + platform.python_version(), + platform.platform()), + response.http_request.headers['User-Agent'] + ) + + tables = list(service.list_tables(raw_response_hook=callback, user_agent="TestApp/v2.0")) + self.assertIsInstance(tables, list) + + @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() + async def test_user_agent_append_async(self, resource_group, location, storage_account, storage_account_key): + # TODO: fix this one + service = TableServiceClient(self.account_url(storage_account, "table"), credential=storage_account_key) + + def callback(response): + self.assertTrue('User-Agent' in response.http_request.headers) + self.assertEqual( + response.http_request.headers['User-Agent'], + "azsdk-python-storage-table/{} Python/{} ({}) customer_user_agent".format( + VERSION, + platform.python_version(), + platform.platform()) + ) + + custom_headers = {'User-Agent': 'customer_user_agent'} + tables = list(service.list_tables(raw_response_hook=callback, headers=custom_headers)) + self.assertIsInstance(tables, list) + + @GlobalStorageAccountPreparer() + async def test_create_table_client_with_complete_table_url_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + table_url = self.account_url(storage_account, "table") + "/foo" + service = TableClient(table_url, table_name='bar', credential=storage_account_key) + + # Assert + self.assertEqual(service.scheme, 'https') + self.assertEqual(service.table_name, 'bar') + + @GlobalStorageAccountPreparer() + async def test_create_table_client_with_complete_url_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + table_url = "https://{}.table.core.windows.net:443/foo".format(storage_account.name) + service = TableClient(account_url=table_url, table_name='bar', credential=storage_account_key) + + # Assert + self.assertEqual(service.scheme, 'https') + self.assertEqual(service.table_name, 'bar') + self.assertEqual(service.account_name, storage_account.name) + + @GlobalStorageAccountPreparer() + async def test_create_table_client_with_invalid_name_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + table_url = "https://{}.table.core.windows.net:443/foo".format(storage_account.name) + invalid_table_name = "my_table" + + # Assert + with pytest.raises(ValueError) as excinfo: + service = TableClient(account_url=table_url, table_name=invalid_table_name, credential=storage_account_key) + + assert "Table names must be alphanumeric, cannot begin with a number, and must be between 3-63 characters long.""" in str(excinfo) + + @GlobalStorageAccountPreparer() + async def test_error_with_malformed_conn_str_async(self): + # Arrange + + for conn_str in ["", "foobar", "foobar=baz=foo", "foo;bar;baz", "foo=;bar=;", "=", ";", "=;=="]: + for service_type in SERVICES.items(): + # Act + with self.assertRaises(ValueError) as e: + service = service_type[0].from_connection_string(conn_str, table_name="test") + + if conn_str in("", "foobar", "foo;bar;baz", ";"): + self.assertEqual( + str(e.exception), "Connection string is either blank or malformed.") + elif conn_str in ("foobar=baz=foo" , "foo=;bar=;", "=", "=;=="): + self.assertEqual( + str(e.exception), "Connection string missing required connection details.") + + @GlobalStorageAccountPreparer() + async def test_closing_pipeline_client_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + for client, url in SERVICES.items(): + # Act + service = client( + self.account_url(storage_account, "table"), credential=storage_account_key, table_name='table') + + # Assert + async with service: + assert hasattr(service, 'close') + await service.close() + + @GlobalStorageAccountPreparer() + async def test_closing_pipeline_client_simple_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + for client, url in SERVICES.items(): + # Act + service = client( + self.account_url(storage_account, "table"), credential=storage_account_key, table_name='table') + await service.close() +# ------------------------------------------------------------------------------ +if __name__ == '__main__': + unittest.main() diff --git a/sdk/tables/azure-data-tables/tests/test_table_entity.py b/sdk/tables/azure-data-tables/tests/test_table_entity.py index c199a57d506f..7009161fdfff 100644 --- a/sdk/tables/azure-data-tables/tests/test_table_entity.py +++ b/sdk/tables/azure-data-tables/tests/test_table_entity.py @@ -115,7 +115,7 @@ def _create_random_entity_dict(self, pk=None, rk=None): 'Birthday': datetime(1973, 10, 4, tzinfo=tzutc()), 'birthday': datetime(1970, 10, 4, tzinfo=tzutc()), 'binary': b'binary', - 'other': EntityProperty(type=EdmType.INT32, value=20), + 'other': EntityProperty(value=20, type=EdmType.INT32), 'clsid': uuid.UUID('c9da6455-213d-42c9-9a79-3e9149a57833') } return TableEntity(**properties) @@ -160,7 +160,7 @@ def _assert_default_entity(self, entity, headers=None): self.assertEqual(entity['birthday'], datetime(1970, 10, 4, tzinfo=tzutc())) self.assertEqual(entity['binary'].value, b'binary') self.assertIsInstance(entity['other'], EntityProperty) - self.assertEqual(entity['other'].type, EdmType.INT32) + self.assertEqual(entity['other'].type, EdmType.INT64) self.assertEqual(entity['other'].value, 20) self.assertEqual(entity['clsid'], uuid.UUID('c9da6455-213d-42c9-9a79-3e9149a57833')) # self.assertTrue('metadata' in entity.odata) @@ -188,7 +188,7 @@ def _assert_default_entity_json_full_metadata(self, entity, headers=None): self.assertEqual(entity['birthday'], datetime(1970, 10, 4, tzinfo=tzutc())) self.assertEqual(entity['binary'].value, b'binary') self.assertIsInstance(entity['other'], EntityProperty) - self.assertEqual(entity['other'].type, EdmType.INT32) + self.assertEqual(entity['other'].type, EdmType.INT64) self.assertEqual(entity['other'].value, 20) self.assertEqual(entity['clsid'], uuid.UUID('c9da6455-213d-42c9-9a79-3e9149a57833')) # self.assertTrue('metadata' in entity.odata) @@ -222,7 +222,7 @@ def _assert_default_entity_json_no_metadata(self, entity, headers=None): self.assertTrue(entity['birthday'].endswith('00Z')) self.assertEqual(entity['binary'], b64encode(b'binary').decode('utf-8')) self.assertIsInstance(entity['other'], EntityProperty) - self.assertEqual(entity['other'].type, EdmType.INT32) + self.assertEqual(entity['other'].type, EdmType.INT64) self.assertEqual(entity['other'].value, 20) self.assertEqual(entity['clsid'], 'c9da6455-213d-42c9-9a79-3e9149a57833') # self.assertIsNone(entity.odata) @@ -273,7 +273,7 @@ def _assert_merged_entity(self, entity): self.assertEqual(entity.Birthday, datetime(1973, 10, 4, tzinfo=tzutc())) self.assertEqual(entity.birthday, datetime(1991, 10, 4, tzinfo=tzutc())) self.assertIsInstance(entity.other, EntityProperty) - self.assertEqual(entity.other.type, EdmType.INT32) + self.assertEqual(entity.other.type, EdmType.INT64) self.assertEqual(entity.other.value, 20) self.assertIsInstance(entity.clsid, uuid.UUID) self.assertEqual(str(entity.clsid), 'c9da6455-213d-42c9-9a79-3e9149a57833') @@ -417,13 +417,13 @@ def test_insert_entity_with_large_int32_value_throws(self, resource_group, locat try: # Act dict32 = self._create_random_base_entity_dict() - dict32['large'] = EntityProperty(EdmType.INT32, 2 ** 31) + dict32['large'] = EntityProperty(2 ** 31, EdmType.INT32) # Assert with self.assertRaises(TypeError): self.table.create_entity(entity=dict32) - dict32['large'] = EntityProperty(EdmType.INT32, -(2 ** 31 + 1)) + dict32['large'] = EntityProperty(-(2 ** 31 + 1), EdmType.INT32) with self.assertRaises(TypeError): self.table.create_entity(entity=dict32) finally: @@ -438,13 +438,13 @@ def test_insert_entity_with_large_int64_value_throws(self, resource_group, locat try: # Act dict64 = self._create_random_base_entity_dict() - dict64['large'] = EntityProperty(EdmType.INT64, 2 ** 63) + dict64['large'] = EntityProperty(2 ** 63) # Assert with self.assertRaises(TypeError): self.table.create_entity(entity=dict64) - dict64['large'] = EntityProperty(EdmType.INT64, -(2 ** 63 + 1)) + dict64['large'] = EntityProperty(-(2 ** 63 + 1)) with self.assertRaises(TypeError): self.table.create_entity(entity=dict64) finally: @@ -1304,10 +1304,10 @@ def test_query_entities_large(self, resource_group, location, storage_account, s entity = Entity() entity.PartitionKey = 'large' entity.RowKey = 'batch{0}-item{1}'.format(j, i) - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'hello world;' * 100 entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime(2016, 12, 31, 11, 59, 59, 0) batch.create_entity(entity) self.ts.commit_batch(table_name, batch) diff --git a/sdk/tables/azure-data-tables/tests/test_table_entity_async.py b/sdk/tables/azure-data-tables/tests/test_table_entity_async.py index e6b6272e7250..2a47d3cafd37 100644 --- a/sdk/tables/azure-data-tables/tests/test_table_entity_async.py +++ b/sdk/tables/azure-data-tables/tests/test_table_entity_async.py @@ -117,7 +117,7 @@ def _create_random_entity_dict(self, pk=None, rk=None): 'Birthday': datetime(1973, 10, 4, tzinfo=tzutc()), 'birthday': datetime(1970, 10, 4, tzinfo=tzutc()), 'binary': b'binary', - 'other': EntityProperty(type=EdmType.INT32, value=20), + 'other': EntityProperty(value=20, type=EdmType.INT32), 'clsid': uuid.UUID('c9da6455-213d-42c9-9a79-3e9149a57833') } return TableEntity(**properties) @@ -163,7 +163,7 @@ def _assert_default_entity(self, entity, headers=None): self.assertEqual(entity['birthday'], datetime(1970, 10, 4, tzinfo=tzutc())) self.assertEqual(entity['binary'].value, b'binary') # TODO: added the ".value" portion, verify this is correct self.assertIsInstance(entity['other'], EntityProperty) - self.assertEqual(entity['other'].type, EdmType.INT32) + self.assertEqual(entity['other'].type, EdmType.INT64) self.assertEqual(entity['other'].value, 20) self.assertEqual(entity['clsid'], uuid.UUID('c9da6455-213d-42c9-9a79-3e9149a57833')) # self.assertTrue('metadata' in entity.odata) @@ -192,7 +192,7 @@ def _assert_default_entity_json_full_metadata(self, entity, headers=None): self.assertEqual(entity['birthday'], datetime(1970, 10, 4, tzinfo=tzutc())) self.assertEqual(entity['binary'].value, b'binary') self.assertIsInstance(entity['other'], EntityProperty) - self.assertEqual(entity['other'].type, EdmType.INT32) + self.assertEqual(entity['other'].type, EdmType.INT64) self.assertEqual(entity['other'].value, 20) self.assertEqual(entity['clsid'], uuid.UUID('c9da6455-213d-42c9-9a79-3e9149a57833')) # self.assertTrue('metadata' in entity.odata) @@ -227,7 +227,7 @@ def _assert_default_entity_json_no_metadata(self, entity, headers=None): self.assertTrue(entity['birthday'].endswith('00Z')) self.assertEqual(entity['binary'], b64encode(b'binary').decode('utf-8')) self.assertIsInstance(entity['other'], EntityProperty) - self.assertEqual(entity['other'].type, EdmType.INT32) + self.assertEqual(entity['other'].type, EdmType.INT64) self.assertEqual(entity['other'].value, 20) self.assertEqual(entity['clsid'], 'c9da6455-213d-42c9-9a79-3e9149a57833') # self.assertIsNone(entity.odata) @@ -277,7 +277,7 @@ def _assert_merged_entity(self, entity): self.assertEqual(entity.Birthday, datetime(1973, 10, 4, tzinfo=tzutc())) self.assertEqual(entity.birthday, datetime(1991, 10, 4, tzinfo=tzutc())) self.assertIsInstance(entity.other, EntityProperty) - self.assertEqual(entity.other.type, EdmType.INT32) + self.assertEqual(entity.other.type, EdmType.INT64) self.assertEqual(entity.other.value, 20) self.assertIsInstance(entity.clsid, uuid.UUID) self.assertEqual(str(entity.clsid), 'c9da6455-213d-42c9-9a79-3e9149a57833') @@ -288,7 +288,6 @@ def _assert_merged_entity(self, entity): # self.assertIsInstance(entity.Timestamp, datetime) # --Test cases for entities ------------------------------------------ - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() async def test_insert_entity_dictionary(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -305,7 +304,6 @@ async def test_insert_entity_dictionary(self, resource_group, location, storage_ finally: await self._tear_down() - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() async def test_insert_entity_with_hook(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -323,7 +321,6 @@ async def test_insert_entity_with_hook(self, resource_group, location, storage_a finally: await self._tear_down() - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() async def test_insert_entity_with_no_metadata(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -344,7 +341,6 @@ async def test_insert_entity_with_no_metadata(self, resource_group, location, st finally: await self._tear_down() - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() async def test_insert_entity_with_full_metadata(self, resource_group, location, storage_account, storage_account_key): @@ -365,7 +361,6 @@ async def test_insert_entity_with_full_metadata(self, resource_group, location, finally: await self._tear_down() - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() async def test_insert_entity_conflict(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -382,7 +377,6 @@ async def test_insert_entity_conflict(self, resource_group, location, storage_ac finally: await self._tear_down() - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() async def test_insert_entity_with_large_int32_value_throws(self, resource_group, location, storage_account, storage_account_key): @@ -391,19 +385,19 @@ async def test_insert_entity_with_large_int32_value_throws(self, resource_group, try: # Act dict32 = self._create_random_base_entity_dict() - dict32['large'] = EntityProperty(EdmType.INT32, 2 ** 31) + dict32['large'] = EntityProperty(2 ** 31, EdmType.INT32) # TODO: this is outside the range of int32 # Assert with self.assertRaises(TypeError): await self.table.create_entity(entity=dict32) - dict32['large'] = EntityProperty(EdmType.INT32, -(2 ** 31 + 1)) + dict32['large'] = EntityProperty(-(2 ** 31 + 1), EdmType.INT32) # TODO: this is outside the range of int32 with self.assertRaises(TypeError): await self.table.create_entity(entity=dict32) finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_entity_with_large_int64_value_throws(self, resource_group, location, storage_account, storage_account_key): @@ -412,19 +406,19 @@ async def test_insert_entity_with_large_int64_value_throws(self, resource_group, try: # Act dict64 = self._create_random_base_entity_dict() - dict64['large'] = EntityProperty(EdmType.INT64, 2 ** 63) + dict64['large'] = EntityProperty(2 ** 63) # Assert with self.assertRaises(TypeError): await self.table.create_entity(entity=dict64) - dict64['large'] = EntityProperty(EdmType.INT64, -(2 ** 63 + 1)) + dict64['large'] = EntityProperty(-(2 ** 63 + 1)) with self.assertRaises(TypeError): await self.table.create_entity(entity=dict64) finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_entity_missing_pk(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -440,7 +434,7 @@ async def test_insert_entity_missing_pk(self, resource_group, location, storage_ finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_entity_empty_string_pk(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -460,7 +454,7 @@ async def test_insert_entity_empty_string_pk(self, resource_group, location, sto finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_entity_missing_rk(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -476,7 +470,7 @@ async def test_insert_entity_missing_rk(self, resource_group, location, storage_ finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_entity_empty_string_rk(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -496,7 +490,7 @@ async def test_insert_entity_empty_string_rk(self, resource_group, location, sto finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_entity_too_many_properties(self, resource_group, location, storage_account, storage_account_key): @@ -517,7 +511,7 @@ async def test_insert_entity_too_many_properties(self, resource_group, location, finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_entity_property_name_too_long(self, resource_group, location, storage_account, storage_account_key): @@ -537,7 +531,7 @@ async def test_insert_entity_property_name_too_long(self, resource_group, locati finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_get_entity(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -556,7 +550,7 @@ async def test_get_entity(self, resource_group, location, storage_account, stora finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_get_entity_with_hook(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -579,7 +573,7 @@ async def test_get_entity_with_hook(self, resource_group, location, storage_acco finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_get_entity_if_match(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -604,7 +598,7 @@ async def test_get_entity_if_match(self, resource_group, location, storage_accou finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_get_entity_full_metadata(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -625,7 +619,7 @@ async def test_get_entity_full_metadata(self, resource_group, location, storage_ finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_get_entity_no_metadata(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -646,7 +640,7 @@ async def test_get_entity_no_metadata(self, resource_group, location, storage_ac finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_get_entity_not_existing(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -663,7 +657,7 @@ async def test_get_entity_not_existing(self, resource_group, location, storage_a finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_get_entity_with_special_doubles(self, resource_group, location, storage_account, storage_account_key): @@ -689,7 +683,7 @@ async def test_get_entity_with_special_doubles(self, resource_group, location, s finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_update_entity(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -713,7 +707,7 @@ async def test_update_entity(self, resource_group, location, storage_account, st finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_update_entity_not_existing(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -730,7 +724,7 @@ async def test_update_entity_not_existing(self, resource_group, location, storag finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_update_entity_with_if_matches(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -754,7 +748,7 @@ async def test_update_entity_with_if_matches(self, resource_group, location, sto finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_update_entity_with_if_doesnt_match(self, resource_group, location, storage_account, storage_account_key): @@ -776,7 +770,7 @@ async def test_update_entity_with_if_doesnt_match(self, resource_group, location finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_or_merge_entity_with_existing_entity(self, resource_group, location, storage_account, storage_account_key): @@ -797,7 +791,7 @@ async def test_insert_or_merge_entity_with_existing_entity(self, resource_group, finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_or_merge_entity_with_non_existing_entity(self, resource_group, location, storage_account, storage_account_key): @@ -818,7 +812,7 @@ async def test_insert_or_merge_entity_with_non_existing_entity(self, resource_gr finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_or_replace_entity_with_existing_entity(self, resource_group, location, storage_account, storage_account_key): @@ -839,7 +833,7 @@ async def test_insert_or_replace_entity_with_existing_entity(self, resource_grou finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_insert_or_replace_entity_with_non_existing_entity(self, resource_group, location, storage_account, storage_account_key): @@ -860,7 +854,7 @@ async def test_insert_or_replace_entity_with_non_existing_entity(self, resource_ finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_merge_entity(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -880,7 +874,7 @@ async def test_merge_entity(self, resource_group, location, storage_account, sto finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_merge_entity_not_existing(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -897,7 +891,7 @@ async def test_merge_entity_not_existing(self, resource_group, location, storage finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_merge_entity_with_if_matches(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -919,7 +913,7 @@ async def test_merge_entity_with_if_matches(self, resource_group, location, stor finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_merge_entity_with_if_doesnt_match(self, resource_group, location, storage_account, storage_account_key): @@ -940,7 +934,7 @@ async def test_merge_entity_with_if_doesnt_match(self, resource_group, location, finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_delete_entity(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -958,7 +952,7 @@ async def test_delete_entity(self, resource_group, location, storage_account, st finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_delete_entity_not_existing(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -974,7 +968,7 @@ async def test_delete_entity_not_existing(self, resource_group, location, storag finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_delete_entity_with_if_matches(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -993,7 +987,7 @@ async def test_delete_entity_with_if_matches(self, resource_group, location, sto finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_delete_entity_with_if_doesnt_match(self, resource_group, location, storage_account, storage_account_key): @@ -1013,7 +1007,7 @@ async def test_delete_entity_with_if_doesnt_match(self, resource_group, location finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_unicode_property_value(self, resource_group, location, storage_account, storage_account_key): ''' regression test for github issue #57''' @@ -1041,7 +1035,7 @@ async def test_unicode_property_value(self, resource_group, location, storage_ac finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_unicode_property_name(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1111,7 +1105,7 @@ async def test_operations_on_entity_with_partition_key_having_single_quote(self, finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_empty_and_spaces_property_value(self, resource_group, location, storage_account, storage_account_key): @@ -1151,7 +1145,7 @@ async def test_empty_and_spaces_property_value(self, resource_group, location, s finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_none_property_value(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1170,7 +1164,7 @@ async def test_none_property_value(self, resource_group, location, storage_accou finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_binary_property_value(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1190,7 +1184,7 @@ async def test_binary_property_value(self, resource_group, location, storage_acc finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_timezone(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1213,7 +1207,7 @@ async def test_timezone(self, resource_group, location, storage_account, storage finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_query_entities(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1233,7 +1227,7 @@ async def test_query_entities(self, resource_group, location, storage_account, s finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_query_zero_entities(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1251,7 +1245,7 @@ async def test_query_zero_entities(self, resource_group, location, storage_accou finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_query_entities_full_metadata(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1271,7 +1265,7 @@ async def test_query_entities_full_metadata(self, resource_group, location, stor finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_query_entities_no_metadata(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1305,10 +1299,10 @@ def test_query_entities_large(self, resource_group, location, storage_account, s entity = TableEntity() entity.PartitionKey = 'large' entity.RowKey = 'batch{0}-item{1}'.format(j, i) - entity.test = EntityProperty(EdmType.BOOLEAN, 'true') + entity.test = EntityProperty(True) entity.test2 = 'hello world;' * 100 entity.test3 = 3 - entity.test4 = EntityProperty(EdmType.INT64, '1234567890') + entity.test4 = EntityProperty(1234567890) entity.test5 = datetime(2016, 12, 31, 11, 59, 59, 0) batch.create_entity(entity) self.ts.commit_batch(table_name, batch) @@ -1324,7 +1318,7 @@ def test_query_entities_large(self, resource_group, location, storage_account, s # if it runs slowly, it will return fewer results and make the test fail self.assertEqual(len(entities), total_entities_count) - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_query_entities_with_filter(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1345,7 +1339,7 @@ async def test_query_entities_with_filter(self, resource_group, location, storag finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_query_entities_with_select(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1368,7 +1362,7 @@ async def test_query_entities_with_select(self, resource_group, location, storag finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_query_entities_with_top(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -1386,7 +1380,7 @@ async def test_query_entities_with_top(self, resource_group, location, storage_a finally: await self._tear_down() - # @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() async def test_query_entities_with_top_and_next(self, resource_group, location, storage_account, storage_account_key): @@ -1423,7 +1417,7 @@ async def test_query_entities_with_top_and_next(self, resource_group, location, finally: await self._tear_down() - # @pytest.mark.skip("pending") + @pytest.mark.live_test_only @GlobalStorageAccountPreparer() async def test_sas_query(self, resource_group, location, storage_account, storage_account_key): @@ -1462,7 +1456,7 @@ async def test_sas_query(self, resource_group, location, storage_account, storag finally: await self._tear_down() - # @pytest.mark.skip("pending") + @pytest.mark.live_test_only @GlobalStorageAccountPreparer() async def test_sas_add(self, resource_group, location, storage_account, storage_account_key): @@ -1499,7 +1493,7 @@ async def test_sas_add(self, resource_group, location, storage_account, storage_ finally: await self._tear_down() - # @pytest.mark.skip("pending") + @pytest.mark.live_test_only @GlobalStorageAccountPreparer() async def test_sas_add_inside_range(self, resource_group, location, storage_account, storage_account_key): @@ -1535,7 +1529,7 @@ async def test_sas_add_inside_range(self, resource_group, location, storage_acco finally: await self._tear_down() - # @pytest.mark.skip("pending") + @pytest.mark.live_test_only @GlobalStorageAccountPreparer() async def test_sas_add_outside_range(self, resource_group, location, storage_account, storage_account_key): @@ -1570,7 +1564,7 @@ async def test_sas_add_outside_range(self, resource_group, location, storage_acc finally: await self._tear_down() - # @pytest.mark.skip("pending") + @pytest.mark.live_test_only @GlobalStorageAccountPreparer() async def test_sas_update(self, resource_group, location, storage_account, storage_account_key): @@ -1606,7 +1600,7 @@ async def test_sas_update(self, resource_group, location, storage_account, stora finally: await self._tear_down() - # @pytest.mark.skip("pending") + @pytest.mark.live_test_only @GlobalStorageAccountPreparer() async def test_sas_delete(self, resource_group, location, storage_account, storage_account_key): @@ -1640,7 +1634,7 @@ async def test_sas_delete(self, resource_group, location, storage_account, stora finally: await self._tear_down() - # @pytest.mark.skip("pending") + @pytest.mark.live_test_only @GlobalStorageAccountPreparer() async def test_sas_upper_case_table_name(self, resource_group, location, storage_account, storage_account_key): @@ -1680,7 +1674,7 @@ async def test_sas_upper_case_table_name(self, resource_group, location, storage finally: await self._tear_down() - # @pytest.mark.skip("pending") + @pytest.mark.live_test_only @GlobalStorageAccountPreparer() async def test_sas_signed_identifier(self, resource_group, location, storage_account, storage_account_key): diff --git a/sdk/tables/azure-data-tables/tests/test_table_service_properties.py b/sdk/tables/azure-data-tables/tests/test_table_service_properties.py index a65cbfd6d21e..f3b7ecfad1ba 100644 --- a/sdk/tables/azure-data-tables/tests/test_table_service_properties.py +++ b/sdk/tables/azure-data-tables/tests/test_table_service_properties.py @@ -107,7 +107,6 @@ def _assert_retention_equal(self, ret1, ret2): self.assertEqual(ret1.days, ret2.days) # --Test cases per service --------------------------------------- - #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_table_service_properties(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -130,7 +129,6 @@ def test_table_service_properties(self, resource_group, location, storage_accoun # --Test cases per feature --------------------------------------- - #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_set_logging(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -149,7 +147,6 @@ def test_set_logging(self, resource_group, location, storage_account, storage_ac received_props = tsc.get_service_properties() self._assert_logging_equal(received_props['analytics_logging'], logging) - #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_set_hour_metrics(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -168,7 +165,6 @@ def test_set_hour_metrics(self, resource_group, location, storage_account, stora received_props = tsc.get_service_properties() self._assert_metrics_equal(received_props['hour_metrics'], hour_metrics) - #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_set_minute_metrics(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -188,7 +184,6 @@ def test_set_minute_metrics(self, resource_group, location, storage_account, sto received_props = tsc.get_service_properties() self._assert_metrics_equal(received_props['minute_metrics'], minute_metrics) - #@pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_set_cors(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -222,7 +217,6 @@ def test_set_cors(self, resource_group, location, storage_account, storage_accou self._assert_cors_equal(received_props['cors'], cors) # --Test cases for errors --------------------------------------- - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_retention_no_days(self, resource_group, location, storage_account, storage_account_key): # Assert @@ -230,7 +224,6 @@ def test_retention_no_days(self, resource_group, location, storage_account, stor RetentionPolicy, True, None) - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_too_many_cors_rules(self, resource_group, location, storage_account, storage_account_key): # Arrange @@ -243,7 +236,6 @@ def test_too_many_cors_rules(self, resource_group, location, storage_account, st self.assertRaises(HttpResponseError, tsc.set_service_properties, None, None, None, cors) - # @pytest.mark.skip("pending") @GlobalStorageAccountPreparer() def test_retention_too_long(self, resource_group, location, storage_account, storage_account_key): # Arrange diff --git a/sdk/tables/azure-data-tables/tests/test_table_service_properties_async.py b/sdk/tables/azure-data-tables/tests/test_table_service_properties_async.py new file mode 100644 index 000000000000..a2bd56a9f733 --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/test_table_service_properties_async.py @@ -0,0 +1,248 @@ +# coding: utf-8 + +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import unittest +import time +import pytest + +from msrest.exceptions import ValidationError # TODO This should be an azure-core error. +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer +from azure.core.exceptions import HttpResponseError + +from azure.data.tables._models import TableAnalyticsLogging, Metrics, RetentionPolicy, CorsRule +from azure.data.tables.aio import TableServiceClient + +from _shared.testcase import GlobalStorageAccountPreparer, TableTestCase + +# ------------------------------------------------------------------------------ + + +class TableServicePropertiesTest(TableTestCase): + # --Helpers----------------------------------------------------------------- + def _assert_properties_default(self, prop): + self.assertIsNotNone(prop) + + self._assert_logging_equal(prop['analytics_logging'], TableAnalyticsLogging()) + self._assert_metrics_equal(prop['hour_metrics'], Metrics()) + self._assert_metrics_equal(prop['minute_metrics'], Metrics()) + self._assert_cors_equal(prop['cors'], list()) + + def _assert_logging_equal(self, log1, log2): + if log1 is None or log2 is None: + self.assertEqual(log1, log2) + return + + self.assertEqual(log1.version, log2.version) + self.assertEqual(log1.read, log2.read) + self.assertEqual(log1.write, log2.write) + self.assertEqual(log1.delete, log2.delete) + self._assert_retention_equal(log1.retention_policy, log2.retention_policy) + + def _assert_delete_retention_policy_equal(self, policy1, policy2): + if policy1 is None or policy2 is None: + self.assertEqual(policy1, policy2) + return + + self.assertEqual(policy1.enabled, policy2.enabled) + self.assertEqual(policy1.days, policy2.days) + + def _assert_static_website_equal(self, prop1, prop2): + if prop1 is None or prop2 is None: + self.assertEqual(prop1, prop2) + return + + self.assertEqual(prop1.enabled, prop2.enabled) + self.assertEqual(prop1.index_document, prop2.index_document) + self.assertEqual(prop1.error_document404_path, prop2.error_document404_path) + + def _assert_delete_retention_policy_not_equal(self, policy1, policy2): + if policy1 is None or policy2 is None: + self.assertNotEqual(policy1, policy2) + return + + self.assertFalse(policy1.enabled == policy2.enabled + and policy1.days == policy2.days) + + def _assert_metrics_equal(self, metrics1, metrics2): + if metrics1 is None or metrics2 is None: + self.assertEqual(metrics1, metrics2) + return + + self.assertEqual(metrics1.version, metrics2.version) + self.assertEqual(metrics1.enabled, metrics2.enabled) + self.assertEqual(metrics1.include_apis, metrics2.include_apis) + self._assert_retention_equal(metrics1.retention_policy, metrics2.retention_policy) + + def _assert_cors_equal(self, cors1, cors2): + if cors1 is None or cors2 is None: + self.assertEqual(cors1, cors2) + return + + self.assertEqual(len(cors1), len(cors2)) + + for i in range(0, len(cors1)): + rule1 = cors1[i] + rule2 = cors2[i] + self.assertEqual(len(rule1.allowed_origins), len(rule2.allowed_origins)) + self.assertEqual(len(rule1.allowed_methods), len(rule2.allowed_methods)) + self.assertEqual(rule1.max_age_in_seconds, rule2.max_age_in_seconds) + self.assertEqual(len(rule1.exposed_headers), len(rule2.exposed_headers)) + self.assertEqual(len(rule1.allowed_headers), len(rule2.allowed_headers)) + + def _assert_retention_equal(self, ret1, ret2): + self.assertEqual(ret1.enabled, ret2.enabled) + self.assertEqual(ret1.days, ret2.days) + + # --Test cases per service --------------------------------------- + @GlobalStorageAccountPreparer() + async def test_table_service_properties_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + url = self.account_url(storage_account, "table") + if 'cosmos' in url: + pytest.skip("Cosmos Tables does not yet support service properties") + tsc = TableServiceClient(url, storage_account_key, logging_enable=True) + # Act + resp = await tsc.set_service_properties( + analytics_logging=TableAnalyticsLogging(), + hour_metrics=Metrics(), + minute_metrics=Metrics(), + cors=list()) + + # Assert + self.assertIsNone(resp) + if self.is_live: + time.sleep(30) + self._assert_properties_default(await tsc.get_service_properties()) + + + # --Test cases per feature --------------------------------------- + @GlobalStorageAccountPreparer() + async def test_set_logging_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + url = self.account_url(storage_account, "table") + if 'cosmos' in url: + pytest.skip("Cosmos Tables does not yet support service properties") + tsc = TableServiceClient(url, storage_account_key) + logging = TableAnalyticsLogging(read=True, write=True, delete=True, retention_policy=RetentionPolicy(enabled=True, days=5)) + + # Act + await tsc.set_service_properties(analytics_logging=logging) + + # Assert + if self.is_live: + time.sleep(30) + received_props = await tsc.get_service_properties() + self._assert_logging_equal(received_props['analytics_logging'], logging) + + @GlobalStorageAccountPreparer() + async def test_set_hour_metrics_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + url = self.account_url(storage_account, "table") + if 'cosmos' in url: + pytest.skip("Cosmos Tables does not yet support service properties") + tsc = TableServiceClient(url, storage_account_key) + hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) + + # Act + await tsc.set_service_properties(hour_metrics=hour_metrics) + + # Assert + if self.is_live: + time.sleep(30) + received_props = await tsc.get_service_properties() + self._assert_metrics_equal(received_props['hour_metrics'], hour_metrics) + + @GlobalStorageAccountPreparer() + async def test_set_minute_metrics_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + url = self.account_url(storage_account, "table") + if 'cosmos' in url: + pytest.skip("Cosmos Tables does not yet support service properties") + tsc = TableServiceClient(url, storage_account_key) + minute_metrics = Metrics(enabled=True, include_apis=True, + retention_policy=RetentionPolicy(enabled=True, days=5)) + + # Act + await tsc.set_service_properties(minute_metrics=minute_metrics) + + # Assert + if self.is_live: + time.sleep(30) + received_props = await tsc.get_service_properties() + self._assert_metrics_equal(received_props['minute_metrics'], minute_metrics) + + @GlobalStorageAccountPreparer() + async def test_set_cors_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + url = self.account_url(storage_account, "table") + if 'cosmos' in url: + pytest.skip("Cosmos Tables does not yet support service properties") + tsc = TableServiceClient(url, storage_account_key) + cors_rule1 = CorsRule(['www.xyz.com'], ['GET']) + + allowed_origins = ['www.xyz.com', "www.ab.com", "www.bc.com"] + allowed_methods = ['GET', 'PUT'] + max_age_in_seconds = 500 + exposed_headers = ["x-ms-meta-data*", "x-ms-meta-source*", "x-ms-meta-abc", "x-ms-meta-bcd"] + allowed_headers = ["x-ms-meta-data*", "x-ms-meta-target*", "x-ms-meta-xyz", "x-ms-meta-foo"] + cors_rule2 = CorsRule( + allowed_origins, + allowed_methods, + max_age_in_seconds=max_age_in_seconds, + exposed_headers=exposed_headers, + allowed_headers=allowed_headers) + + cors = [cors_rule1, cors_rule2] + + # Act + await tsc.set_service_properties(cors=cors) + + # Assert + if self.is_live: + time.sleep(30) + received_props = await tsc.get_service_properties() + self._assert_cors_equal(received_props['cors'], cors) + + # --Test cases for errors --------------------------------------- + @GlobalStorageAccountPreparer() + async def test_retention_no_days_async(self, resource_group, location, storage_account, storage_account_key): + # Assert + self.assertRaises(ValueError, + RetentionPolicy, + True, None) + + @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() + async def test_too_many_cors_rules_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + tsc = TableServiceClient(self.account_url(storage_account, "table"), storage_account_key) + cors = [] + for i in range(0, 6): + cors.append(CorsRule(['www.xyz.com'], ['GET'])) + + # Assert + self.assertRaises(HttpResponseError, + tsc.set_service_properties, None, None, None, cors) + + @pytest.mark.skip("pending") + @GlobalStorageAccountPreparer() + async def test_retention_too_long_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + tsc = TableServiceClient(self.account_url(storage_account, "table"), storage_account_key) + minute_metrics = Metrics(enabled=True, include_apis=True, + retention_policy=RetentionPolicy(enabled=True, days=366)) + + await tsc.set_service_properties(None, None, minute_metrics) + # Assert + self.assertRaises(HttpResponseError, + tsc.set_service_properties, + None, None, minute_metrics) + + +# ------------------------------------------------------------------------------ +if __name__ == '__main__': + unittest.main() diff --git a/sdk/tables/azure-data-tables/tests/test_table_service_stats_async.py b/sdk/tables/azure-data-tables/tests/test_table_service_stats_async.py new file mode 100644 index 000000000000..6d279b13478e --- /dev/null +++ b/sdk/tables/azure-data-tables/tests/test_table_service_stats_async.py @@ -0,0 +1,78 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import unittest +import pytest + +# from azure.data.tabless import TableServiceClient +from azure.data.tables.aio import TableServiceClient +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer +from _shared.testcase import GlobalResourceGroupPreparer, TableTestCase, GlobalStorageAccountPreparer + +SERVICE_UNAVAILABLE_RESP_BODY = 'unavailable ' + +SERVICE_LIVE_RESP_BODY = 'liveWed, 19 Jan 2021 22:28:43 GMT ' + + +# --Test Class ----------------------------------------------------------------- +class TableServiceStatsTest(TableTestCase): + # --Helpers----------------------------------------------------------------- + def _assert_stats_default(self, stats): + self.assertIsNotNone(stats) + self.assertIsNotNone(stats['geo_replication']) + + self.assertEqual(stats['geo_replication']['status'], 'live') + self.assertIsNotNone(stats['geo_replication']['last_sync_time']) + + def _assert_stats_unavailable(self, stats): + self.assertIsNotNone(stats) + self.assertIsNotNone(stats['geo_replication']) + + self.assertEqual(stats['geo_replication']['status'], 'unavailable') + self.assertIsNone(stats['geo_replication']['last_sync_time']) + + @staticmethod + def override_response_body_with_unavailable_status(response): + response.http_response.text = lambda _: SERVICE_UNAVAILABLE_RESP_BODY + + @staticmethod + def override_response_body_with_live_status(response): + response.http_response.text = lambda _: SERVICE_LIVE_RESP_BODY + # response.http_response.text = lambda _: SERVICE_LIVE_RESP_BODY + + # --Test cases per service --------------------------------------- + + @GlobalResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage', sku='Standard_RAGRS', random_name_enabled=True) + async def test_table_service_stats_f_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + tsc = TableServiceClient(self.account_url(storage_account, "table"), storage_account_key) + + # Act + stats = await tsc.get_service_stats(raw_response_hook=self.override_response_body_with_live_status) + # Assert + self._assert_stats_default(stats) + + @GlobalResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage', sku='Standard_RAGRS', random_name_enabled=True) + async def test_table_service_stats_when_unavailable_async(self, resource_group, location, storage_account, storage_account_key): + # Arrange + tsc = TableServiceClient(self.account_url(storage_account, "table"), storage_account_key) + + # Act + stats = await tsc.get_service_stats( + raw_response_hook=self.override_response_body_with_unavailable_status) + + # Assert + self._assert_stats_unavailable(stats) + + +# ------------------------------------------------------------------------------ +if __name__ == '__main__': + unittest.main() diff --git a/sdk/tables/ci.yml b/sdk/tables/ci.yml index c774c989e2f0..08864275e05f 100644 --- a/sdk/tables/ci.yml +++ b/sdk/tables/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: diff --git a/sdk/tables/tests.yml b/sdk/tables/tests.yml index f94c7a72f029..86573bce751d 100644 --- a/sdk/tables/tests.yml +++ b/sdk/tables/tests.yml @@ -1,15 +1,10 @@ trigger: none -resources: - repositories: - - repository: azure-sdk-tools - type: github - name: Azure/azure-sdk-tools - endpoint: azure - jobs: - template: ../../eng/pipelines/templates/jobs/archetype-sdk-tests.yml parameters: + BuildTargetingString: azure-data-tables + ServiceDirectory: tables EnvVars: STORAGE_ACCOUNT_NAME: $(python-storage-storage-account-name) STORAGE_ACCOUNT_KEY: $(python-storage-storage-account-key) diff --git a/sdk/template/ci.yml b/sdk/template/ci.yml index 0aa161a0d44c..f02b08379e2d 100644 --- a/sdk/template/ci.yml +++ b/sdk/template/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -11,6 +10,7 @@ trigger: paths: include: - sdk/template/ + - eng/common/ pr: branches: @@ -30,4 +30,4 @@ extends: ServiceDirectory: template Artifacts: - name: azure_template - safeName: azuretemplate \ No newline at end of file + safeName: azuretemplate diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_configuration.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_configuration.py index 9d8c2be5eb49..0e31b21493f7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_configuration.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_configuration.py @@ -43,8 +43,7 @@ def __init__( self.credential = credential self.endpoint = endpoint - self.credential_scopes = ['https://cognitiveservices.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://cognitiveservices.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'azure-ai-textanalytics/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_operations_mixin.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_operations_mixin.py index b54f150a56d9..7eced5ce74c8 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_operations_mixin.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_operations_mixin.py @@ -18,7 +18,7 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union class TextAnalyticsClientOperationsMixin(object): @@ -54,6 +54,8 @@ def entities_linking( from .v3_0.operations import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from .v3_1_preview_1.operations import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from .v3_1_preview_2.operations import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -95,6 +97,8 @@ def entities_recognition_general( from .v3_0.operations import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from .v3_1_preview_1.operations import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from .v3_1_preview_2.operations import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -110,6 +114,7 @@ def entities_recognition_pii( model_version=None, # type: Optional[str] show_stats=None, # type: Optional[bool] domain=None, # type: Optional[str] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] **kwargs # type: Any ): """Entities containing personal information. @@ -121,23 +126,29 @@ def entities_recognition_pii( list of enabled languages. :param documents: The set of documents to process as part of this batch. - :type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput] + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :param domain: (Optional) if set to 'PHI', response will contain only PHI entities. :type domain: str + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response - :return: EntitiesResult, or the result of cls(response) - :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult + :return: PiiEntitiesResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.PiiEntitiesResult :raises: ~azure.core.exceptions.HttpResponseError """ api_version = self._get_api_version('entities_recognition_pii') if api_version == 'v3.1-preview.1': from .v3_1_preview_1.operations import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from .v3_1_preview_2.operations import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -145,7 +156,7 @@ def entities_recognition_pii( mixin_instance._config = self._config mixin_instance._serialize = Serializer(self._models_dict(api_version)) mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) - return mixin_instance.entities_recognition_pii(documents, model_version, show_stats, domain, **kwargs) + return mixin_instance.entities_recognition_pii(documents, model_version, show_stats, domain, string_index_type, **kwargs) def key_phrases( self, @@ -178,6 +189,8 @@ def key_phrases( from .v3_0.operations import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from .v3_1_preview_1.operations import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from .v3_1_preview_2.operations import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -219,6 +232,8 @@ def languages( from .v3_0.operations import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from .v3_1_preview_1.operations import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from .v3_1_preview_2.operations import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -260,6 +275,8 @@ def sentiment( from .v3_0.operations import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from .v3_1_preview_1.operations import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from .v3_1_preview_2.operations import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_text_analytics_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_text_analytics_client.py index 3f15dad24caf..21f45b0de3d3 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_text_analytics_client.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/_text_analytics_client.py @@ -42,7 +42,6 @@ class TextAnalyticsClient(TextAnalyticsClientOperationsMixin, MultiApiClientMixi missing in profile. :param profile: A profile definition, from KnownProfiles to dict. :type profile: azure.profiles.KnownProfiles - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ DEFAULT_API_VERSION = 'v3.0' @@ -66,6 +65,8 @@ def __init__( base_url = '{Endpoint}/text/analytics/v3.0' elif api_version == 'v3.1-preview.1': base_url = '{Endpoint}/text/analytics/v3.1-preview.1' + elif api_version == 'v3.1-preview.2': + base_url = '{Endpoint}/text/analytics/v3.1-preview.2' else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) self._config = TextAnalyticsClientConfiguration(credential, endpoint, **kwargs) @@ -85,6 +86,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * v3.0: :mod:`v3_0.models` * v3.1-preview.1: :mod:`v3_1_preview_1.models` + * v3.1-preview.2: :mod:`v3_1_preview_2.models` """ if api_version == 'v3.0': from .v3_0 import models @@ -92,6 +94,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == 'v3.1-preview.1': from .v3_1_preview_1 import models return models + elif api_version == 'v3.1-preview.2': + from .v3_1_preview_2 import models + return models raise NotImplementedError("APIVersion {} is not available".format(api_version)) def close(self): diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_configuration_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_configuration_async.py index bb11db12b46f..6e86abed2caf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_configuration_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_configuration_async.py @@ -42,8 +42,7 @@ def __init__( self.credential = credential self.endpoint = endpoint - self.credential_scopes = ['https://cognitiveservices.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://cognitiveservices.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'azure-ai-textanalytics/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_operations_mixin_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_operations_mixin_async.py index f0c0104f1145..541d9b11f705 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_operations_mixin_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_operations_mixin_async.py @@ -9,7 +9,7 @@ # regenerated. # -------------------------------------------------------------------------- from msrest import Serializer, Deserializer -from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union import warnings from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error @@ -50,6 +50,8 @@ async def entities_linking( from ..v3_0.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from ..v3_1_preview_1.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from ..v3_1_preview_2.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -91,6 +93,8 @@ async def entities_recognition_general( from ..v3_0.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from ..v3_1_preview_1.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from ..v3_1_preview_2.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -106,8 +110,9 @@ async def entities_recognition_pii( model_version: Optional[str] = None, show_stats: Optional[bool] = None, domain: Optional[str] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", **kwargs - ) -> "models.EntitiesResult": + ) -> "models.PiiEntitiesResult": """Entities containing personal information. The API returns a list of entities with personal information (\"SSN\", \"Bank Account\" etc) in @@ -117,23 +122,29 @@ async def entities_recognition_pii( list of enabled languages. :param documents: The set of documents to process as part of this batch. - :type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput] + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :param domain: (Optional) if set to 'PHI', response will contain only PHI entities. :type domain: str + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response - :return: EntitiesResult, or the result of cls(response) - :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult + :return: PiiEntitiesResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.PiiEntitiesResult :raises: ~azure.core.exceptions.HttpResponseError """ api_version = self._get_api_version('entities_recognition_pii') if api_version == 'v3.1-preview.1': from ..v3_1_preview_1.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from ..v3_1_preview_2.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -141,7 +152,7 @@ async def entities_recognition_pii( mixin_instance._config = self._config mixin_instance._serialize = Serializer(self._models_dict(api_version)) mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) - return await mixin_instance.entities_recognition_pii(documents, model_version, show_stats, domain, **kwargs) + return await mixin_instance.entities_recognition_pii(documents, model_version, show_stats, domain, string_index_type, **kwargs) async def key_phrases( self, @@ -174,6 +185,8 @@ async def key_phrases( from ..v3_0.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from ..v3_1_preview_1.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from ..v3_1_preview_2.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -215,6 +228,8 @@ async def languages( from ..v3_0.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from ..v3_1_preview_1.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from ..v3_1_preview_2.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() @@ -256,6 +271,8 @@ async def sentiment( from ..v3_0.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass elif api_version == 'v3.1-preview.1': from ..v3_1_preview_1.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass + elif api_version == 'v3.1-preview.2': + from ..v3_1_preview_2.aio.operations_async import TextAnalyticsClientOperationsMixin as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) mixin_instance = OperationClass() diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_text_analytics_client_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_text_analytics_client_async.py index 6637fb76e151..7e0a9761b860 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_text_analytics_client_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/aio/_text_analytics_client_async.py @@ -42,7 +42,6 @@ class TextAnalyticsClient(TextAnalyticsClientOperationsMixin, MultiApiClientMixi missing in profile. :param profile: A profile definition, from KnownProfiles to dict. :type profile: azure.profiles.KnownProfiles - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ DEFAULT_API_VERSION = 'v3.0' @@ -66,6 +65,8 @@ def __init__( base_url = '{Endpoint}/text/analytics/v3.0' elif api_version == 'v3.1-preview.1': base_url = '{Endpoint}/text/analytics/v3.1-preview.1' + elif api_version == 'v3.1-preview.2': + base_url = '{Endpoint}/text/analytics/v3.1-preview.2' else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) self._config = TextAnalyticsClientConfiguration(credential, endpoint, **kwargs) @@ -85,6 +86,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * v3.0: :mod:`v3_0.models` * v3.1-preview.1: :mod:`v3_1_preview_1.models` + * v3.1-preview.2: :mod:`v3_1_preview_2.models` """ if api_version == 'v3.0': from ..v3_0 import models @@ -92,6 +94,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == 'v3.1-preview.1': from ..v3_1_preview_1 import models return models + elif api_version == 'v3.1-preview.2': + from ..v3_1_preview_2 import models + return models raise NotImplementedError("APIVersion {} is not available".format(api_version)) async def close(self): diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_configuration.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_configuration.py index c3db95165c0c..e216512dcf2e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_configuration.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_configuration.py @@ -46,8 +46,7 @@ def __init__( self.credential = credential self.endpoint = endpoint - self.credential_scopes = ['https://cognitiveservices.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://cognitiveservices.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'ai-textanalytics/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_metadata.json b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_metadata.json index c3506558ce44..0cecd36ac90b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_metadata.json +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_metadata.json @@ -7,7 +7,8 @@ "description": "The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", "base_url": null, "custom_base_url": "\u0027{Endpoint}/text/analytics/v3.0\u0027", - "azure_arm": false + "azure_arm": false, + "has_lro_operations": false }, "global_parameters": { "sync_method": { @@ -46,7 +47,8 @@ "credential": true, "credential_scopes": ["https://cognitiveservices.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_key_header_name": null }, "operation_groups": { }, diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_text_analytics_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_text_analytics_client.py index 27228b8acce1..c7754a163d67 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_text_analytics_client.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/_text_analytics_client.py @@ -29,7 +29,6 @@ class TextAnalyticsClient(TextAnalyticsClientOperationsMixin): :type credential: ~azure.core.credentials.TokenCredential :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com). :type endpoint: str - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/_configuration_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/_configuration_async.py index 499a2898a1b1..033d80c38005 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/_configuration_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/_configuration_async.py @@ -43,8 +43,7 @@ def __init__( self.credential = credential self.endpoint = endpoint - self.credential_scopes = ['https://cognitiveservices.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://cognitiveservices.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'ai-textanalytics/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/_text_analytics_client_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/_text_analytics_client_async.py index 0a58502575f3..5a55c01e842e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/_text_analytics_client_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/_text_analytics_client_async.py @@ -27,7 +27,6 @@ class TextAnalyticsClient(TextAnalyticsClientOperationsMixin): :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com). :type endpoint: str - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/operations_async/_text_analytics_client_operations_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/operations_async/_text_analytics_client_operations_async.py index 763d9d4ae61e..f7bdb178b87b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/operations_async/_text_analytics_client_operations_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/aio/operations_async/_text_analytics_client_operations_async.py @@ -52,6 +52,7 @@ async def entities_recognition_general( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_recognition_general.metadata['url'] # type: ignore @@ -70,19 +71,18 @@ async def entities_recognition_general( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntitiesResult', pipeline_response) @@ -125,6 +125,7 @@ async def entities_linking( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_linking.metadata['url'] # type: ignore @@ -143,19 +144,18 @@ async def entities_linking( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntityLinkingResult', pipeline_response) @@ -198,6 +198,7 @@ async def key_phrases( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.key_phrases.metadata['url'] # type: ignore @@ -216,19 +217,18 @@ async def key_phrases( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('KeyPhraseResult', pipeline_response) @@ -272,6 +272,7 @@ async def languages( _input = models.LanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.languages.metadata['url'] # type: ignore @@ -290,19 +291,18 @@ async def languages( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'LanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('LanguageResult', pipeline_response) @@ -346,6 +346,7 @@ async def sentiment( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.sentiment.metadata['url'] # type: ignore @@ -364,19 +365,18 @@ async def sentiment( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('SentimentResponse', pipeline_response) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/__init__.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/__init__.py index 474336e92e7a..06c560ab42eb 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/__init__.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/__init__.py @@ -18,6 +18,7 @@ from ._models_py3 import EntitiesResult from ._models_py3 import Entity from ._models_py3 import EntityLinkingResult + from ._models_py3 import ErrorResponse from ._models_py3 import InnerError from ._models_py3 import KeyPhraseResult from ._models_py3 import LanguageBatchInput @@ -45,6 +46,7 @@ from ._models import EntitiesResult # type: ignore from ._models import Entity # type: ignore from ._models import EntityLinkingResult # type: ignore + from ._models import ErrorResponse # type: ignore from ._models import InnerError # type: ignore from ._models import KeyPhraseResult # type: ignore from ._models import LanguageBatchInput # type: ignore @@ -81,6 +83,7 @@ 'EntitiesResult', 'Entity', 'EntityLinkingResult', + 'ErrorResponse', 'InnerError', 'KeyPhraseResult', 'LanguageBatchInput', diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/_models.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/_models.py index 8ff54b7760c3..2e268990688d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/_models.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/_models.py @@ -449,6 +449,31 @@ def __init__( self.model_version = kwargs['model_version'] +class ErrorResponse(msrest.serialization.Model): + """ErrorResponse. + + All required parameters must be populated in order to send to Azure. + + :param error: Required. Document Error. + :type error: ~azure.ai.textanalytics.v3_0.models.TextAnalyticsError + """ + + _validation = { + 'error': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'TextAnalyticsError'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs['error'] + + class InnerError(msrest.serialization.Model): """InnerError. diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/_models_py3.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/_models_py3.py index 80c27057d5b6..8d8179e667d2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/_models_py3.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/models/_models_py3.py @@ -507,6 +507,33 @@ def __init__( self.model_version = model_version +class ErrorResponse(msrest.serialization.Model): + """ErrorResponse. + + All required parameters must be populated in order to send to Azure. + + :param error: Required. Document Error. + :type error: ~azure.ai.textanalytics.v3_0.models.TextAnalyticsError + """ + + _validation = { + 'error': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'TextAnalyticsError'}, + } + + def __init__( + self, + *, + error: "TextAnalyticsError", + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + class InnerError(msrest.serialization.Model): """InnerError. diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/operations/_text_analytics_client_operations.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/operations/_text_analytics_client_operations.py index 5f95113d881f..0fc2c25d14ef 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/operations/_text_analytics_client_operations.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_0/operations/_text_analytics_client_operations.py @@ -57,6 +57,7 @@ def entities_recognition_general( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_recognition_general.metadata['url'] # type: ignore @@ -75,19 +76,18 @@ def entities_recognition_general( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntitiesResult', pipeline_response) @@ -131,6 +131,7 @@ def entities_linking( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_linking.metadata['url'] # type: ignore @@ -149,19 +150,18 @@ def entities_linking( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntityLinkingResult', pipeline_response) @@ -205,6 +205,7 @@ def key_phrases( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.key_phrases.metadata['url'] # type: ignore @@ -223,19 +224,18 @@ def key_phrases( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('KeyPhraseResult', pipeline_response) @@ -280,6 +280,7 @@ def languages( _input = models.LanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.languages.metadata['url'] # type: ignore @@ -298,19 +299,18 @@ def languages( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'LanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('LanguageResult', pipeline_response) @@ -355,6 +355,7 @@ def sentiment( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.sentiment.metadata['url'] # type: ignore @@ -373,19 +374,18 @@ def sentiment( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('SentimentResponse', pipeline_response) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_configuration.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_configuration.py index c3db95165c0c..e216512dcf2e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_configuration.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_configuration.py @@ -46,8 +46,7 @@ def __init__( self.credential = credential self.endpoint = endpoint - self.credential_scopes = ['https://cognitiveservices.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://cognitiveservices.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'ai-textanalytics/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_metadata.json b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_metadata.json index f4ef29b8cd43..5f68576f923e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_metadata.json +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_metadata.json @@ -7,7 +7,8 @@ "description": "The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", "base_url": null, "custom_base_url": "\u0027{Endpoint}/text/analytics/v3.1-preview.1\u0027", - "azure_arm": false + "azure_arm": false, + "has_lro_operations": false }, "global_parameters": { "sync_method": { @@ -46,84 +47,85 @@ "credential": true, "credential_scopes": ["https://cognitiveservices.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_key_header_name": null }, "operation_groups": { }, "operation_mixins": { "entities_recognition_general" : { "sync": { - "signature": "def entities_recognition_general(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n **kwargs # type: Any\n):\n", - "doc": "\"\"\"Named Entity Recognition.\n\nThe API returns a list of general named entities in a given document. For the list of supported\nentity types, check :code:`\u003ca href=\"https://aka.ms/taner\"\u003eSupported Entity Types in Text\nAnalytics API\u003c/a\u003e`. See the :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text\nAnalytics API\u003c/a\u003e` for the list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "signature": "def entities_recognition_general(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n string_index_type=\"TextElements_v8\", # type: Optional[Union[str, \"models.StringIndexType\"]]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Named Entity Recognition.\n\nThe API returns a list of general named entities in a given document. For the list of supported\nentity types, check :code:`\u003ca href=\"https://aka.ms/taner\"\u003eSupported Entity Types in Text\nAnalytics API\u003c/a\u003e`. See the :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text\nAnalytics API\u003c/a\u003e` for the list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, "async": { "coroutine": true, - "signature": "async def entities_recognition_general(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n **kwargs\n) -\u003e \"models.EntitiesResult\":\n", - "doc": "\"\"\"Named Entity Recognition.\n\nThe API returns a list of general named entities in a given document. For the list of supported\nentity types, check :code:`\u003ca href=\"https://aka.ms/taner\"\u003eSupported Entity Types in Text\nAnalytics API\u003c/a\u003e`. See the :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text\nAnalytics API\u003c/a\u003e` for the list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "signature": "async def entities_recognition_general(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n string_index_type: Optional[Union[str, \"models.StringIndexType\"]] = \"TextElements_v8\",\n **kwargs\n) -\u003e \"models.EntitiesResult\":\n", + "doc": "\"\"\"Named Entity Recognition.\n\nThe API returns a list of general named entities in a given document. For the list of supported\nentity types, check :code:`\u003ca href=\"https://aka.ms/taner\"\u003eSupported Entity Types in Text\nAnalytics API\u003c/a\u003e`. See the :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text\nAnalytics API\u003c/a\u003e` for the list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, - "call": "documents, model_version, show_stats" + "call": "documents, model_version, show_stats, string_index_type" }, "entities_recognition_pii" : { "sync": { - "signature": "def entities_recognition_pii(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n domain=None, # type: Optional[str]\n **kwargs # type: Any\n):\n", - "doc": "\"\"\"Entities containing personal information.\n\nThe API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in\nthe document. For the list of supported entity types, check :code:`\u003ca\nhref=\"https://aka.ms/tanerpii\"\u003eSupported Entity Types in Text Analytics API\u003c/a\u003e`. See the\n:code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the\nlist of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:param domain: (Optional) if set to \u0027PHI\u0027, response will contain only PHI entities.\n:type domain: str\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "signature": "def entities_recognition_pii(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n domain=None, # type: Optional[str]\n string_index_type=\"TextElements_v8\", # type: Optional[Union[str, \"models.StringIndexType\"]]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Entities containing personal information.\n\nThe API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in\nthe document. For the list of supported entity types, check :code:`\u003ca\nhref=\"https://aka.ms/tanerpii\"\u003eSupported Entity Types in Text Analytics API\u003c/a\u003e`. See the\n:code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the\nlist of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param domain: (Optional) if set to \u0027PHI\u0027, response will contain only PHI entities.\n:type domain: str\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, "async": { "coroutine": true, - "signature": "async def entities_recognition_pii(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n domain: Optional[str] = None,\n **kwargs\n) -\u003e \"models.EntitiesResult\":\n", - "doc": "\"\"\"Entities containing personal information.\n\nThe API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in\nthe document. For the list of supported entity types, check :code:`\u003ca\nhref=\"https://aka.ms/tanerpii\"\u003eSupported Entity Types in Text Analytics API\u003c/a\u003e`. See the\n:code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the\nlist of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:param domain: (Optional) if set to \u0027PHI\u0027, response will contain only PHI entities.\n:type domain: str\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "signature": "async def entities_recognition_pii(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n domain: Optional[str] = None,\n string_index_type: Optional[Union[str, \"models.StringIndexType\"]] = \"TextElements_v8\",\n **kwargs\n) -\u003e \"models.EntitiesResult\":\n", + "doc": "\"\"\"Entities containing personal information.\n\nThe API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in\nthe document. For the list of supported entity types, check :code:`\u003ca\nhref=\"https://aka.ms/tanerpii\"\u003eSupported Entity Types in Text Analytics API\u003c/a\u003e`. See the\n:code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the\nlist of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param domain: (Optional) if set to \u0027PHI\u0027, response will contain only PHI entities.\n:type domain: str\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, - "call": "documents, model_version, show_stats, domain" + "call": "documents, model_version, show_stats, domain, string_index_type" }, "entities_linking" : { "sync": { - "signature": "def entities_linking(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n **kwargs # type: Any\n):\n", - "doc": "\"\"\"Linked entities from a well-known knowledge base.\n\nThe API returns a list of recognized entities with links to a well-known knowledge base. See\nthe :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for\nthe list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntityLinkingResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntityLinkingResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "signature": "def entities_linking(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n string_index_type=\"TextElements_v8\", # type: Optional[Union[str, \"models.StringIndexType\"]]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Linked entities from a well-known knowledge base.\n\nThe API returns a list of recognized entities with links to a well-known knowledge base. See\nthe :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for\nthe list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntityLinkingResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntityLinkingResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, "async": { "coroutine": true, - "signature": "async def entities_linking(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n **kwargs\n) -\u003e \"models.EntityLinkingResult\":\n", - "doc": "\"\"\"Linked entities from a well-known knowledge base.\n\nThe API returns a list of recognized entities with links to a well-known knowledge base. See\nthe :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for\nthe list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntityLinkingResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntityLinkingResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "signature": "async def entities_linking(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n string_index_type: Optional[Union[str, \"models.StringIndexType\"]] = \"TextElements_v8\",\n **kwargs\n) -\u003e \"models.EntityLinkingResult\":\n", + "doc": "\"\"\"Linked entities from a well-known knowledge base.\n\nThe API returns a list of recognized entities with links to a well-known knowledge base. See\nthe :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for\nthe list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntityLinkingResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntityLinkingResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, - "call": "documents, model_version, show_stats" + "call": "documents, model_version, show_stats, string_index_type" }, "key_phrases" : { "sync": { "signature": "def key_phrases(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n **kwargs # type: Any\n):\n", - "doc": "\"\"\"Key Phrases.\n\nThe API returns a list of strings denoting the key phrases in the input text. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: KeyPhraseResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.KeyPhraseResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "doc": "\"\"\"Key Phrases.\n\nThe API returns a list of strings denoting the key phrases in the input text. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: KeyPhraseResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.KeyPhraseResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, "async": { "coroutine": true, "signature": "async def key_phrases(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n **kwargs\n) -\u003e \"models.KeyPhraseResult\":\n", - "doc": "\"\"\"Key Phrases.\n\nThe API returns a list of strings denoting the key phrases in the input text. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: KeyPhraseResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.KeyPhraseResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "doc": "\"\"\"Key Phrases.\n\nThe API returns a list of strings denoting the key phrases in the input text. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: KeyPhraseResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.KeyPhraseResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, "call": "documents, model_version, show_stats" }, "languages" : { "sync": { "signature": "def languages(\n self,\n documents, # type: List[\"models.LanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n **kwargs # type: Any\n):\n", - "doc": "\"\"\"Detect Language.\n\nThe API returns the detected language and a numeric score between 0 and 1. Scores close to 1\nindicate 100% certainty that the identified language is true. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents:\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.LanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: LanguageResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.LanguageResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "doc": "\"\"\"Detect Language.\n\nThe API returns the detected language and a numeric score between 0 and 1. Scores close to 1\nindicate 100% certainty that the identified language is true. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents:\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.LanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: LanguageResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.LanguageResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, "async": { "coroutine": true, "signature": "async def languages(\n self,\n documents: List[\"models.LanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n **kwargs\n) -\u003e \"models.LanguageResult\":\n", - "doc": "\"\"\"Detect Language.\n\nThe API returns the detected language and a numeric score between 0 and 1. Scores close to 1\nindicate 100% certainty that the identified language is true. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents:\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.LanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: LanguageResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.LanguageResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "doc": "\"\"\"Detect Language.\n\nThe API returns the detected language and a numeric score between 0 and 1. Scores close to 1\nindicate 100% certainty that the identified language is true. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents:\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.LanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: LanguageResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.LanguageResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, "call": "documents, model_version, show_stats" }, "sentiment" : { "sync": { - "signature": "def sentiment(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n opinion_mining=None, # type: Optional[bool]\n **kwargs # type: Any\n):\n", - "doc": "\"\"\"Sentiment.\n\nThe API returns a detailed sentiment analysis for the input text. The analysis is done in\nmultiple levels of granularity, start from the a document level, down to sentence and key terms\n(aspects) and opinions.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:param opinion_mining: (Optional) if set to true, response will contain input and document\n level statistics including aspect-based sentiment analysis results.\n:type opinion_mining: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: SentimentResponse, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.SentimentResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "signature": "def sentiment(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n opinion_mining=None, # type: Optional[bool]\n string_index_type=\"TextElements_v8\", # type: Optional[Union[str, \"models.StringIndexType\"]]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Sentiment.\n\nThe API returns a detailed sentiment analysis for the input text. The analysis is done in\nmultiple levels of granularity, start from the a document level, down to sentence and key terms\n(aspects) and opinions.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param opinion_mining: (Optional) if set to true, response will contain input and document\n level statistics including aspect-based sentiment analysis results.\n:type opinion_mining: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: SentimentResponse, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.SentimentResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, "async": { "coroutine": true, - "signature": "async def sentiment(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n opinion_mining: Optional[bool] = None,\n **kwargs\n) -\u003e \"models.SentimentResponse\":\n", - "doc": "\"\"\"Sentiment.\n\nThe API returns a detailed sentiment analysis for the input text. The analysis is done in\nmultiple levels of granularity, start from the a document level, down to sentence and key terms\n(aspects) and opinions.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain input and document level\n statistics.\n:type show_stats: bool\n:param opinion_mining: (Optional) if set to true, response will contain input and document\n level statistics including aspect-based sentiment analysis results.\n:type opinion_mining: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: SentimentResponse, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.SentimentResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + "signature": "async def sentiment(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n opinion_mining: Optional[bool] = None,\n string_index_type: Optional[Union[str, \"models.StringIndexType\"]] = \"TextElements_v8\",\n **kwargs\n) -\u003e \"models.SentimentResponse\":\n", + "doc": "\"\"\"Sentiment.\n\nThe API returns a detailed sentiment analysis for the input text. The analysis is done in\nmultiple levels of granularity, start from the a document level, down to sentence and key terms\n(aspects) and opinions.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_1.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param opinion_mining: (Optional) if set to true, response will contain input and document\n level statistics including aspect-based sentiment analysis results.\n:type opinion_mining: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: SentimentResponse, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.SentimentResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" }, - "call": "documents, model_version, show_stats, opinion_mining" + "call": "documents, model_version, show_stats, opinion_mining, string_index_type" } }, - "sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"List\", \"Optional\", \"TypeVar\"]}}}", - "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"List\", \"Optional\", \"TypeVar\"]}}}" + "sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"List\", \"Optional\", \"TypeVar\", \"Union\"]}}}", + "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"List\", \"Optional\", \"TypeVar\", \"Union\"]}}}" } \ No newline at end of file diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_text_analytics_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_text_analytics_client.py index 20b9bbad197a..965fad9c811b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_text_analytics_client.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/_text_analytics_client.py @@ -29,7 +29,6 @@ class TextAnalyticsClient(TextAnalyticsClientOperationsMixin): :type credential: ~azure.core.credentials.TokenCredential :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com). :type endpoint: str - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/_configuration_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/_configuration_async.py index 499a2898a1b1..033d80c38005 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/_configuration_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/_configuration_async.py @@ -43,8 +43,7 @@ def __init__( self.credential = credential self.endpoint = endpoint - self.credential_scopes = ['https://cognitiveservices.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://cognitiveservices.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'ai-textanalytics/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/_text_analytics_client_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/_text_analytics_client_async.py index 0f3ff076484b..3d61ef8310e9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/_text_analytics_client_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/_text_analytics_client_async.py @@ -27,7 +27,6 @@ class TextAnalyticsClient(TextAnalyticsClientOperationsMixin): :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com). :type endpoint: str - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/operations_async/_text_analytics_client_operations_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/operations_async/_text_analytics_client_operations_async.py index 97d727910b26..e617843153cf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/operations_async/_text_analytics_client_operations_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/aio/operations_async/_text_analytics_client_operations_async.py @@ -5,7 +5,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union import warnings from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error @@ -24,6 +24,7 @@ async def entities_recognition_general( documents: List["models.MultiLanguageInput"], model_version: Optional[str] = None, show_stats: Optional[bool] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", **kwargs ) -> "models.EntitiesResult": """Named Entity Recognition. @@ -38,9 +39,13 @@ async def entities_recognition_general( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response :return: EntitiesResult, or the result of cls(response) :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult @@ -52,6 +57,7 @@ async def entities_recognition_general( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_recognition_general.metadata['url'] # type: ignore @@ -66,23 +72,24 @@ async def entities_recognition_general( query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') if show_stats is not None: query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntitiesResult', pipeline_response) @@ -99,6 +106,7 @@ async def entities_recognition_pii( model_version: Optional[str] = None, show_stats: Optional[bool] = None, domain: Optional[str] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", **kwargs ) -> "models.EntitiesResult": """Entities containing personal information. @@ -114,11 +122,15 @@ async def entities_recognition_pii( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :param domain: (Optional) if set to 'PHI', response will contain only PHI entities. :type domain: str + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response :return: EntitiesResult, or the result of cls(response) :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult @@ -130,6 +142,7 @@ async def entities_recognition_pii( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_recognition_pii.metadata['url'] # type: ignore @@ -146,23 +159,24 @@ async def entities_recognition_pii( query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') if domain is not None: query_parameters['domain'] = self._serialize.query("domain", domain, 'str') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntitiesResult', pipeline_response) @@ -178,6 +192,7 @@ async def entities_linking( documents: List["models.MultiLanguageInput"], model_version: Optional[str] = None, show_stats: Optional[bool] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", **kwargs ) -> "models.EntityLinkingResult": """Linked entities from a well-known knowledge base. @@ -191,9 +206,13 @@ async def entities_linking( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response :return: EntityLinkingResult, or the result of cls(response) :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntityLinkingResult @@ -205,6 +224,7 @@ async def entities_linking( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_linking.metadata['url'] # type: ignore @@ -219,23 +239,24 @@ async def entities_linking( query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') if show_stats is not None: query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntityLinkingResult', pipeline_response) @@ -264,7 +285,7 @@ async def key_phrases( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :keyword callable cls: A custom type or function that will be passed the direct response @@ -278,6 +299,7 @@ async def key_phrases( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.key_phrases.metadata['url'] # type: ignore @@ -296,19 +318,18 @@ async def key_phrases( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('KeyPhraseResult', pipeline_response) @@ -338,7 +359,7 @@ async def languages( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :keyword callable cls: A custom type or function that will be passed the direct response @@ -352,6 +373,7 @@ async def languages( _input = models.LanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.languages.metadata['url'] # type: ignore @@ -370,19 +392,18 @@ async def languages( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'LanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('LanguageResult', pipeline_response) @@ -399,6 +420,7 @@ async def sentiment( model_version: Optional[str] = None, show_stats: Optional[bool] = None, opinion_mining: Optional[bool] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", **kwargs ) -> "models.SentimentResponse": """Sentiment. @@ -412,12 +434,16 @@ async def sentiment( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :param opinion_mining: (Optional) if set to true, response will contain input and document level statistics including aspect-based sentiment analysis results. :type opinion_mining: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response :return: SentimentResponse, or the result of cls(response) :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.SentimentResponse @@ -429,6 +455,7 @@ async def sentiment( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.sentiment.metadata['url'] # type: ignore @@ -445,23 +472,24 @@ async def sentiment( query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') if opinion_mining is not None: query_parameters['opinionMining'] = self._serialize.query("opinion_mining", opinion_mining, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('SentimentResponse', pipeline_response) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/__init__.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/__init__.py index 922049608b99..5009714787ec 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/__init__.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/__init__.py @@ -20,6 +20,7 @@ from ._models_py3 import EntitiesResult from ._models_py3 import Entity from ._models_py3 import EntityLinkingResult + from ._models_py3 import ErrorResponse from ._models_py3 import InnerError from ._models_py3 import KeyPhraseResult from ._models_py3 import LanguageBatchInput @@ -51,6 +52,7 @@ from ._models import EntitiesResult # type: ignore from ._models import Entity # type: ignore from ._models import EntityLinkingResult # type: ignore + from ._models import ErrorResponse # type: ignore from ._models import InnerError # type: ignore from ._models import KeyPhraseResult # type: ignore from ._models import LanguageBatchInput # type: ignore @@ -74,9 +76,9 @@ DocumentSentimentValue, ErrorCodeValue, InnerErrorCodeValue, - SentenceAspectSentiment, - SentenceOpinionSentiment, SentenceSentimentValue, + StringIndexType, + TokenSentimentValue, WarningCodeValue, ) @@ -94,6 +96,7 @@ 'EntitiesResult', 'Entity', 'EntityLinkingResult', + 'ErrorResponse', 'InnerError', 'KeyPhraseResult', 'LanguageBatchInput', @@ -115,8 +118,8 @@ 'DocumentSentimentValue', 'ErrorCodeValue', 'InnerErrorCodeValue', - 'SentenceAspectSentiment', - 'SentenceOpinionSentiment', 'SentenceSentimentValue', + 'StringIndexType', + 'TokenSentimentValue', 'WarningCodeValue', ] diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_models.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_models.py index b410706fa998..840441c257d7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_models.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_models.py @@ -511,15 +511,40 @@ def __init__( self.model_version = kwargs['model_version'] +class ErrorResponse(msrest.serialization.Model): + """ErrorResponse. + + All required parameters must be populated in order to send to Azure. + + :param error: Required. Document Error. + :type error: ~azure.ai.textanalytics.v3_1_preview_1.models.TextAnalyticsError + """ + + _validation = { + 'error': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'TextAnalyticsError'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs['error'] + + class InnerError(msrest.serialization.Model): """InnerError. All required parameters must be populated in order to send to Azure. - :param code: Required. Error code. Possible values include: "invalidParameterValue", - "invalidRequestBodyFormat", "emptyRequest", "missingInputRecords", "invalidDocument", - "modelVersionIncorrect", "invalidDocumentBatch", "unsupportedLanguageCode", - "invalidCountryHint". + :param code: Required. Error code. Possible values include: "InvalidParameterValue", + "InvalidRequestBodyFormat", "EmptyRequest", "MissingInputRecords", "InvalidDocument", + "ModelVersionIncorrect", "InvalidDocumentBatch", "UnsupportedLanguageCode", + "InvalidCountryHint". :type code: str or ~azure.ai.textanalytics.v3_1_preview_1.models.InnerErrorCodeValue :param message: Required. Error message. :type message: str @@ -896,7 +921,7 @@ class SentenceAspect(msrest.serialization.Model): :param sentiment: Required. Aspect level sentiment for the aspect in the sentence. Possible values include: "positive", "mixed", "negative". - :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_1.models.SentenceAspectSentiment + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_1.models.TokenSentimentValue :param confidence_scores: Required. Aspect level sentiment confidence scores for the aspect in the sentence. :type confidence_scores: @@ -950,7 +975,7 @@ class SentenceOpinion(msrest.serialization.Model): :param sentiment: Required. Opinion level sentiment for the aspect in the sentence. Possible values include: "positive", "mixed", "negative". - :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_1.models.SentenceOpinionSentiment + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_1.models.TokenSentimentValue :param confidence_scores: Required. Opinion level sentiment confidence scores for the aspect in the sentence. :type confidence_scores: @@ -1132,8 +1157,8 @@ class TextAnalyticsError(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param code: Required. Error code. Possible values include: "invalidRequest", - "invalidArgument", "internalServerError", "serviceUnavailable". + :param code: Required. Error code. Possible values include: "InvalidRequest", + "InvalidArgument", "InternalServerError", "ServiceUnavailable". :type code: str or ~azure.ai.textanalytics.v3_1_preview_1.models.ErrorCodeValue :param message: Required. Error message. :type message: str diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_models_py3.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_models_py3.py index 34603e0aa18e..88585d7ebe3c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_models_py3.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_models_py3.py @@ -575,15 +575,42 @@ def __init__( self.model_version = model_version +class ErrorResponse(msrest.serialization.Model): + """ErrorResponse. + + All required parameters must be populated in order to send to Azure. + + :param error: Required. Document Error. + :type error: ~azure.ai.textanalytics.v3_1_preview_1.models.TextAnalyticsError + """ + + _validation = { + 'error': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'TextAnalyticsError'}, + } + + def __init__( + self, + *, + error: "TextAnalyticsError", + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + class InnerError(msrest.serialization.Model): """InnerError. All required parameters must be populated in order to send to Azure. - :param code: Required. Error code. Possible values include: "invalidParameterValue", - "invalidRequestBodyFormat", "emptyRequest", "missingInputRecords", "invalidDocument", - "modelVersionIncorrect", "invalidDocumentBatch", "unsupportedLanguageCode", - "invalidCountryHint". + :param code: Required. Error code. Possible values include: "InvalidParameterValue", + "InvalidRequestBodyFormat", "EmptyRequest", "MissingInputRecords", "InvalidDocument", + "ModelVersionIncorrect", "InvalidDocumentBatch", "UnsupportedLanguageCode", + "InvalidCountryHint". :type code: str or ~azure.ai.textanalytics.v3_1_preview_1.models.InnerErrorCodeValue :param message: Required. Error message. :type message: str @@ -1005,7 +1032,7 @@ class SentenceAspect(msrest.serialization.Model): :param sentiment: Required. Aspect level sentiment for the aspect in the sentence. Possible values include: "positive", "mixed", "negative". - :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_1.models.SentenceAspectSentiment + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_1.models.TokenSentimentValue :param confidence_scores: Required. Aspect level sentiment confidence scores for the aspect in the sentence. :type confidence_scores: @@ -1042,7 +1069,7 @@ class SentenceAspect(msrest.serialization.Model): def __init__( self, *, - sentiment: Union[str, "SentenceAspectSentiment"], + sentiment: Union[str, "TokenSentimentValue"], confidence_scores: "AspectConfidenceScoreLabel", offset: int, length: int, @@ -1066,7 +1093,7 @@ class SentenceOpinion(msrest.serialization.Model): :param sentiment: Required. Opinion level sentiment for the aspect in the sentence. Possible values include: "positive", "mixed", "negative". - :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_1.models.SentenceOpinionSentiment + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_1.models.TokenSentimentValue :param confidence_scores: Required. Opinion level sentiment confidence scores for the aspect in the sentence. :type confidence_scores: @@ -1102,7 +1129,7 @@ class SentenceOpinion(msrest.serialization.Model): def __init__( self, *, - sentiment: Union[str, "SentenceOpinionSentiment"], + sentiment: Union[str, "TokenSentimentValue"], confidence_scores: "AspectConfidenceScoreLabel", offset: int, length: int, @@ -1272,8 +1299,8 @@ class TextAnalyticsError(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param code: Required. Error code. Possible values include: "invalidRequest", - "invalidArgument", "internalServerError", "serviceUnavailable". + :param code: Required. Error code. Possible values include: "InvalidRequest", + "InvalidArgument", "InternalServerError", "ServiceUnavailable". :type code: str or ~azure.ai.textanalytics.v3_1_preview_1.models.ErrorCodeValue :param message: Required. Error message. :type message: str diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_text_analytics_client_enums.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_text_analytics_client_enums.py index 62533920a574..840d2dbc7f59 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_text_analytics_client_enums.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/models/_text_analytics_client_enums.py @@ -46,47 +46,45 @@ class ErrorCodeValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Error code. """ - INVALID_REQUEST = "invalidRequest" - INVALID_ARGUMENT = "invalidArgument" - INTERNAL_SERVER_ERROR = "internalServerError" - SERVICE_UNAVAILABLE = "serviceUnavailable" + INVALID_REQUEST = "InvalidRequest" + INVALID_ARGUMENT = "InvalidArgument" + INTERNAL_SERVER_ERROR = "InternalServerError" + SERVICE_UNAVAILABLE = "ServiceUnavailable" class InnerErrorCodeValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Error code. """ - INVALID_PARAMETER_VALUE = "invalidParameterValue" - INVALID_REQUEST_BODY_FORMAT = "invalidRequestBodyFormat" - EMPTY_REQUEST = "emptyRequest" - MISSING_INPUT_RECORDS = "missingInputRecords" - INVALID_DOCUMENT = "invalidDocument" - MODEL_VERSION_INCORRECT = "modelVersionIncorrect" - INVALID_DOCUMENT_BATCH = "invalidDocumentBatch" - UNSUPPORTED_LANGUAGE_CODE = "unsupportedLanguageCode" - INVALID_COUNTRY_HINT = "invalidCountryHint" - -class SentenceAspectSentiment(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Aspect level sentiment for the aspect in the sentence. + INVALID_PARAMETER_VALUE = "InvalidParameterValue" + INVALID_REQUEST_BODY_FORMAT = "InvalidRequestBodyFormat" + EMPTY_REQUEST = "EmptyRequest" + MISSING_INPUT_RECORDS = "MissingInputRecords" + INVALID_DOCUMENT = "InvalidDocument" + MODEL_VERSION_INCORRECT = "ModelVersionIncorrect" + INVALID_DOCUMENT_BATCH = "InvalidDocumentBatch" + UNSUPPORTED_LANGUAGE_CODE = "UnsupportedLanguageCode" + INVALID_COUNTRY_HINT = "InvalidCountryHint" + +class SentenceSentimentValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The predicted Sentiment for the sentence. """ POSITIVE = "positive" - MIXED = "mixed" + NEUTRAL = "neutral" NEGATIVE = "negative" -class SentenceOpinionSentiment(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Opinion level sentiment for the aspect in the sentence. - """ +class StringIndexType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - POSITIVE = "positive" - MIXED = "mixed" - NEGATIVE = "negative" + TEXT_ELEMENTS_V8 = "TextElements_v8" #: Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo. + UNICODE_CODE_POINT = "UnicodeCodePoint" #: Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python. + UTF16_CODE_UNIT = "Utf16CodeUnit" #: Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript. -class SentenceSentimentValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The predicted Sentiment for the sentence. +class TokenSentimentValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Aspect level sentiment for the aspect in the sentence. """ POSITIVE = "positive" - NEUTRAL = "neutral" + MIXED = "mixed" NEGATIVE = "negative" class WarningCodeValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/operations/_text_analytics_client_operations.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/operations/_text_analytics_client_operations.py index 138a47329b0e..59d9790a6e63 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/operations/_text_analytics_client_operations.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_1/operations/_text_analytics_client_operations.py @@ -16,7 +16,7 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -28,6 +28,7 @@ def entities_recognition_general( documents, # type: List["models.MultiLanguageInput"] model_version=None, # type: Optional[str] show_stats=None, # type: Optional[bool] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] **kwargs # type: Any ): # type: (...) -> "models.EntitiesResult" @@ -43,9 +44,13 @@ def entities_recognition_general( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response :return: EntitiesResult, or the result of cls(response) :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult @@ -57,6 +62,7 @@ def entities_recognition_general( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_recognition_general.metadata['url'] # type: ignore @@ -71,23 +77,24 @@ def entities_recognition_general( query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') if show_stats is not None: query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntitiesResult', pipeline_response) @@ -104,6 +111,7 @@ def entities_recognition_pii( model_version=None, # type: Optional[str] show_stats=None, # type: Optional[bool] domain=None, # type: Optional[str] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] **kwargs # type: Any ): # type: (...) -> "models.EntitiesResult" @@ -120,11 +128,15 @@ def entities_recognition_pii( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :param domain: (Optional) if set to 'PHI', response will contain only PHI entities. :type domain: str + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response :return: EntitiesResult, or the result of cls(response) :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntitiesResult @@ -136,6 +148,7 @@ def entities_recognition_pii( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_recognition_pii.metadata['url'] # type: ignore @@ -152,23 +165,24 @@ def entities_recognition_pii( query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') if domain is not None: query_parameters['domain'] = self._serialize.query("domain", domain, 'str') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntitiesResult', pipeline_response) @@ -184,6 +198,7 @@ def entities_linking( documents, # type: List["models.MultiLanguageInput"] model_version=None, # type: Optional[str] show_stats=None, # type: Optional[bool] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] **kwargs # type: Any ): # type: (...) -> "models.EntityLinkingResult" @@ -198,9 +213,13 @@ def entities_linking( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response :return: EntityLinkingResult, or the result of cls(response) :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.EntityLinkingResult @@ -212,6 +231,7 @@ def entities_linking( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.entities_linking.metadata['url'] # type: ignore @@ -226,23 +246,24 @@ def entities_linking( query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') if show_stats is not None: query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('EntityLinkingResult', pipeline_response) @@ -272,7 +293,7 @@ def key_phrases( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :keyword callable cls: A custom type or function that will be passed the direct response @@ -286,6 +307,7 @@ def key_phrases( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.key_phrases.metadata['url'] # type: ignore @@ -304,19 +326,18 @@ def key_phrases( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('KeyPhraseResult', pipeline_response) @@ -347,7 +368,7 @@ def languages( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :keyword callable cls: A custom type or function that will be passed the direct response @@ -361,6 +382,7 @@ def languages( _input = models.LanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.languages.metadata['url'] # type: ignore @@ -379,19 +401,18 @@ def languages( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'LanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('LanguageResult', pipeline_response) @@ -408,6 +429,7 @@ def sentiment( model_version=None, # type: Optional[str] show_stats=None, # type: Optional[bool] opinion_mining=None, # type: Optional[bool] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] **kwargs # type: Any ): # type: (...) -> "models.SentimentResponse" @@ -422,12 +444,16 @@ def sentiment( :param model_version: (Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. :type model_version: str - :param show_stats: (Optional) if set to true, response will contain input and document level + :param show_stats: (Optional) if set to true, response will contain request and document level statistics. :type show_stats: bool :param opinion_mining: (Optional) if set to true, response will contain input and document level statistics including aspect-based sentiment analysis results. :type opinion_mining: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_1.models.StringIndexType :keyword callable cls: A custom type or function that will be passed the direct response :return: SentimentResponse, or the result of cls(response) :rtype: ~azure.ai.textanalytics.v3_1_preview_1.models.SentimentResponse @@ -439,6 +465,7 @@ def sentiment( _input = models.MultiLanguageBatchInput(documents=documents) content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" # Construct URL url = self.sentiment.metadata['url'] # type: ignore @@ -455,23 +482,24 @@ def sentiment( query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') if opinion_mining is not None: query_parameters['opinionMining'] = self._serialize.query("opinion_mining", opinion_mining, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.TextAnalyticsError, response) + error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('SentimentResponse', pipeline_response) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/__init__.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/__init__.py new file mode 100644 index 000000000000..ca973ce68900 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._text_analytics_client import TextAnalyticsClient +__all__ = ['TextAnalyticsClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_configuration.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_configuration.py new file mode 100644 index 000000000000..e216512dcf2e --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class TextAnalyticsClientConfiguration(Configuration): + """Configuration for TextAnalyticsClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com). + :type endpoint: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + endpoint, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if endpoint is None: + raise ValueError("Parameter 'endpoint' must not be None.") + super(TextAnalyticsClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.endpoint = endpoint + self.credential_scopes = kwargs.pop('credential_scopes', ['https://cognitiveservices.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'ai-textanalytics/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_metadata.json b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_metadata.json new file mode 100644 index 000000000000..1fe442b56d2f --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_metadata.json @@ -0,0 +1,131 @@ +{ + "chosen_version": "v3.1-preview.2", + "total_api_version_list": ["v3.1-preview.2"], + "client": { + "name": "TextAnalyticsClient", + "filename": "_text_analytics_client", + "description": "The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", + "base_url": null, + "custom_base_url": "\u0027{Endpoint}/text/analytics/v3.1-preview.2\u0027", + "azure_arm": false, + "has_lro_operations": false + }, + "global_parameters": { + "sync_method": { + "credential": { + "method_signature": "credential, # type: \"TokenCredential\"", + "description": "Credential needed for the client to connect to Azure.", + "docstring_type": "~azure.core.credentials.TokenCredential", + "required": true + }, + "endpoint": { + "method_signature": "endpoint, # type: str", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).", + "docstring_type": "str", + "required": true + } + }, + "async_method": { + "credential": { + "method_signature": "credential, # type: \"AsyncTokenCredential\"", + "description": "Credential needed for the client to connect to Azure.", + "docstring_type": "~azure.core.credentials_async.AsyncTokenCredential", + "required": true + }, + "endpoint": { + "method_signature": "endpoint, # type: str", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).", + "docstring_type": "str", + "required": true + } + }, + "constant": { + }, + "call": "credential, endpoint" + }, + "config": { + "credential": true, + "credential_scopes": ["https://cognitiveservices.azure.com/.default"], + "credential_default_policy_type": "BearerTokenCredentialPolicy", + "credential_default_policy_type_has_async_version": true, + "credential_key_header_name": null + }, + "operation_groups": { + }, + "operation_mixins": { + "entities_recognition_general" : { + "sync": { + "signature": "def entities_recognition_general(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n string_index_type=\"TextElements_v8\", # type: Optional[Union[str, \"models.StringIndexType\"]]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Named Entity Recognition.\n\nThe API returns a list of general named entities in a given document. For the list of supported\nentity types, check :code:`\u003ca href=\"https://aka.ms/taner\"\u003eSupported Entity Types in Text\nAnalytics API\u003c/a\u003e`. See the :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text\nAnalytics API\u003c/a\u003e` for the list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def entities_recognition_general(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n string_index_type: Optional[Union[str, \"models.StringIndexType\"]] = \"TextElements_v8\",\n **kwargs\n) -\u003e \"models.EntitiesResult\":\n", + "doc": "\"\"\"Named Entity Recognition.\n\nThe API returns a list of general named entities in a given document. For the list of supported\nentity types, check :code:`\u003ca href=\"https://aka.ms/taner\"\u003eSupported Entity Types in Text\nAnalytics API\u003c/a\u003e`. See the :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text\nAnalytics API\u003c/a\u003e` for the list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.EntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "documents, model_version, show_stats, string_index_type" + }, + "entities_recognition_pii" : { + "sync": { + "signature": "def entities_recognition_pii(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n domain=None, # type: Optional[str]\n string_index_type=\"TextElements_v8\", # type: Optional[Union[str, \"models.StringIndexType\"]]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Entities containing personal information.\n\nThe API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in\nthe document. For the list of supported entity types, check :code:`\u003ca\nhref=\"https://aka.ms/tanerpii\"\u003eSupported Entity Types in Text Analytics API\u003c/a\u003e`. See the\n:code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the\nlist of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param domain: (Optional) if set to \u0027PHI\u0027, response will contain only PHI entities.\n:type domain: str\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: PiiEntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.PiiEntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def entities_recognition_pii(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n domain: Optional[str] = None,\n string_index_type: Optional[Union[str, \"models.StringIndexType\"]] = \"TextElements_v8\",\n **kwargs\n) -\u003e \"models.PiiEntitiesResult\":\n", + "doc": "\"\"\"Entities containing personal information.\n\nThe API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in\nthe document. For the list of supported entity types, check :code:`\u003ca\nhref=\"https://aka.ms/tanerpii\"\u003eSupported Entity Types in Text Analytics API\u003c/a\u003e`. See the\n:code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the\nlist of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param domain: (Optional) if set to \u0027PHI\u0027, response will contain only PHI entities.\n:type domain: str\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: PiiEntitiesResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.PiiEntitiesResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "documents, model_version, show_stats, domain, string_index_type" + }, + "entities_linking" : { + "sync": { + "signature": "def entities_linking(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n string_index_type=\"TextElements_v8\", # type: Optional[Union[str, \"models.StringIndexType\"]]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Linked entities from a well-known knowledge base.\n\nThe API returns a list of recognized entities with links to a well-known knowledge base. See\nthe :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for\nthe list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntityLinkingResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.EntityLinkingResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def entities_linking(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n string_index_type: Optional[Union[str, \"models.StringIndexType\"]] = \"TextElements_v8\",\n **kwargs\n) -\u003e \"models.EntityLinkingResult\":\n", + "doc": "\"\"\"Linked entities from a well-known knowledge base.\n\nThe API returns a list of recognized entities with links to a well-known knowledge base. See\nthe :code:`\u003ca href=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for\nthe list of enabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: EntityLinkingResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.EntityLinkingResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "documents, model_version, show_stats, string_index_type" + }, + "key_phrases" : { + "sync": { + "signature": "def key_phrases(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Key Phrases.\n\nThe API returns a list of strings denoting the key phrases in the input text. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: KeyPhraseResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.KeyPhraseResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def key_phrases(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n **kwargs\n) -\u003e \"models.KeyPhraseResult\":\n", + "doc": "\"\"\"Key Phrases.\n\nThe API returns a list of strings denoting the key phrases in the input text. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: KeyPhraseResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.KeyPhraseResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "documents, model_version, show_stats" + }, + "languages" : { + "sync": { + "signature": "def languages(\n self,\n documents, # type: List[\"models.LanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Detect Language.\n\nThe API returns the detected language and a numeric score between 0 and 1. Scores close to 1\nindicate 100% certainty that the identified language is true. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents:\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.LanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: LanguageResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.LanguageResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def languages(\n self,\n documents: List[\"models.LanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n **kwargs\n) -\u003e \"models.LanguageResult\":\n", + "doc": "\"\"\"Detect Language.\n\nThe API returns the detected language and a numeric score between 0 and 1. Scores close to 1\nindicate 100% certainty that the identified language is true. See the :code:`\u003ca\nhref=\"https://aka.ms/talangs\"\u003eSupported languages in Text Analytics API\u003c/a\u003e` for the list of\nenabled languages.\n\n:param documents:\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.LanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: LanguageResult, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.LanguageResult\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "documents, model_version, show_stats" + }, + "sentiment" : { + "sync": { + "signature": "def sentiment(\n self,\n documents, # type: List[\"models.MultiLanguageInput\"]\n model_version=None, # type: Optional[str]\n show_stats=None, # type: Optional[bool]\n opinion_mining=None, # type: Optional[bool]\n string_index_type=\"TextElements_v8\", # type: Optional[Union[str, \"models.StringIndexType\"]]\n **kwargs # type: Any\n):\n", + "doc": "\"\"\"Sentiment.\n\nThe API returns a detailed sentiment analysis for the input text. The analysis is done in\nmultiple levels of granularity, start from the a document level, down to sentence and key terms\n(aspects) and opinions.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param opinion_mining: (Optional) if set to true, response will contain input and document\n level statistics including aspect-based sentiment analysis results.\n:type opinion_mining: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: SentimentResponse, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.SentimentResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "async": { + "coroutine": true, + "signature": "async def sentiment(\n self,\n documents: List[\"models.MultiLanguageInput\"],\n model_version: Optional[str] = None,\n show_stats: Optional[bool] = None,\n opinion_mining: Optional[bool] = None,\n string_index_type: Optional[Union[str, \"models.StringIndexType\"]] = \"TextElements_v8\",\n **kwargs\n) -\u003e \"models.SentimentResponse\":\n", + "doc": "\"\"\"Sentiment.\n\nThe API returns a detailed sentiment analysis for the input text. The analysis is done in\nmultiple levels of granularity, start from the a document level, down to sentence and key terms\n(aspects) and opinions.\n\n:param documents: The set of documents to process as part of this batch.\n:type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput]\n:param model_version: (Optional) This value indicates which model will be used for scoring. If\n a model-version is not specified, the API should default to the latest, non-preview version.\n:type model_version: str\n:param show_stats: (Optional) if set to true, response will contain request and document level\n statistics.\n:type show_stats: bool\n:param opinion_mining: (Optional) if set to true, response will contain input and document\n level statistics including aspect-based sentiment analysis results.\n:type opinion_mining: bool\n:param string_index_type: (Optional) Specifies the method used to interpret string offsets.\n Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information\n see https://aka.ms/text-analytics-offsets.\n:type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType\n:keyword callable cls: A custom type or function that will be passed the direct response\n:return: SentimentResponse, or the result of cls(response)\n:rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.SentimentResponse\n:raises: ~azure.core.exceptions.HttpResponseError\n\"\"\"" + }, + "call": "documents, model_version, show_stats, opinion_mining, string_index_type" + } + }, + "sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"List\", \"Optional\", \"TypeVar\", \"Union\"]}}}", + "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.exceptions\": [\"HttpResponseError\", \"ResourceExistsError\", \"ResourceNotFoundError\", \"map_error\"], \"azure.core.pipeline\": [\"PipelineResponse\"], \"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}, \"stdlib\": {\"warnings\": [null]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Callable\", \"Dict\", \"Generic\", \"List\", \"Optional\", \"TypeVar\", \"Union\"]}}}" +} \ No newline at end of file diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_text_analytics_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_text_analytics_client.py new file mode 100644 index 000000000000..816d79abf80c --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/_text_analytics_client.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +from ._configuration import TextAnalyticsClientConfiguration +from .operations import TextAnalyticsClientOperationsMixin +from . import models + + +class TextAnalyticsClient(TextAnalyticsClientOperationsMixin): + """The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com). + :type endpoint: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + endpoint, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + base_url = '{Endpoint}/text/analytics/v3.1-preview.2' + self._config = TextAnalyticsClientConfiguration(credential, endpoint, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> TextAnalyticsClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/__init__.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/__init__.py new file mode 100644 index 000000000000..ffe1820f1f27 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._text_analytics_client_async import TextAnalyticsClient +__all__ = ['TextAnalyticsClient'] diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/_configuration_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/_configuration_async.py new file mode 100644 index 000000000000..033d80c38005 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/_configuration_async.py @@ -0,0 +1,64 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class TextAnalyticsClientConfiguration(Configuration): + """Configuration for TextAnalyticsClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com). + :type endpoint: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + endpoint: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if endpoint is None: + raise ValueError("Parameter 'endpoint' must not be None.") + super(TextAnalyticsClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.endpoint = endpoint + self.credential_scopes = kwargs.pop('credential_scopes', ['https://cognitiveservices.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'ai-textanalytics/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/_text_analytics_client_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/_text_analytics_client_async.py new file mode 100644 index 000000000000..17d7e258b509 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/_text_analytics_client_async.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration_async import TextAnalyticsClientConfiguration +from .operations_async import TextAnalyticsClientOperationsMixin +from .. import models + + +class TextAnalyticsClient(TextAnalyticsClientOperationsMixin): + """The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param endpoint: Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com). + :type endpoint: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + endpoint: str, + **kwargs: Any + ) -> None: + base_url = '{Endpoint}/text/analytics/v3.1-preview.2' + self._config = TextAnalyticsClientConfiguration(credential, endpoint, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "TextAnalyticsClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/operations_async/__init__.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/operations_async/__init__.py new file mode 100644 index 000000000000..e6429ee824b7 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/operations_async/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._text_analytics_client_operations_async import TextAnalyticsClientOperationsMixin + +__all__ = [ + 'TextAnalyticsClientOperationsMixin', +] diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/operations_async/_text_analytics_client_operations_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/operations_async/_text_analytics_client_operations_async.py new file mode 100644 index 000000000000..e9c991e24f82 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/aio/operations_async/_text_analytics_client_operations_async.py @@ -0,0 +1,501 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TextAnalyticsClientOperationsMixin: + + async def entities_recognition_general( + self, + documents: List["models.MultiLanguageInput"], + model_version: Optional[str] = None, + show_stats: Optional[bool] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", + **kwargs + ) -> "models.EntitiesResult": + """Named Entity Recognition. + + The API returns a list of general named entities in a given document. For the list of supported + entity types, check :code:`Supported Entity Types in Text + Analytics API`. See the :code:`Supported languages in Text + Analytics API` for the list of enabled languages. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EntitiesResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.EntitiesResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EntitiesResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.entities_recognition_general.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('EntitiesResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + entities_recognition_general.metadata = {'url': '/entities/recognition/general'} # type: ignore + + async def entities_recognition_pii( + self, + documents: List["models.MultiLanguageInput"], + model_version: Optional[str] = None, + show_stats: Optional[bool] = None, + domain: Optional[str] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", + **kwargs + ) -> "models.PiiEntitiesResult": + """Entities containing personal information. + + The API returns a list of entities with personal information (\"SSN\", \"Bank Account\" etc) in + the document. For the list of supported entity types, check :code:`Supported Entity Types in Text Analytics API`. See the + :code:`Supported languages in Text Analytics API` for the + list of enabled languages. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :param domain: (Optional) if set to 'PHI', response will contain only PHI entities. + :type domain: str + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PiiEntitiesResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.PiiEntitiesResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PiiEntitiesResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.entities_recognition_pii.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if domain is not None: + query_parameters['domain'] = self._serialize.query("domain", domain, 'str') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('PiiEntitiesResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + entities_recognition_pii.metadata = {'url': '/entities/recognition/pii'} # type: ignore + + async def entities_linking( + self, + documents: List["models.MultiLanguageInput"], + model_version: Optional[str] = None, + show_stats: Optional[bool] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", + **kwargs + ) -> "models.EntityLinkingResult": + """Linked entities from a well-known knowledge base. + + The API returns a list of recognized entities with links to a well-known knowledge base. See + the :code:`Supported languages in Text Analytics API` for + the list of enabled languages. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EntityLinkingResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.EntityLinkingResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EntityLinkingResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.entities_linking.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('EntityLinkingResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + entities_linking.metadata = {'url': '/entities/linking'} # type: ignore + + async def key_phrases( + self, + documents: List["models.MultiLanguageInput"], + model_version: Optional[str] = None, + show_stats: Optional[bool] = None, + **kwargs + ) -> "models.KeyPhraseResult": + """Key Phrases. + + The API returns a list of strings denoting the key phrases in the input text. See the :code:`Supported languages in Text Analytics API` for the list of + enabled languages. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: KeyPhraseResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.KeyPhraseResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.KeyPhraseResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.key_phrases.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('KeyPhraseResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + key_phrases.metadata = {'url': '/keyPhrases'} # type: ignore + + async def languages( + self, + documents: List["models.LanguageInput"], + model_version: Optional[str] = None, + show_stats: Optional[bool] = None, + **kwargs + ) -> "models.LanguageResult": + """Detect Language. + + The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 + indicate 100% certainty that the identified language is true. See the :code:`Supported languages in Text Analytics API` for the list of + enabled languages. + + :param documents: + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.LanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LanguageResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.LanguageResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LanguageResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.LanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.languages.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'LanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('LanguageResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + languages.metadata = {'url': '/languages'} # type: ignore + + async def sentiment( + self, + documents: List["models.MultiLanguageInput"], + model_version: Optional[str] = None, + show_stats: Optional[bool] = None, + opinion_mining: Optional[bool] = None, + string_index_type: Optional[Union[str, "models.StringIndexType"]] = "TextElements_v8", + **kwargs + ) -> "models.SentimentResponse": + """Sentiment. + + The API returns a detailed sentiment analysis for the input text. The analysis is done in + multiple levels of granularity, start from the a document level, down to sentence and key terms + (aspects) and opinions. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :param opinion_mining: (Optional) if set to true, response will contain input and document + level statistics including aspect-based sentiment analysis results. + :type opinion_mining: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SentimentResponse, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.SentimentResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SentimentResponse"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.sentiment.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if opinion_mining is not None: + query_parameters['opinionMining'] = self._serialize.query("opinion_mining", opinion_mining, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('SentimentResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + sentiment.metadata = {'url': '/sentiment'} # type: ignore diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/__init__.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/__init__.py new file mode 100644 index 000000000000..4129958a9fb9 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/__init__.py @@ -0,0 +1,131 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AspectConfidenceScoreLabel + from ._models_py3 import AspectRelation + from ._models_py3 import DetectedLanguage + from ._models_py3 import DocumentEntities + from ._models_py3 import DocumentError + from ._models_py3 import DocumentKeyPhrases + from ._models_py3 import DocumentLanguage + from ._models_py3 import DocumentLinkedEntities + from ._models_py3 import DocumentSentiment + from ._models_py3 import DocumentStatistics + from ._models_py3 import EntitiesResult + from ._models_py3 import Entity + from ._models_py3 import EntityLinkingResult + from ._models_py3 import ErrorResponse + from ._models_py3 import InnerError + from ._models_py3 import KeyPhraseResult + from ._models_py3 import LanguageBatchInput + from ._models_py3 import LanguageInput + from ._models_py3 import LanguageResult + from ._models_py3 import LinkedEntity + from ._models_py3 import Match + from ._models_py3 import MultiLanguageBatchInput + from ._models_py3 import MultiLanguageInput + from ._models_py3 import PiiDocumentEntities + from ._models_py3 import PiiEntitiesResult + from ._models_py3 import RequestStatistics + from ._models_py3 import SentenceAspect + from ._models_py3 import SentenceOpinion + from ._models_py3 import SentenceSentiment + from ._models_py3 import SentimentConfidenceScorePerLabel + from ._models_py3 import SentimentResponse + from ._models_py3 import TextAnalyticsError + from ._models_py3 import TextAnalyticsWarning +except (SyntaxError, ImportError): + from ._models import AspectConfidenceScoreLabel # type: ignore + from ._models import AspectRelation # type: ignore + from ._models import DetectedLanguage # type: ignore + from ._models import DocumentEntities # type: ignore + from ._models import DocumentError # type: ignore + from ._models import DocumentKeyPhrases # type: ignore + from ._models import DocumentLanguage # type: ignore + from ._models import DocumentLinkedEntities # type: ignore + from ._models import DocumentSentiment # type: ignore + from ._models import DocumentStatistics # type: ignore + from ._models import EntitiesResult # type: ignore + from ._models import Entity # type: ignore + from ._models import EntityLinkingResult # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import InnerError # type: ignore + from ._models import KeyPhraseResult # type: ignore + from ._models import LanguageBatchInput # type: ignore + from ._models import LanguageInput # type: ignore + from ._models import LanguageResult # type: ignore + from ._models import LinkedEntity # type: ignore + from ._models import Match # type: ignore + from ._models import MultiLanguageBatchInput # type: ignore + from ._models import MultiLanguageInput # type: ignore + from ._models import PiiDocumentEntities # type: ignore + from ._models import PiiEntitiesResult # type: ignore + from ._models import RequestStatistics # type: ignore + from ._models import SentenceAspect # type: ignore + from ._models import SentenceOpinion # type: ignore + from ._models import SentenceSentiment # type: ignore + from ._models import SentimentConfidenceScorePerLabel # type: ignore + from ._models import SentimentResponse # type: ignore + from ._models import TextAnalyticsError # type: ignore + from ._models import TextAnalyticsWarning # type: ignore + +from ._text_analytics_client_enums import ( + AspectRelationType, + DocumentSentimentValue, + ErrorCodeValue, + InnerErrorCodeValue, + SentenceSentimentValue, + StringIndexType, + TokenSentimentValue, + WarningCodeValue, +) + +__all__ = [ + 'AspectConfidenceScoreLabel', + 'AspectRelation', + 'DetectedLanguage', + 'DocumentEntities', + 'DocumentError', + 'DocumentKeyPhrases', + 'DocumentLanguage', + 'DocumentLinkedEntities', + 'DocumentSentiment', + 'DocumentStatistics', + 'EntitiesResult', + 'Entity', + 'EntityLinkingResult', + 'ErrorResponse', + 'InnerError', + 'KeyPhraseResult', + 'LanguageBatchInput', + 'LanguageInput', + 'LanguageResult', + 'LinkedEntity', + 'Match', + 'MultiLanguageBatchInput', + 'MultiLanguageInput', + 'PiiDocumentEntities', + 'PiiEntitiesResult', + 'RequestStatistics', + 'SentenceAspect', + 'SentenceOpinion', + 'SentenceSentiment', + 'SentimentConfidenceScorePerLabel', + 'SentimentResponse', + 'TextAnalyticsError', + 'TextAnalyticsWarning', + 'AspectRelationType', + 'DocumentSentimentValue', + 'ErrorCodeValue', + 'InnerErrorCodeValue', + 'SentenceSentimentValue', + 'StringIndexType', + 'TokenSentimentValue', + 'WarningCodeValue', +] diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_models.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_models.py new file mode 100644 index 000000000000..285699e441d1 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_models.py @@ -0,0 +1,1319 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class AspectConfidenceScoreLabel(msrest.serialization.Model): + """Represents the confidence scores across all sentiment classes: positive, neutral, negative. + + All required parameters must be populated in order to send to Azure. + + :param positive: Required. + :type positive: float + :param negative: Required. + :type negative: float + """ + + _validation = { + 'positive': {'required': True}, + 'negative': {'required': True}, + } + + _attribute_map = { + 'positive': {'key': 'positive', 'type': 'float'}, + 'negative': {'key': 'negative', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(AspectConfidenceScoreLabel, self).__init__(**kwargs) + self.positive = kwargs['positive'] + self.negative = kwargs['negative'] + + +class AspectRelation(msrest.serialization.Model): + """AspectRelation. + + All required parameters must be populated in order to send to Azure. + + :param relation_type: Required. The type related to the aspect. Possible values include: + "opinion", "aspect". + :type relation_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.AspectRelationType + :param ref: Required. The JSON pointer indicating the linked object. + :type ref: str + """ + + _validation = { + 'relation_type': {'required': True}, + 'ref': {'required': True}, + } + + _attribute_map = { + 'relation_type': {'key': 'relationType', 'type': 'str'}, + 'ref': {'key': 'ref', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AspectRelation, self).__init__(**kwargs) + self.relation_type = kwargs['relation_type'] + self.ref = kwargs['ref'] + + +class DetectedLanguage(msrest.serialization.Model): + """DetectedLanguage. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Long name of a detected language (e.g. English, French). + :type name: str + :param iso6391_name: Required. A two letter representation of the detected language according + to the ISO 639-1 standard (e.g. en, fr). + :type iso6391_name: str + :param confidence_score: Required. A confidence score between 0 and 1. Scores close to 1 + indicate 100% certainty that the identified language is true. + :type confidence_score: float + """ + + _validation = { + 'name': {'required': True}, + 'iso6391_name': {'required': True}, + 'confidence_score': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'iso6391_name': {'key': 'iso6391Name', 'type': 'str'}, + 'confidence_score': {'key': 'confidenceScore', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(DetectedLanguage, self).__init__(**kwargs) + self.name = kwargs['name'] + self.iso6391_name = kwargs['iso6391_name'] + self.confidence_score = kwargs['confidence_score'] + + +class DocumentEntities(msrest.serialization.Model): + """DocumentEntities. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param entities: Required. Recognized entities in the document. + :type entities: list[~azure.ai.textanalytics.v3_1_preview_2.models.Entity] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + """ + + _validation = { + 'id': {'required': True}, + 'entities': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'entities': {'key': 'entities', 'type': '[Entity]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + } + + def __init__( + self, + **kwargs + ): + super(DocumentEntities, self).__init__(**kwargs) + self.id = kwargs['id'] + self.entities = kwargs['entities'] + self.warnings = kwargs['warnings'] + self.statistics = kwargs.get('statistics', None) + + +class DocumentError(msrest.serialization.Model): + """DocumentError. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Document Id. + :type id: str + :param error: Required. Document Error. + :type error: ~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsError + """ + + _validation = { + 'id': {'required': True}, + 'error': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'TextAnalyticsError'}, + } + + def __init__( + self, + **kwargs + ): + super(DocumentError, self).__init__(**kwargs) + self.id = kwargs['id'] + self.error = kwargs['error'] + + +class DocumentKeyPhrases(msrest.serialization.Model): + """DocumentKeyPhrases. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param key_phrases: Required. A list of representative words or phrases. The number of key + phrases returned is proportional to the number of words in the input document. + :type key_phrases: list[str] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + """ + + _validation = { + 'id': {'required': True}, + 'key_phrases': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'key_phrases': {'key': 'keyPhrases', 'type': '[str]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + } + + def __init__( + self, + **kwargs + ): + super(DocumentKeyPhrases, self).__init__(**kwargs) + self.id = kwargs['id'] + self.key_phrases = kwargs['key_phrases'] + self.warnings = kwargs['warnings'] + self.statistics = kwargs.get('statistics', None) + + +class DocumentLanguage(msrest.serialization.Model): + """DocumentLanguage. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param detected_language: Required. Detected Language. + :type detected_language: ~azure.ai.textanalytics.v3_1_preview_2.models.DetectedLanguage + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + """ + + _validation = { + 'id': {'required': True}, + 'detected_language': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'detected_language': {'key': 'detectedLanguage', 'type': 'DetectedLanguage'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + } + + def __init__( + self, + **kwargs + ): + super(DocumentLanguage, self).__init__(**kwargs) + self.id = kwargs['id'] + self.detected_language = kwargs['detected_language'] + self.warnings = kwargs['warnings'] + self.statistics = kwargs.get('statistics', None) + + +class DocumentLinkedEntities(msrest.serialization.Model): + """DocumentLinkedEntities. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param entities: Required. Recognized well-known entities in the document. + :type entities: list[~azure.ai.textanalytics.v3_1_preview_2.models.LinkedEntity] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + """ + + _validation = { + 'id': {'required': True}, + 'entities': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'entities': {'key': 'entities', 'type': '[LinkedEntity]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + } + + def __init__( + self, + **kwargs + ): + super(DocumentLinkedEntities, self).__init__(**kwargs) + self.id = kwargs['id'] + self.entities = kwargs['entities'] + self.warnings = kwargs['warnings'] + self.statistics = kwargs.get('statistics', None) + + +class DocumentSentiment(msrest.serialization.Model): + """DocumentSentiment. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param sentiment: Required. Predicted sentiment for document (Negative, Neutral, Positive, or + Mixed). Possible values include: "positive", "neutral", "negative", "mixed". + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentSentimentValue + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + :param confidence_scores: Required. Document level sentiment confidence scores between 0 and 1 + for each sentiment class. + :type confidence_scores: + ~azure.ai.textanalytics.v3_1_preview_2.models.SentimentConfidenceScorePerLabel + :param sentences: Required. Sentence level sentiment analysis. + :type sentences: list[~azure.ai.textanalytics.v3_1_preview_2.models.SentenceSentiment] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + """ + + _validation = { + 'id': {'required': True}, + 'sentiment': {'required': True}, + 'confidence_scores': {'required': True}, + 'sentences': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'sentiment': {'key': 'sentiment', 'type': 'str'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': 'SentimentConfidenceScorePerLabel'}, + 'sentences': {'key': 'sentences', 'type': '[SentenceSentiment]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + } + + def __init__( + self, + **kwargs + ): + super(DocumentSentiment, self).__init__(**kwargs) + self.id = kwargs['id'] + self.sentiment = kwargs['sentiment'] + self.statistics = kwargs.get('statistics', None) + self.confidence_scores = kwargs['confidence_scores'] + self.sentences = kwargs['sentences'] + self.warnings = kwargs['warnings'] + + +class DocumentStatistics(msrest.serialization.Model): + """if showStats=true was specified in the request this field will contain information about the document payload. + + All required parameters must be populated in order to send to Azure. + + :param characters_count: Required. Number of text elements recognized in the document. + :type characters_count: int + :param transactions_count: Required. Number of transactions for the document. + :type transactions_count: int + """ + + _validation = { + 'characters_count': {'required': True}, + 'transactions_count': {'required': True}, + } + + _attribute_map = { + 'characters_count': {'key': 'charactersCount', 'type': 'int'}, + 'transactions_count': {'key': 'transactionsCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(DocumentStatistics, self).__init__(**kwargs) + self.characters_count = kwargs['characters_count'] + self.transactions_count = kwargs['transactions_count'] + + +class EntitiesResult(msrest.serialization.Model): + """EntitiesResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentEntities] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentEntities]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EntitiesResult, self).__init__(**kwargs) + self.documents = kwargs['documents'] + self.errors = kwargs['errors'] + self.statistics = kwargs.get('statistics', None) + self.model_version = kwargs['model_version'] + + +class Entity(msrest.serialization.Model): + """Entity. + + All required parameters must be populated in order to send to Azure. + + :param text: Required. Entity text as appears in the request. + :type text: str + :param category: Required. Entity type, such as Person/Location/Org/SSN etc. + :type category: str + :param subcategory: Entity sub type, such as Age/Year/TimeRange etc. + :type subcategory: str + :param offset: Required. Start position for the entity text. + :type offset: int + :param length: Required. Length for the entity text. + :type length: int + :param confidence_score: Required. Confidence score between 0 and 1 of the extracted entity. + :type confidence_score: float + """ + + _validation = { + 'text': {'required': True}, + 'category': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + 'confidence_score': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'subcategory': {'key': 'subcategory', 'type': 'str'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + 'confidence_score': {'key': 'confidenceScore', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(Entity, self).__init__(**kwargs) + self.text = kwargs['text'] + self.category = kwargs['category'] + self.subcategory = kwargs.get('subcategory', None) + self.offset = kwargs['offset'] + self.length = kwargs['length'] + self.confidence_score = kwargs['confidence_score'] + + +class EntityLinkingResult(msrest.serialization.Model): + """EntityLinkingResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentLinkedEntities] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentLinkedEntities]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EntityLinkingResult, self).__init__(**kwargs) + self.documents = kwargs['documents'] + self.errors = kwargs['errors'] + self.statistics = kwargs.get('statistics', None) + self.model_version = kwargs['model_version'] + + +class ErrorResponse(msrest.serialization.Model): + """ErrorResponse. + + All required parameters must be populated in order to send to Azure. + + :param error: Required. Document Error. + :type error: ~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsError + """ + + _validation = { + 'error': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'TextAnalyticsError'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs['error'] + + +class InnerError(msrest.serialization.Model): + """InnerError. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. Possible values include: "InvalidParameterValue", + "InvalidRequestBodyFormat", "EmptyRequest", "MissingInputRecords", "InvalidDocument", + "ModelVersionIncorrect", "InvalidDocumentBatch", "UnsupportedLanguageCode", + "InvalidCountryHint". + :type code: str or ~azure.ai.textanalytics.v3_1_preview_2.models.InnerErrorCodeValue + :param message: Required. Error message. + :type message: str + :param details: Error details. + :type details: dict[str, str] + :param target: Error target. + :type target: str + :param innererror: Inner error contains more specific information. + :type innererror: ~azure.ai.textanalytics.v3_1_preview_2.models.InnerError + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '{str}'}, + 'target': {'key': 'target', 'type': 'str'}, + 'innererror': {'key': 'innererror', 'type': 'InnerError'}, + } + + def __init__( + self, + **kwargs + ): + super(InnerError, self).__init__(**kwargs) + self.code = kwargs['code'] + self.message = kwargs['message'] + self.details = kwargs.get('details', None) + self.target = kwargs.get('target', None) + self.innererror = kwargs.get('innererror', None) + + +class KeyPhraseResult(msrest.serialization.Model): + """KeyPhraseResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentKeyPhrases] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentKeyPhrases]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyPhraseResult, self).__init__(**kwargs) + self.documents = kwargs['documents'] + self.errors = kwargs['errors'] + self.statistics = kwargs.get('statistics', None) + self.model_version = kwargs['model_version'] + + +class LanguageBatchInput(msrest.serialization.Model): + """LanguageBatchInput. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.LanguageInput] + """ + + _validation = { + 'documents': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[LanguageInput]'}, + } + + def __init__( + self, + **kwargs + ): + super(LanguageBatchInput, self).__init__(**kwargs) + self.documents = kwargs['documents'] + + +class LanguageInput(msrest.serialization.Model): + """LanguageInput. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param text: Required. + :type text: str + :param country_hint: + :type country_hint: str + """ + + _validation = { + 'id': {'required': True}, + 'text': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'text': {'key': 'text', 'type': 'str'}, + 'country_hint': {'key': 'countryHint', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LanguageInput, self).__init__(**kwargs) + self.id = kwargs['id'] + self.text = kwargs['text'] + self.country_hint = kwargs.get('country_hint', None) + + +class LanguageResult(msrest.serialization.Model): + """LanguageResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentLanguage] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentLanguage]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LanguageResult, self).__init__(**kwargs) + self.documents = kwargs['documents'] + self.errors = kwargs['errors'] + self.statistics = kwargs.get('statistics', None) + self.model_version = kwargs['model_version'] + + +class LinkedEntity(msrest.serialization.Model): + """LinkedEntity. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Entity Linking formal name. + :type name: str + :param matches: Required. List of instances this entity appears in the text. + :type matches: list[~azure.ai.textanalytics.v3_1_preview_2.models.Match] + :param language: Required. Language used in the data source. + :type language: str + :param id: Unique identifier of the recognized entity from the data source. + :type id: str + :param url: Required. URL for the entity's page from the data source. + :type url: str + :param data_source: Required. Data source used to extract entity linking, such as Wiki/Bing + etc. + :type data_source: str + :param bing_id: Bing unique identifier of the recognized entity. Use in conjunction with the + Bing Entity Search API to fetch additional relevant information. + :type bing_id: str + """ + + _validation = { + 'name': {'required': True}, + 'matches': {'required': True}, + 'language': {'required': True}, + 'url': {'required': True}, + 'data_source': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'matches': {'key': 'matches', 'type': '[Match]'}, + 'language': {'key': 'language', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'bing_id': {'key': 'bingId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedEntity, self).__init__(**kwargs) + self.name = kwargs['name'] + self.matches = kwargs['matches'] + self.language = kwargs['language'] + self.id = kwargs.get('id', None) + self.url = kwargs['url'] + self.data_source = kwargs['data_source'] + self.bing_id = kwargs.get('bing_id', None) + + +class Match(msrest.serialization.Model): + """Match. + + All required parameters must be populated in order to send to Azure. + + :param confidence_score: Required. If a well-known item is recognized, a decimal number + denoting the confidence level between 0 and 1 will be returned. + :type confidence_score: float + :param text: Required. Entity text as appears in the request. + :type text: str + :param offset: Required. Start position for the entity match text. + :type offset: int + :param length: Required. Length for the entity match text. + :type length: int + """ + + _validation = { + 'confidence_score': {'required': True}, + 'text': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + } + + _attribute_map = { + 'confidence_score': {'key': 'confidenceScore', 'type': 'float'}, + 'text': {'key': 'text', 'type': 'str'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(Match, self).__init__(**kwargs) + self.confidence_score = kwargs['confidence_score'] + self.text = kwargs['text'] + self.offset = kwargs['offset'] + self.length = kwargs['length'] + + +class MultiLanguageBatchInput(msrest.serialization.Model): + """Contains a set of input documents to be analyzed by the service. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + """ + + _validation = { + 'documents': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[MultiLanguageInput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MultiLanguageBatchInput, self).__init__(**kwargs) + self.documents = kwargs['documents'] + + +class MultiLanguageInput(msrest.serialization.Model): + """Contains an input document to be analyzed by the service. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. A unique, non-empty document identifier. + :type id: str + :param text: Required. The input text to process. + :type text: str + :param language: (Optional) This is the 2 letter ISO 639-1 representation of a language. For + example, use "en" for English; "es" for Spanish etc. If not set, use "en" for English as + default. + :type language: str + """ + + _validation = { + 'id': {'required': True}, + 'text': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'text': {'key': 'text', 'type': 'str'}, + 'language': {'key': 'language', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MultiLanguageInput, self).__init__(**kwargs) + self.id = kwargs['id'] + self.text = kwargs['text'] + self.language = kwargs.get('language', None) + + +class PiiDocumentEntities(msrest.serialization.Model): + """PiiDocumentEntities. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param entities: Required. Recognized entities in the document. + :type entities: list[~azure.ai.textanalytics.v3_1_preview_2.models.Entity] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + :param redacted_text: Returns redacted text. + :type redacted_text: str + """ + + _validation = { + 'id': {'required': True}, + 'entities': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'entities': {'key': 'entities', 'type': '[Entity]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + 'redacted_text': {'key': 'redactedText', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PiiDocumentEntities, self).__init__(**kwargs) + self.id = kwargs['id'] + self.entities = kwargs['entities'] + self.warnings = kwargs['warnings'] + self.statistics = kwargs.get('statistics', None) + self.redacted_text = kwargs.get('redacted_text', None) + + +class PiiEntitiesResult(msrest.serialization.Model): + """PiiEntitiesResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.PiiDocumentEntities] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[PiiDocumentEntities]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PiiEntitiesResult, self).__init__(**kwargs) + self.documents = kwargs['documents'] + self.errors = kwargs['errors'] + self.statistics = kwargs.get('statistics', None) + self.model_version = kwargs['model_version'] + + +class RequestStatistics(msrest.serialization.Model): + """if showStats=true was specified in the request this field will contain information about the request payload. + + All required parameters must be populated in order to send to Azure. + + :param documents_count: Required. Number of documents submitted in the request. + :type documents_count: int + :param valid_documents_count: Required. Number of valid documents. This excludes empty, over- + size limit or non-supported languages documents. + :type valid_documents_count: int + :param erroneous_documents_count: Required. Number of invalid documents. This includes empty, + over-size limit or non-supported languages documents. + :type erroneous_documents_count: int + :param transactions_count: Required. Number of transactions for the request. + :type transactions_count: long + """ + + _validation = { + 'documents_count': {'required': True}, + 'valid_documents_count': {'required': True}, + 'erroneous_documents_count': {'required': True}, + 'transactions_count': {'required': True}, + } + + _attribute_map = { + 'documents_count': {'key': 'documentsCount', 'type': 'int'}, + 'valid_documents_count': {'key': 'validDocumentsCount', 'type': 'int'}, + 'erroneous_documents_count': {'key': 'erroneousDocumentsCount', 'type': 'int'}, + 'transactions_count': {'key': 'transactionsCount', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(RequestStatistics, self).__init__(**kwargs) + self.documents_count = kwargs['documents_count'] + self.valid_documents_count = kwargs['valid_documents_count'] + self.erroneous_documents_count = kwargs['erroneous_documents_count'] + self.transactions_count = kwargs['transactions_count'] + + +class SentenceAspect(msrest.serialization.Model): + """SentenceAspect. + + All required parameters must be populated in order to send to Azure. + + :param sentiment: Required. Aspect level sentiment for the aspect in the sentence. Possible + values include: "positive", "mixed", "negative". + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_2.models.TokenSentimentValue + :param confidence_scores: Required. Aspect level sentiment confidence scores for the aspect in + the sentence. + :type confidence_scores: + ~azure.ai.textanalytics.v3_1_preview_2.models.AspectConfidenceScoreLabel + :param offset: Required. The aspect offset from the start of the sentence. + :type offset: int + :param length: Required. The length of the aspect. + :type length: int + :param text: Required. The aspect text detected. + :type text: str + :param relations: Required. The array of either opinion or aspect object which is related to + the aspect. + :type relations: list[~azure.ai.textanalytics.v3_1_preview_2.models.AspectRelation] + """ + + _validation = { + 'sentiment': {'required': True}, + 'confidence_scores': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + 'text': {'required': True}, + 'relations': {'required': True}, + } + + _attribute_map = { + 'sentiment': {'key': 'sentiment', 'type': 'str'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': 'AspectConfidenceScoreLabel'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + 'text': {'key': 'text', 'type': 'str'}, + 'relations': {'key': 'relations', 'type': '[AspectRelation]'}, + } + + def __init__( + self, + **kwargs + ): + super(SentenceAspect, self).__init__(**kwargs) + self.sentiment = kwargs['sentiment'] + self.confidence_scores = kwargs['confidence_scores'] + self.offset = kwargs['offset'] + self.length = kwargs['length'] + self.text = kwargs['text'] + self.relations = kwargs['relations'] + + +class SentenceOpinion(msrest.serialization.Model): + """SentenceOpinion. + + All required parameters must be populated in order to send to Azure. + + :param sentiment: Required. Opinion level sentiment for the aspect in the sentence. Possible + values include: "positive", "mixed", "negative". + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_2.models.TokenSentimentValue + :param confidence_scores: Required. Opinion level sentiment confidence scores for the aspect in + the sentence. + :type confidence_scores: + ~azure.ai.textanalytics.v3_1_preview_2.models.AspectConfidenceScoreLabel + :param offset: Required. The opinion offset from the start of the sentence. + :type offset: int + :param length: Required. The length of the opinion. + :type length: int + :param text: Required. The aspect text detected. + :type text: str + :param is_negated: Required. The indicator representing if the opinion is negated. + :type is_negated: bool + """ + + _validation = { + 'sentiment': {'required': True}, + 'confidence_scores': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + 'text': {'required': True}, + 'is_negated': {'required': True}, + } + + _attribute_map = { + 'sentiment': {'key': 'sentiment', 'type': 'str'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': 'AspectConfidenceScoreLabel'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + 'text': {'key': 'text', 'type': 'str'}, + 'is_negated': {'key': 'isNegated', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(SentenceOpinion, self).__init__(**kwargs) + self.sentiment = kwargs['sentiment'] + self.confidence_scores = kwargs['confidence_scores'] + self.offset = kwargs['offset'] + self.length = kwargs['length'] + self.text = kwargs['text'] + self.is_negated = kwargs['is_negated'] + + +class SentenceSentiment(msrest.serialization.Model): + """SentenceSentiment. + + All required parameters must be populated in order to send to Azure. + + :param text: Required. The sentence text. + :type text: str + :param sentiment: Required. The predicted Sentiment for the sentence. Possible values include: + "positive", "neutral", "negative". + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_2.models.SentenceSentimentValue + :param confidence_scores: Required. The sentiment confidence score between 0 and 1 for the + sentence for all classes. + :type confidence_scores: + ~azure.ai.textanalytics.v3_1_preview_2.models.SentimentConfidenceScorePerLabel + :param offset: Required. The sentence offset from the start of the document. + :type offset: int + :param length: Required. The length of the sentence. + :type length: int + :param aspects: The array of aspect object for the sentence. + :type aspects: list[~azure.ai.textanalytics.v3_1_preview_2.models.SentenceAspect] + :param opinions: The array of opinion object for the sentence. + :type opinions: list[~azure.ai.textanalytics.v3_1_preview_2.models.SentenceOpinion] + """ + + _validation = { + 'text': {'required': True}, + 'sentiment': {'required': True}, + 'confidence_scores': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'sentiment': {'key': 'sentiment', 'type': 'str'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': 'SentimentConfidenceScorePerLabel'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + 'aspects': {'key': 'aspects', 'type': '[SentenceAspect]'}, + 'opinions': {'key': 'opinions', 'type': '[SentenceOpinion]'}, + } + + def __init__( + self, + **kwargs + ): + super(SentenceSentiment, self).__init__(**kwargs) + self.text = kwargs['text'] + self.sentiment = kwargs['sentiment'] + self.confidence_scores = kwargs['confidence_scores'] + self.offset = kwargs['offset'] + self.length = kwargs['length'] + self.aspects = kwargs.get('aspects', None) + self.opinions = kwargs.get('opinions', None) + + +class SentimentConfidenceScorePerLabel(msrest.serialization.Model): + """Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative. + + All required parameters must be populated in order to send to Azure. + + :param positive: Required. + :type positive: float + :param neutral: Required. + :type neutral: float + :param negative: Required. + :type negative: float + """ + + _validation = { + 'positive': {'required': True}, + 'neutral': {'required': True}, + 'negative': {'required': True}, + } + + _attribute_map = { + 'positive': {'key': 'positive', 'type': 'float'}, + 'neutral': {'key': 'neutral', 'type': 'float'}, + 'negative': {'key': 'negative', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(SentimentConfidenceScorePerLabel, self).__init__(**kwargs) + self.positive = kwargs['positive'] + self.neutral = kwargs['neutral'] + self.negative = kwargs['negative'] + + +class SentimentResponse(msrest.serialization.Model): + """SentimentResponse. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Sentiment analysis per document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentSentiment] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentSentiment]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SentimentResponse, self).__init__(**kwargs) + self.documents = kwargs['documents'] + self.errors = kwargs['errors'] + self.statistics = kwargs.get('statistics', None) + self.model_version = kwargs['model_version'] + + +class TextAnalyticsError(msrest.serialization.Model): + """TextAnalyticsError. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. Possible values include: "InvalidRequest", + "InvalidArgument", "InternalServerError", "ServiceUnavailable". + :type code: str or ~azure.ai.textanalytics.v3_1_preview_2.models.ErrorCodeValue + :param message: Required. Error message. + :type message: str + :param target: Error target. + :type target: str + :param innererror: Inner error contains more specific information. + :type innererror: ~azure.ai.textanalytics.v3_1_preview_2.models.InnerError + :param details: Details about specific errors that led to this reported error. + :type details: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsError] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'innererror': {'key': 'innererror', 'type': 'InnerError'}, + 'details': {'key': 'details', 'type': '[TextAnalyticsError]'}, + } + + def __init__( + self, + **kwargs + ): + super(TextAnalyticsError, self).__init__(**kwargs) + self.code = kwargs['code'] + self.message = kwargs['message'] + self.target = kwargs.get('target', None) + self.innererror = kwargs.get('innererror', None) + self.details = kwargs.get('details', None) + + +class TextAnalyticsWarning(msrest.serialization.Model): + """TextAnalyticsWarning. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. Possible values include: "LongWordsInDocument", + "DocumentTruncated". + :type code: str or ~azure.ai.textanalytics.v3_1_preview_2.models.WarningCodeValue + :param message: Required. Warning message. + :type message: str + :param target_ref: A JSON pointer reference indicating the target object. + :type target_ref: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target_ref': {'key': 'targetRef', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TextAnalyticsWarning, self).__init__(**kwargs) + self.code = kwargs['code'] + self.message = kwargs['message'] + self.target_ref = kwargs.get('target_ref', None) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_models_py3.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_models_py3.py new file mode 100644 index 000000000000..11130a54922a --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_models_py3.py @@ -0,0 +1,1483 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._text_analytics_client_enums import * + + +class AspectConfidenceScoreLabel(msrest.serialization.Model): + """Represents the confidence scores across all sentiment classes: positive, neutral, negative. + + All required parameters must be populated in order to send to Azure. + + :param positive: Required. + :type positive: float + :param negative: Required. + :type negative: float + """ + + _validation = { + 'positive': {'required': True}, + 'negative': {'required': True}, + } + + _attribute_map = { + 'positive': {'key': 'positive', 'type': 'float'}, + 'negative': {'key': 'negative', 'type': 'float'}, + } + + def __init__( + self, + *, + positive: float, + negative: float, + **kwargs + ): + super(AspectConfidenceScoreLabel, self).__init__(**kwargs) + self.positive = positive + self.negative = negative + + +class AspectRelation(msrest.serialization.Model): + """AspectRelation. + + All required parameters must be populated in order to send to Azure. + + :param relation_type: Required. The type related to the aspect. Possible values include: + "opinion", "aspect". + :type relation_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.AspectRelationType + :param ref: Required. The JSON pointer indicating the linked object. + :type ref: str + """ + + _validation = { + 'relation_type': {'required': True}, + 'ref': {'required': True}, + } + + _attribute_map = { + 'relation_type': {'key': 'relationType', 'type': 'str'}, + 'ref': {'key': 'ref', 'type': 'str'}, + } + + def __init__( + self, + *, + relation_type: Union[str, "AspectRelationType"], + ref: str, + **kwargs + ): + super(AspectRelation, self).__init__(**kwargs) + self.relation_type = relation_type + self.ref = ref + + +class DetectedLanguage(msrest.serialization.Model): + """DetectedLanguage. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Long name of a detected language (e.g. English, French). + :type name: str + :param iso6391_name: Required. A two letter representation of the detected language according + to the ISO 639-1 standard (e.g. en, fr). + :type iso6391_name: str + :param confidence_score: Required. A confidence score between 0 and 1. Scores close to 1 + indicate 100% certainty that the identified language is true. + :type confidence_score: float + """ + + _validation = { + 'name': {'required': True}, + 'iso6391_name': {'required': True}, + 'confidence_score': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'iso6391_name': {'key': 'iso6391Name', 'type': 'str'}, + 'confidence_score': {'key': 'confidenceScore', 'type': 'float'}, + } + + def __init__( + self, + *, + name: str, + iso6391_name: str, + confidence_score: float, + **kwargs + ): + super(DetectedLanguage, self).__init__(**kwargs) + self.name = name + self.iso6391_name = iso6391_name + self.confidence_score = confidence_score + + +class DocumentEntities(msrest.serialization.Model): + """DocumentEntities. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param entities: Required. Recognized entities in the document. + :type entities: list[~azure.ai.textanalytics.v3_1_preview_2.models.Entity] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + """ + + _validation = { + 'id': {'required': True}, + 'entities': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'entities': {'key': 'entities', 'type': '[Entity]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + } + + def __init__( + self, + *, + id: str, + entities: List["Entity"], + warnings: List["TextAnalyticsWarning"], + statistics: Optional["DocumentStatistics"] = None, + **kwargs + ): + super(DocumentEntities, self).__init__(**kwargs) + self.id = id + self.entities = entities + self.warnings = warnings + self.statistics = statistics + + +class DocumentError(msrest.serialization.Model): + """DocumentError. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Document Id. + :type id: str + :param error: Required. Document Error. + :type error: ~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsError + """ + + _validation = { + 'id': {'required': True}, + 'error': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'TextAnalyticsError'}, + } + + def __init__( + self, + *, + id: str, + error: "TextAnalyticsError", + **kwargs + ): + super(DocumentError, self).__init__(**kwargs) + self.id = id + self.error = error + + +class DocumentKeyPhrases(msrest.serialization.Model): + """DocumentKeyPhrases. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param key_phrases: Required. A list of representative words or phrases. The number of key + phrases returned is proportional to the number of words in the input document. + :type key_phrases: list[str] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + """ + + _validation = { + 'id': {'required': True}, + 'key_phrases': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'key_phrases': {'key': 'keyPhrases', 'type': '[str]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + } + + def __init__( + self, + *, + id: str, + key_phrases: List[str], + warnings: List["TextAnalyticsWarning"], + statistics: Optional["DocumentStatistics"] = None, + **kwargs + ): + super(DocumentKeyPhrases, self).__init__(**kwargs) + self.id = id + self.key_phrases = key_phrases + self.warnings = warnings + self.statistics = statistics + + +class DocumentLanguage(msrest.serialization.Model): + """DocumentLanguage. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param detected_language: Required. Detected Language. + :type detected_language: ~azure.ai.textanalytics.v3_1_preview_2.models.DetectedLanguage + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + """ + + _validation = { + 'id': {'required': True}, + 'detected_language': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'detected_language': {'key': 'detectedLanguage', 'type': 'DetectedLanguage'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + } + + def __init__( + self, + *, + id: str, + detected_language: "DetectedLanguage", + warnings: List["TextAnalyticsWarning"], + statistics: Optional["DocumentStatistics"] = None, + **kwargs + ): + super(DocumentLanguage, self).__init__(**kwargs) + self.id = id + self.detected_language = detected_language + self.warnings = warnings + self.statistics = statistics + + +class DocumentLinkedEntities(msrest.serialization.Model): + """DocumentLinkedEntities. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param entities: Required. Recognized well-known entities in the document. + :type entities: list[~azure.ai.textanalytics.v3_1_preview_2.models.LinkedEntity] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + """ + + _validation = { + 'id': {'required': True}, + 'entities': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'entities': {'key': 'entities', 'type': '[LinkedEntity]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + } + + def __init__( + self, + *, + id: str, + entities: List["LinkedEntity"], + warnings: List["TextAnalyticsWarning"], + statistics: Optional["DocumentStatistics"] = None, + **kwargs + ): + super(DocumentLinkedEntities, self).__init__(**kwargs) + self.id = id + self.entities = entities + self.warnings = warnings + self.statistics = statistics + + +class DocumentSentiment(msrest.serialization.Model): + """DocumentSentiment. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param sentiment: Required. Predicted sentiment for document (Negative, Neutral, Positive, or + Mixed). Possible values include: "positive", "neutral", "negative", "mixed". + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentSentimentValue + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + :param confidence_scores: Required. Document level sentiment confidence scores between 0 and 1 + for each sentiment class. + :type confidence_scores: + ~azure.ai.textanalytics.v3_1_preview_2.models.SentimentConfidenceScorePerLabel + :param sentences: Required. Sentence level sentiment analysis. + :type sentences: list[~azure.ai.textanalytics.v3_1_preview_2.models.SentenceSentiment] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + """ + + _validation = { + 'id': {'required': True}, + 'sentiment': {'required': True}, + 'confidence_scores': {'required': True}, + 'sentences': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'sentiment': {'key': 'sentiment', 'type': 'str'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': 'SentimentConfidenceScorePerLabel'}, + 'sentences': {'key': 'sentences', 'type': '[SentenceSentiment]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + } + + def __init__( + self, + *, + id: str, + sentiment: Union[str, "DocumentSentimentValue"], + confidence_scores: "SentimentConfidenceScorePerLabel", + sentences: List["SentenceSentiment"], + warnings: List["TextAnalyticsWarning"], + statistics: Optional["DocumentStatistics"] = None, + **kwargs + ): + super(DocumentSentiment, self).__init__(**kwargs) + self.id = id + self.sentiment = sentiment + self.statistics = statistics + self.confidence_scores = confidence_scores + self.sentences = sentences + self.warnings = warnings + + +class DocumentStatistics(msrest.serialization.Model): + """if showStats=true was specified in the request this field will contain information about the document payload. + + All required parameters must be populated in order to send to Azure. + + :param characters_count: Required. Number of text elements recognized in the document. + :type characters_count: int + :param transactions_count: Required. Number of transactions for the document. + :type transactions_count: int + """ + + _validation = { + 'characters_count': {'required': True}, + 'transactions_count': {'required': True}, + } + + _attribute_map = { + 'characters_count': {'key': 'charactersCount', 'type': 'int'}, + 'transactions_count': {'key': 'transactionsCount', 'type': 'int'}, + } + + def __init__( + self, + *, + characters_count: int, + transactions_count: int, + **kwargs + ): + super(DocumentStatistics, self).__init__(**kwargs) + self.characters_count = characters_count + self.transactions_count = transactions_count + + +class EntitiesResult(msrest.serialization.Model): + """EntitiesResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentEntities] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentEntities]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + documents: List["DocumentEntities"], + errors: List["DocumentError"], + model_version: str, + statistics: Optional["RequestStatistics"] = None, + **kwargs + ): + super(EntitiesResult, self).__init__(**kwargs) + self.documents = documents + self.errors = errors + self.statistics = statistics + self.model_version = model_version + + +class Entity(msrest.serialization.Model): + """Entity. + + All required parameters must be populated in order to send to Azure. + + :param text: Required. Entity text as appears in the request. + :type text: str + :param category: Required. Entity type, such as Person/Location/Org/SSN etc. + :type category: str + :param subcategory: Entity sub type, such as Age/Year/TimeRange etc. + :type subcategory: str + :param offset: Required. Start position for the entity text. + :type offset: int + :param length: Required. Length for the entity text. + :type length: int + :param confidence_score: Required. Confidence score between 0 and 1 of the extracted entity. + :type confidence_score: float + """ + + _validation = { + 'text': {'required': True}, + 'category': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + 'confidence_score': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'subcategory': {'key': 'subcategory', 'type': 'str'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + 'confidence_score': {'key': 'confidenceScore', 'type': 'float'}, + } + + def __init__( + self, + *, + text: str, + category: str, + offset: int, + length: int, + confidence_score: float, + subcategory: Optional[str] = None, + **kwargs + ): + super(Entity, self).__init__(**kwargs) + self.text = text + self.category = category + self.subcategory = subcategory + self.offset = offset + self.length = length + self.confidence_score = confidence_score + + +class EntityLinkingResult(msrest.serialization.Model): + """EntityLinkingResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentLinkedEntities] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentLinkedEntities]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + documents: List["DocumentLinkedEntities"], + errors: List["DocumentError"], + model_version: str, + statistics: Optional["RequestStatistics"] = None, + **kwargs + ): + super(EntityLinkingResult, self).__init__(**kwargs) + self.documents = documents + self.errors = errors + self.statistics = statistics + self.model_version = model_version + + +class ErrorResponse(msrest.serialization.Model): + """ErrorResponse. + + All required parameters must be populated in order to send to Azure. + + :param error: Required. Document Error. + :type error: ~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsError + """ + + _validation = { + 'error': {'required': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'TextAnalyticsError'}, + } + + def __init__( + self, + *, + error: "TextAnalyticsError", + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class InnerError(msrest.serialization.Model): + """InnerError. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. Possible values include: "InvalidParameterValue", + "InvalidRequestBodyFormat", "EmptyRequest", "MissingInputRecords", "InvalidDocument", + "ModelVersionIncorrect", "InvalidDocumentBatch", "UnsupportedLanguageCode", + "InvalidCountryHint". + :type code: str or ~azure.ai.textanalytics.v3_1_preview_2.models.InnerErrorCodeValue + :param message: Required. Error message. + :type message: str + :param details: Error details. + :type details: dict[str, str] + :param target: Error target. + :type target: str + :param innererror: Inner error contains more specific information. + :type innererror: ~azure.ai.textanalytics.v3_1_preview_2.models.InnerError + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '{str}'}, + 'target': {'key': 'target', 'type': 'str'}, + 'innererror': {'key': 'innererror', 'type': 'InnerError'}, + } + + def __init__( + self, + *, + code: Union[str, "InnerErrorCodeValue"], + message: str, + details: Optional[Dict[str, str]] = None, + target: Optional[str] = None, + innererror: Optional["InnerError"] = None, + **kwargs + ): + super(InnerError, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = details + self.target = target + self.innererror = innererror + + +class KeyPhraseResult(msrest.serialization.Model): + """KeyPhraseResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentKeyPhrases] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentKeyPhrases]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + documents: List["DocumentKeyPhrases"], + errors: List["DocumentError"], + model_version: str, + statistics: Optional["RequestStatistics"] = None, + **kwargs + ): + super(KeyPhraseResult, self).__init__(**kwargs) + self.documents = documents + self.errors = errors + self.statistics = statistics + self.model_version = model_version + + +class LanguageBatchInput(msrest.serialization.Model): + """LanguageBatchInput. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.LanguageInput] + """ + + _validation = { + 'documents': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[LanguageInput]'}, + } + + def __init__( + self, + *, + documents: List["LanguageInput"], + **kwargs + ): + super(LanguageBatchInput, self).__init__(**kwargs) + self.documents = documents + + +class LanguageInput(msrest.serialization.Model): + """LanguageInput. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param text: Required. + :type text: str + :param country_hint: + :type country_hint: str + """ + + _validation = { + 'id': {'required': True}, + 'text': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'text': {'key': 'text', 'type': 'str'}, + 'country_hint': {'key': 'countryHint', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + text: str, + country_hint: Optional[str] = None, + **kwargs + ): + super(LanguageInput, self).__init__(**kwargs) + self.id = id + self.text = text + self.country_hint = country_hint + + +class LanguageResult(msrest.serialization.Model): + """LanguageResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentLanguage] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentLanguage]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + documents: List["DocumentLanguage"], + errors: List["DocumentError"], + model_version: str, + statistics: Optional["RequestStatistics"] = None, + **kwargs + ): + super(LanguageResult, self).__init__(**kwargs) + self.documents = documents + self.errors = errors + self.statistics = statistics + self.model_version = model_version + + +class LinkedEntity(msrest.serialization.Model): + """LinkedEntity. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Entity Linking formal name. + :type name: str + :param matches: Required. List of instances this entity appears in the text. + :type matches: list[~azure.ai.textanalytics.v3_1_preview_2.models.Match] + :param language: Required. Language used in the data source. + :type language: str + :param id: Unique identifier of the recognized entity from the data source. + :type id: str + :param url: Required. URL for the entity's page from the data source. + :type url: str + :param data_source: Required. Data source used to extract entity linking, such as Wiki/Bing + etc. + :type data_source: str + :param bing_id: Bing unique identifier of the recognized entity. Use in conjunction with the + Bing Entity Search API to fetch additional relevant information. + :type bing_id: str + """ + + _validation = { + 'name': {'required': True}, + 'matches': {'required': True}, + 'language': {'required': True}, + 'url': {'required': True}, + 'data_source': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'matches': {'key': 'matches', 'type': '[Match]'}, + 'language': {'key': 'language', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'bing_id': {'key': 'bingId', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + matches: List["Match"], + language: str, + url: str, + data_source: str, + id: Optional[str] = None, + bing_id: Optional[str] = None, + **kwargs + ): + super(LinkedEntity, self).__init__(**kwargs) + self.name = name + self.matches = matches + self.language = language + self.id = id + self.url = url + self.data_source = data_source + self.bing_id = bing_id + + +class Match(msrest.serialization.Model): + """Match. + + All required parameters must be populated in order to send to Azure. + + :param confidence_score: Required. If a well-known item is recognized, a decimal number + denoting the confidence level between 0 and 1 will be returned. + :type confidence_score: float + :param text: Required. Entity text as appears in the request. + :type text: str + :param offset: Required. Start position for the entity match text. + :type offset: int + :param length: Required. Length for the entity match text. + :type length: int + """ + + _validation = { + 'confidence_score': {'required': True}, + 'text': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + } + + _attribute_map = { + 'confidence_score': {'key': 'confidenceScore', 'type': 'float'}, + 'text': {'key': 'text', 'type': 'str'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + } + + def __init__( + self, + *, + confidence_score: float, + text: str, + offset: int, + length: int, + **kwargs + ): + super(Match, self).__init__(**kwargs) + self.confidence_score = confidence_score + self.text = text + self.offset = offset + self.length = length + + +class MultiLanguageBatchInput(msrest.serialization.Model): + """Contains a set of input documents to be analyzed by the service. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + """ + + _validation = { + 'documents': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[MultiLanguageInput]'}, + } + + def __init__( + self, + *, + documents: List["MultiLanguageInput"], + **kwargs + ): + super(MultiLanguageBatchInput, self).__init__(**kwargs) + self.documents = documents + + +class MultiLanguageInput(msrest.serialization.Model): + """Contains an input document to be analyzed by the service. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. A unique, non-empty document identifier. + :type id: str + :param text: Required. The input text to process. + :type text: str + :param language: (Optional) This is the 2 letter ISO 639-1 representation of a language. For + example, use "en" for English; "es" for Spanish etc. If not set, use "en" for English as + default. + :type language: str + """ + + _validation = { + 'id': {'required': True}, + 'text': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'text': {'key': 'text', 'type': 'str'}, + 'language': {'key': 'language', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + text: str, + language: Optional[str] = None, + **kwargs + ): + super(MultiLanguageInput, self).__init__(**kwargs) + self.id = id + self.text = text + self.language = language + + +class PiiDocumentEntities(msrest.serialization.Model): + """PiiDocumentEntities. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique, non-empty document identifier. + :type id: str + :param entities: Required. Recognized entities in the document. + :type entities: list[~azure.ai.textanalytics.v3_1_preview_2.models.Entity] + :param warnings: Required. Warnings encountered while processing document. + :type warnings: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsWarning] + :param statistics: if showStats=true was specified in the request this field will contain + information about the document payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.DocumentStatistics + :param redacted_text: Returns redacted text. + :type redacted_text: str + """ + + _validation = { + 'id': {'required': True}, + 'entities': {'required': True}, + 'warnings': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'entities': {'key': 'entities', 'type': '[Entity]'}, + 'warnings': {'key': 'warnings', 'type': '[TextAnalyticsWarning]'}, + 'statistics': {'key': 'statistics', 'type': 'DocumentStatistics'}, + 'redacted_text': {'key': 'redactedText', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + entities: List["Entity"], + warnings: List["TextAnalyticsWarning"], + statistics: Optional["DocumentStatistics"] = None, + redacted_text: Optional[str] = None, + **kwargs + ): + super(PiiDocumentEntities, self).__init__(**kwargs) + self.id = id + self.entities = entities + self.warnings = warnings + self.statistics = statistics + self.redacted_text = redacted_text + + +class PiiEntitiesResult(msrest.serialization.Model): + """PiiEntitiesResult. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Response by document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.PiiDocumentEntities] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[PiiDocumentEntities]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + documents: List["PiiDocumentEntities"], + errors: List["DocumentError"], + model_version: str, + statistics: Optional["RequestStatistics"] = None, + **kwargs + ): + super(PiiEntitiesResult, self).__init__(**kwargs) + self.documents = documents + self.errors = errors + self.statistics = statistics + self.model_version = model_version + + +class RequestStatistics(msrest.serialization.Model): + """if showStats=true was specified in the request this field will contain information about the request payload. + + All required parameters must be populated in order to send to Azure. + + :param documents_count: Required. Number of documents submitted in the request. + :type documents_count: int + :param valid_documents_count: Required. Number of valid documents. This excludes empty, over- + size limit or non-supported languages documents. + :type valid_documents_count: int + :param erroneous_documents_count: Required. Number of invalid documents. This includes empty, + over-size limit or non-supported languages documents. + :type erroneous_documents_count: int + :param transactions_count: Required. Number of transactions for the request. + :type transactions_count: long + """ + + _validation = { + 'documents_count': {'required': True}, + 'valid_documents_count': {'required': True}, + 'erroneous_documents_count': {'required': True}, + 'transactions_count': {'required': True}, + } + + _attribute_map = { + 'documents_count': {'key': 'documentsCount', 'type': 'int'}, + 'valid_documents_count': {'key': 'validDocumentsCount', 'type': 'int'}, + 'erroneous_documents_count': {'key': 'erroneousDocumentsCount', 'type': 'int'}, + 'transactions_count': {'key': 'transactionsCount', 'type': 'long'}, + } + + def __init__( + self, + *, + documents_count: int, + valid_documents_count: int, + erroneous_documents_count: int, + transactions_count: int, + **kwargs + ): + super(RequestStatistics, self).__init__(**kwargs) + self.documents_count = documents_count + self.valid_documents_count = valid_documents_count + self.erroneous_documents_count = erroneous_documents_count + self.transactions_count = transactions_count + + +class SentenceAspect(msrest.serialization.Model): + """SentenceAspect. + + All required parameters must be populated in order to send to Azure. + + :param sentiment: Required. Aspect level sentiment for the aspect in the sentence. Possible + values include: "positive", "mixed", "negative". + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_2.models.TokenSentimentValue + :param confidence_scores: Required. Aspect level sentiment confidence scores for the aspect in + the sentence. + :type confidence_scores: + ~azure.ai.textanalytics.v3_1_preview_2.models.AspectConfidenceScoreLabel + :param offset: Required. The aspect offset from the start of the sentence. + :type offset: int + :param length: Required. The length of the aspect. + :type length: int + :param text: Required. The aspect text detected. + :type text: str + :param relations: Required. The array of either opinion or aspect object which is related to + the aspect. + :type relations: list[~azure.ai.textanalytics.v3_1_preview_2.models.AspectRelation] + """ + + _validation = { + 'sentiment': {'required': True}, + 'confidence_scores': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + 'text': {'required': True}, + 'relations': {'required': True}, + } + + _attribute_map = { + 'sentiment': {'key': 'sentiment', 'type': 'str'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': 'AspectConfidenceScoreLabel'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + 'text': {'key': 'text', 'type': 'str'}, + 'relations': {'key': 'relations', 'type': '[AspectRelation]'}, + } + + def __init__( + self, + *, + sentiment: Union[str, "TokenSentimentValue"], + confidence_scores: "AspectConfidenceScoreLabel", + offset: int, + length: int, + text: str, + relations: List["AspectRelation"], + **kwargs + ): + super(SentenceAspect, self).__init__(**kwargs) + self.sentiment = sentiment + self.confidence_scores = confidence_scores + self.offset = offset + self.length = length + self.text = text + self.relations = relations + + +class SentenceOpinion(msrest.serialization.Model): + """SentenceOpinion. + + All required parameters must be populated in order to send to Azure. + + :param sentiment: Required. Opinion level sentiment for the aspect in the sentence. Possible + values include: "positive", "mixed", "negative". + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_2.models.TokenSentimentValue + :param confidence_scores: Required. Opinion level sentiment confidence scores for the aspect in + the sentence. + :type confidence_scores: + ~azure.ai.textanalytics.v3_1_preview_2.models.AspectConfidenceScoreLabel + :param offset: Required. The opinion offset from the start of the sentence. + :type offset: int + :param length: Required. The length of the opinion. + :type length: int + :param text: Required. The aspect text detected. + :type text: str + :param is_negated: Required. The indicator representing if the opinion is negated. + :type is_negated: bool + """ + + _validation = { + 'sentiment': {'required': True}, + 'confidence_scores': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + 'text': {'required': True}, + 'is_negated': {'required': True}, + } + + _attribute_map = { + 'sentiment': {'key': 'sentiment', 'type': 'str'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': 'AspectConfidenceScoreLabel'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + 'text': {'key': 'text', 'type': 'str'}, + 'is_negated': {'key': 'isNegated', 'type': 'bool'}, + } + + def __init__( + self, + *, + sentiment: Union[str, "TokenSentimentValue"], + confidence_scores: "AspectConfidenceScoreLabel", + offset: int, + length: int, + text: str, + is_negated: bool, + **kwargs + ): + super(SentenceOpinion, self).__init__(**kwargs) + self.sentiment = sentiment + self.confidence_scores = confidence_scores + self.offset = offset + self.length = length + self.text = text + self.is_negated = is_negated + + +class SentenceSentiment(msrest.serialization.Model): + """SentenceSentiment. + + All required parameters must be populated in order to send to Azure. + + :param text: Required. The sentence text. + :type text: str + :param sentiment: Required. The predicted Sentiment for the sentence. Possible values include: + "positive", "neutral", "negative". + :type sentiment: str or ~azure.ai.textanalytics.v3_1_preview_2.models.SentenceSentimentValue + :param confidence_scores: Required. The sentiment confidence score between 0 and 1 for the + sentence for all classes. + :type confidence_scores: + ~azure.ai.textanalytics.v3_1_preview_2.models.SentimentConfidenceScorePerLabel + :param offset: Required. The sentence offset from the start of the document. + :type offset: int + :param length: Required. The length of the sentence. + :type length: int + :param aspects: The array of aspect object for the sentence. + :type aspects: list[~azure.ai.textanalytics.v3_1_preview_2.models.SentenceAspect] + :param opinions: The array of opinion object for the sentence. + :type opinions: list[~azure.ai.textanalytics.v3_1_preview_2.models.SentenceOpinion] + """ + + _validation = { + 'text': {'required': True}, + 'sentiment': {'required': True}, + 'confidence_scores': {'required': True}, + 'offset': {'required': True}, + 'length': {'required': True}, + } + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'sentiment': {'key': 'sentiment', 'type': 'str'}, + 'confidence_scores': {'key': 'confidenceScores', 'type': 'SentimentConfidenceScorePerLabel'}, + 'offset': {'key': 'offset', 'type': 'int'}, + 'length': {'key': 'length', 'type': 'int'}, + 'aspects': {'key': 'aspects', 'type': '[SentenceAspect]'}, + 'opinions': {'key': 'opinions', 'type': '[SentenceOpinion]'}, + } + + def __init__( + self, + *, + text: str, + sentiment: Union[str, "SentenceSentimentValue"], + confidence_scores: "SentimentConfidenceScorePerLabel", + offset: int, + length: int, + aspects: Optional[List["SentenceAspect"]] = None, + opinions: Optional[List["SentenceOpinion"]] = None, + **kwargs + ): + super(SentenceSentiment, self).__init__(**kwargs) + self.text = text + self.sentiment = sentiment + self.confidence_scores = confidence_scores + self.offset = offset + self.length = length + self.aspects = aspects + self.opinions = opinions + + +class SentimentConfidenceScorePerLabel(msrest.serialization.Model): + """Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative. + + All required parameters must be populated in order to send to Azure. + + :param positive: Required. + :type positive: float + :param neutral: Required. + :type neutral: float + :param negative: Required. + :type negative: float + """ + + _validation = { + 'positive': {'required': True}, + 'neutral': {'required': True}, + 'negative': {'required': True}, + } + + _attribute_map = { + 'positive': {'key': 'positive', 'type': 'float'}, + 'neutral': {'key': 'neutral', 'type': 'float'}, + 'negative': {'key': 'negative', 'type': 'float'}, + } + + def __init__( + self, + *, + positive: float, + neutral: float, + negative: float, + **kwargs + ): + super(SentimentConfidenceScorePerLabel, self).__init__(**kwargs) + self.positive = positive + self.neutral = neutral + self.negative = negative + + +class SentimentResponse(msrest.serialization.Model): + """SentimentResponse. + + All required parameters must be populated in order to send to Azure. + + :param documents: Required. Sentiment analysis per document. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentSentiment] + :param errors: Required. Errors by document id. + :type errors: list[~azure.ai.textanalytics.v3_1_preview_2.models.DocumentError] + :param statistics: if showStats=true was specified in the request this field will contain + information about the request payload. + :type statistics: ~azure.ai.textanalytics.v3_1_preview_2.models.RequestStatistics + :param model_version: Required. This field indicates which model is used for scoring. + :type model_version: str + """ + + _validation = { + 'documents': {'required': True}, + 'errors': {'required': True}, + 'model_version': {'required': True}, + } + + _attribute_map = { + 'documents': {'key': 'documents', 'type': '[DocumentSentiment]'}, + 'errors': {'key': 'errors', 'type': '[DocumentError]'}, + 'statistics': {'key': 'statistics', 'type': 'RequestStatistics'}, + 'model_version': {'key': 'modelVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + documents: List["DocumentSentiment"], + errors: List["DocumentError"], + model_version: str, + statistics: Optional["RequestStatistics"] = None, + **kwargs + ): + super(SentimentResponse, self).__init__(**kwargs) + self.documents = documents + self.errors = errors + self.statistics = statistics + self.model_version = model_version + + +class TextAnalyticsError(msrest.serialization.Model): + """TextAnalyticsError. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. Possible values include: "InvalidRequest", + "InvalidArgument", "InternalServerError", "ServiceUnavailable". + :type code: str or ~azure.ai.textanalytics.v3_1_preview_2.models.ErrorCodeValue + :param message: Required. Error message. + :type message: str + :param target: Error target. + :type target: str + :param innererror: Inner error contains more specific information. + :type innererror: ~azure.ai.textanalytics.v3_1_preview_2.models.InnerError + :param details: Details about specific errors that led to this reported error. + :type details: list[~azure.ai.textanalytics.v3_1_preview_2.models.TextAnalyticsError] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'innererror': {'key': 'innererror', 'type': 'InnerError'}, + 'details': {'key': 'details', 'type': '[TextAnalyticsError]'}, + } + + def __init__( + self, + *, + code: Union[str, "ErrorCodeValue"], + message: str, + target: Optional[str] = None, + innererror: Optional["InnerError"] = None, + details: Optional[List["TextAnalyticsError"]] = None, + **kwargs + ): + super(TextAnalyticsError, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.innererror = innererror + self.details = details + + +class TextAnalyticsWarning(msrest.serialization.Model): + """TextAnalyticsWarning. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. Possible values include: "LongWordsInDocument", + "DocumentTruncated". + :type code: str or ~azure.ai.textanalytics.v3_1_preview_2.models.WarningCodeValue + :param message: Required. Warning message. + :type message: str + :param target_ref: A JSON pointer reference indicating the target object. + :type target_ref: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target_ref': {'key': 'targetRef', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Union[str, "WarningCodeValue"], + message: str, + target_ref: Optional[str] = None, + **kwargs + ): + super(TextAnalyticsWarning, self).__init__(**kwargs) + self.code = code + self.message = message + self.target_ref = target_ref diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_text_analytics_client_enums.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_text_analytics_client_enums.py new file mode 100644 index 000000000000..840d2dbc7f59 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/models/_text_analytics_client_enums.py @@ -0,0 +1,95 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class AspectRelationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type related to the aspect. + """ + + OPINION = "opinion" + ASPECT = "aspect" + +class DocumentSentimentValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Predicted sentiment for document (Negative, Neutral, Positive, or Mixed). + """ + + POSITIVE = "positive" + NEUTRAL = "neutral" + NEGATIVE = "negative" + MIXED = "mixed" + +class ErrorCodeValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Error code. + """ + + INVALID_REQUEST = "InvalidRequest" + INVALID_ARGUMENT = "InvalidArgument" + INTERNAL_SERVER_ERROR = "InternalServerError" + SERVICE_UNAVAILABLE = "ServiceUnavailable" + +class InnerErrorCodeValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Error code. + """ + + INVALID_PARAMETER_VALUE = "InvalidParameterValue" + INVALID_REQUEST_BODY_FORMAT = "InvalidRequestBodyFormat" + EMPTY_REQUEST = "EmptyRequest" + MISSING_INPUT_RECORDS = "MissingInputRecords" + INVALID_DOCUMENT = "InvalidDocument" + MODEL_VERSION_INCORRECT = "ModelVersionIncorrect" + INVALID_DOCUMENT_BATCH = "InvalidDocumentBatch" + UNSUPPORTED_LANGUAGE_CODE = "UnsupportedLanguageCode" + INVALID_COUNTRY_HINT = "InvalidCountryHint" + +class SentenceSentimentValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The predicted Sentiment for the sentence. + """ + + POSITIVE = "positive" + NEUTRAL = "neutral" + NEGATIVE = "negative" + +class StringIndexType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + TEXT_ELEMENTS_V8 = "TextElements_v8" #: Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo. + UNICODE_CODE_POINT = "UnicodeCodePoint" #: Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python. + UTF16_CODE_UNIT = "Utf16CodeUnit" #: Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript. + +class TokenSentimentValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Aspect level sentiment for the aspect in the sentence. + """ + + POSITIVE = "positive" + MIXED = "mixed" + NEGATIVE = "negative" + +class WarningCodeValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Error code. + """ + + LONG_WORDS_IN_DOCUMENT = "LongWordsInDocument" + DOCUMENT_TRUNCATED = "DocumentTruncated" diff --git a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/__init__.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/operations/__init__.py similarity index 73% rename from sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/__init__.py rename to sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/operations/__init__.py index 5a2eb2acf63a..4384511c0346 100644 --- a/sdk/search/azure-search-documents/azure/search/documents/_internal/_generated_serviceclient/operations/__init__.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/operations/__init__.py @@ -6,10 +6,8 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._indexes_operations import IndexesOperations -from ._search_service_client_operations import SearchServiceClientOperationsMixin +from ._text_analytics_client_operations import TextAnalyticsClientOperationsMixin __all__ = [ - 'IndexesOperations', - 'SearchServiceClientOperationsMixin', + 'TextAnalyticsClientOperationsMixin', ] diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/operations/_text_analytics_client_operations.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/operations/_text_analytics_client_operations.py new file mode 100644 index 000000000000..2a63ac9ecb1a --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/operations/_text_analytics_client_operations.py @@ -0,0 +1,511 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class TextAnalyticsClientOperationsMixin(object): + + def entities_recognition_general( + self, + documents, # type: List["models.MultiLanguageInput"] + model_version=None, # type: Optional[str] + show_stats=None, # type: Optional[bool] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.EntitiesResult" + """Named Entity Recognition. + + The API returns a list of general named entities in a given document. For the list of supported + entity types, check :code:`Supported Entity Types in Text + Analytics API`. See the :code:`Supported languages in Text + Analytics API` for the list of enabled languages. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EntitiesResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.EntitiesResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EntitiesResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.entities_recognition_general.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('EntitiesResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + entities_recognition_general.metadata = {'url': '/entities/recognition/general'} # type: ignore + + def entities_recognition_pii( + self, + documents, # type: List["models.MultiLanguageInput"] + model_version=None, # type: Optional[str] + show_stats=None, # type: Optional[bool] + domain=None, # type: Optional[str] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.PiiEntitiesResult" + """Entities containing personal information. + + The API returns a list of entities with personal information (\"SSN\", \"Bank Account\" etc) in + the document. For the list of supported entity types, check :code:`Supported Entity Types in Text Analytics API`. See the + :code:`Supported languages in Text Analytics API` for the + list of enabled languages. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :param domain: (Optional) if set to 'PHI', response will contain only PHI entities. + :type domain: str + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PiiEntitiesResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.PiiEntitiesResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PiiEntitiesResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.entities_recognition_pii.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if domain is not None: + query_parameters['domain'] = self._serialize.query("domain", domain, 'str') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('PiiEntitiesResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + entities_recognition_pii.metadata = {'url': '/entities/recognition/pii'} # type: ignore + + def entities_linking( + self, + documents, # type: List["models.MultiLanguageInput"] + model_version=None, # type: Optional[str] + show_stats=None, # type: Optional[bool] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.EntityLinkingResult" + """Linked entities from a well-known knowledge base. + + The API returns a list of recognized entities with links to a well-known knowledge base. See + the :code:`Supported languages in Text Analytics API` for + the list of enabled languages. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EntityLinkingResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.EntityLinkingResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EntityLinkingResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.entities_linking.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('EntityLinkingResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + entities_linking.metadata = {'url': '/entities/linking'} # type: ignore + + def key_phrases( + self, + documents, # type: List["models.MultiLanguageInput"] + model_version=None, # type: Optional[str] + show_stats=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> "models.KeyPhraseResult" + """Key Phrases. + + The API returns a list of strings denoting the key phrases in the input text. See the :code:`Supported languages in Text Analytics API` for the list of + enabled languages. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: KeyPhraseResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.KeyPhraseResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.KeyPhraseResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.key_phrases.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('KeyPhraseResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + key_phrases.metadata = {'url': '/keyPhrases'} # type: ignore + + def languages( + self, + documents, # type: List["models.LanguageInput"] + model_version=None, # type: Optional[str] + show_stats=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> "models.LanguageResult" + """Detect Language. + + The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 + indicate 100% certainty that the identified language is true. See the :code:`Supported languages in Text Analytics API` for the list of + enabled languages. + + :param documents: + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.LanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LanguageResult, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.LanguageResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LanguageResult"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.LanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.languages.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'LanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('LanguageResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + languages.metadata = {'url': '/languages'} # type: ignore + + def sentiment( + self, + documents, # type: List["models.MultiLanguageInput"] + model_version=None, # type: Optional[str] + show_stats=None, # type: Optional[bool] + opinion_mining=None, # type: Optional[bool] + string_index_type="TextElements_v8", # type: Optional[Union[str, "models.StringIndexType"]] + **kwargs # type: Any + ): + # type: (...) -> "models.SentimentResponse" + """Sentiment. + + The API returns a detailed sentiment analysis for the input text. The analysis is done in + multiple levels of granularity, start from the a document level, down to sentence and key terms + (aspects) and opinions. + + :param documents: The set of documents to process as part of this batch. + :type documents: list[~azure.ai.textanalytics.v3_1_preview_2.models.MultiLanguageInput] + :param model_version: (Optional) This value indicates which model will be used for scoring. If + a model-version is not specified, the API should default to the latest, non-preview version. + :type model_version: str + :param show_stats: (Optional) if set to true, response will contain request and document level + statistics. + :type show_stats: bool + :param opinion_mining: (Optional) if set to true, response will contain input and document + level statistics including aspect-based sentiment analysis results. + :type opinion_mining: bool + :param string_index_type: (Optional) Specifies the method used to interpret string offsets. + Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information + see https://aka.ms/text-analytics-offsets. + :type string_index_type: str or ~azure.ai.textanalytics.v3_1_preview_2.models.StringIndexType + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SentimentResponse, or the result of cls(response) + :rtype: ~azure.ai.textanalytics.v3_1_preview_2.models.SentimentResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SentimentResponse"] + error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop('error_map', {})) + + _input = models.MultiLanguageBatchInput(documents=documents) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json, text/json" + + # Construct URL + url = self.sentiment.metadata['url'] # type: ignore + path_format_arguments = { + 'Endpoint': self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if model_version is not None: + query_parameters['model-version'] = self._serialize.query("model_version", model_version, 'str') + if show_stats is not None: + query_parameters['showStats'] = self._serialize.query("show_stats", show_stats, 'bool') + if opinion_mining is not None: + query_parameters['opinionMining'] = self._serialize.query("opinion_mining", opinion_mining, 'bool') + if string_index_type is not None: + query_parameters['stringIndexType'] = self._serialize.query("string_index_type", string_index_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_input, 'MultiLanguageBatchInput') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('SentimentResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + sentiment.metadata = {'url': '/sentiment'} # type: ignore diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/py.typed b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/py.typed new file mode 100644 index 000000000000..e5aff4f83af8 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_generated/v3_1_preview_2/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py index 602a8ecc4b8e..e0819c4135b9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py @@ -207,7 +207,9 @@ class CategorizedEntity(DictMixin): :ivar subcategory: Entity subcategory, such as Age/Year/TimeRange etc :vartype subcategory: str :ivar int offset: The entity text offset from the start of the document. - :ivar int length: The length of the entity text. + Returned in unicode code points. + :ivar int length: The length of the entity text. Returned + in unicode code points. :ivar confidence_score: Confidence score between 0 and 1 of the extracted entity. :vartype confidence_score: float @@ -253,7 +255,9 @@ class PiiEntity(DictMixin): :ivar str subcategory: Entity subcategory, such as Credit Card/EU Phone number/ABA Routing Numbers, etc. :ivar int offset: The PII entity text offset from the start of the document. - :ivar int length: The length of the PII entity text. + Returned in unicode code points. + :ivar int length: The length of the PII entity text. Returned + in unicode code points. :ivar float confidence_score: Confidence score between 0 and 1 of the extracted entity. """ @@ -636,7 +640,9 @@ class LinkedEntityMatch(DictMixin): :vartype confidence_score: float :ivar text: Entity text as appears in the request. :ivar int offset: The linked entity match text offset from the start of the document. - :ivar int length: The length of the linked entity match text. + Returned in unicode code points. + :ivar int length: The length of the linked entity match text. Returned + in unicode code points. :vartype text: str """ @@ -738,8 +744,10 @@ class SentenceSentiment(DictMixin): and 1 for the sentence for all labels. :vartype confidence_scores: ~azure.ai.textanalytics.SentimentConfidenceScores - :ivar int offset: The sentence offset from the start of the document. - :ivar int length: The length of the sentence. + :ivar int offset: The sentence offset from the start of the document. Returned + in unicode code points. + :ivar int length: The length of the sentence. Returned + in unicode code points. :ivar mined_opinions: The list of opinions mined from this sentence. For example in "The food is good, but the service is bad", we would mind these two opinions "food is good", "service is bad". Only returned @@ -847,8 +855,10 @@ class AspectSentiment(DictMixin): for 'neutral' will always be 0 :vartype confidence_scores: ~azure.ai.textanalytics.SentimentConfidenceScores - :ivar int offset: The aspect offset from the start of the document. - :ivar int length: The length of the aspect. + :ivar int offset: The aspect offset from the start of the document. Returned + in unicode code points. + :ivar int length: The length of the aspect. Returned + in unicode code points. """ def __init__(self, **kwargs): @@ -892,8 +902,10 @@ class OpinionSentiment(DictMixin): for 'neutral' will always be 0 :vartype confidence_scores: ~azure.ai.textanalytics.SentimentConfidenceScores - :ivar int offset: The opinion offset from the start of the document. - :ivar int length: The length of the opinion. + :ivar int offset: The opinion offset from the start of the document. Returned + in unicode code points. + :ivar int length: The length of the opinion. Returned + in unicode code points. :ivar bool is_negated: Whether the opinion is negated. For example, in "The food is not good", the opinion "good" is negated. """ diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py index 814a6531be01..8c636e18ae92 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py @@ -93,6 +93,7 @@ def __init__(self, endpoint, credential, **kwargs): ) self._default_language = kwargs.pop("default_language", "en") self._default_country_hint = kwargs.pop("default_country_hint", "US") + self._string_code_unit = None if kwargs.get("api_version") == "v3.0" else "UnicodeCodePoint" @distributed_trace def detect_language( # type: ignore @@ -213,6 +214,8 @@ def recognize_entities( # type: ignore docs = _validate_input(documents, "language", language) model_version = kwargs.pop("model_version", None) show_stats = kwargs.pop("show_stats", False) + if self._string_code_unit: + kwargs.update({"string_index_type": self._string_code_unit}) try: return self._client.entities_recognition_general( documents=docs, @@ -278,6 +281,8 @@ def recognize_pii_entities( # type: ignore docs = _validate_input(documents, "language", language) model_version = kwargs.pop("model_version", None) show_stats = kwargs.pop("show_stats", False) + if self._string_code_unit: + kwargs.update({"string_index_type": self._string_code_unit}) try: return self._client.entities_recognition_pii( documents=docs, @@ -286,8 +291,8 @@ def recognize_pii_entities( # type: ignore cls=kwargs.pop("cls", pii_entities_result), **kwargs ) - except AttributeError as error: - if "'TextAnalyticsClient' object has no attribute 'entities_recognition_pii'" in str(error): + except NotImplementedError as error: + if "APIVersion v3.0 is not available" in str(error): raise NotImplementedError( "'recognize_pii_entities' endpoint is only available for API version v3.1-preview.1 and up" ) @@ -350,6 +355,8 @@ def recognize_linked_entities( # type: ignore docs = _validate_input(documents, "language", language) model_version = kwargs.pop("model_version", None) show_stats = kwargs.pop("show_stats", False) + if self._string_code_unit: + kwargs.update({"string_index_type": self._string_code_unit}) try: return self._client.entities_linking( documents=docs, @@ -490,6 +497,8 @@ def analyze_sentiment( # type: ignore model_version = kwargs.pop("model_version", None) show_stats = kwargs.pop("show_stats", False) show_opinion_mining = kwargs.pop("show_opinion_mining", None) + if self._string_code_unit: + kwargs.update({"string_index_type": self._string_code_unit}) if show_opinion_mining is not None: kwargs.update({"opinion_mining": show_opinion_mining}) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py index 1e1450f669ce..ffa9cd77d6e2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py @@ -98,6 +98,7 @@ def __init__( # type: ignore ) self._default_language = kwargs.pop("default_language", "en") self._default_country_hint = kwargs.pop("default_country_hint", "US") + self._string_code_unit = None if kwargs.get("api_version") == "v3.0" else "UnicodeCodePoint" @distributed_trace_async async def detect_language( # type: ignore @@ -216,6 +217,8 @@ async def recognize_entities( # type: ignore docs = _validate_input(documents, "language", language) model_version = kwargs.pop("model_version", None) show_stats = kwargs.pop("show_stats", False) + if self._string_code_unit: + kwargs.update({"string_index_type": self._string_code_unit}) try: return await self._client.entities_recognition_general( documents=docs, @@ -280,6 +283,8 @@ async def recognize_pii_entities( # type: ignore docs = _validate_input(documents, "language", language) model_version = kwargs.pop("model_version", None) show_stats = kwargs.pop("show_stats", False) + if self._string_code_unit: + kwargs.update({"string_index_type": self._string_code_unit}) try: return await self._client.entities_recognition_pii( documents=docs, @@ -288,8 +293,8 @@ async def recognize_pii_entities( # type: ignore cls=kwargs.pop("cls", pii_entities_result), **kwargs ) - except AttributeError as error: - if "'TextAnalyticsClient' object has no attribute 'entities_recognition_pii'" in str(error): + except NotImplementedError as error: + if "APIVersion v3.0 is not available" in str(error): raise NotImplementedError( "'recognize_pii_entities' endpoint is only available for API version v3.1-preview.1 and up" ) @@ -351,6 +356,8 @@ async def recognize_linked_entities( # type: ignore docs = _validate_input(documents, "language", language) model_version = kwargs.pop("model_version", None) show_stats = kwargs.pop("show_stats", False) + if self._string_code_unit: + kwargs.update({"string_index_type": self._string_code_unit}) try: return await self._client.entities_linking( documents=docs, @@ -489,6 +496,8 @@ async def analyze_sentiment( # type: ignore model_version = kwargs.pop("model_version", None) show_stats = kwargs.pop("show_stats", False) show_opinion_mining = kwargs.pop("show_opinion_mining", None) + if self._string_code_unit: + kwargs.update({"string_index_type": self._string_code_unit}) if show_opinion_mining is not None: kwargs.update({"opinion_mining": show_opinion_mining}) diff --git a/sdk/textanalytics/azure-ai-textanalytics/samples/async_samples/sample_detect_language_async.py b/sdk/textanalytics/azure-ai-textanalytics/samples/async_samples/sample_detect_language_async.py index fc99315c253c..c47cc01c7c3d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/samples/async_samples/sample_detect_language_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/samples/async_samples/sample_detect_language_async.py @@ -27,9 +27,6 @@ class DetectLanguageSampleAsync(object): - endpoint = os.environ["AZURE_TEXT_ANALYTICS_ENDPOINT"] - key = os.environ["AZURE_TEXT_ANALYTICS_KEY"] - async def detect_language_async(self): # [START detect_language_async] from azure.core.credentials import AzureKeyCredential diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_all_successful_passing_dict.yaml index 4f57d94b3520..a70a42de12ab 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_all_successful_passing_dict.yaml @@ -7,7 +7,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,9 +17,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":3,"validDocumentsCount":3,"erroneousDocumentsCount":0,"transactionsCount":3},"documents":[{"id":"1","sentiment":"neutral","statistics":{"charactersCount":51,"transactionsCount":1},"confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"offset":0,"length":51,"text":"Microsoft @@ -30,13 +30,13 @@ interactions: recommend you try it."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - ae5d92ce-b260-4d5b-b049-ca5685d10a6b + - 546ef146-2055-49be-945d-8b4d95870565 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:50 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '91' + - '84' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_all_successful_passing_text_document_input.yaml index 91a92e24fee0..9c89c4291803 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_all_successful_passing_text_document_input.yaml @@ -7,7 +7,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,9 +17,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"offset":0,"length":51,"text":"Microsoft @@ -30,13 +30,13 @@ interactions: recommend you try it."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 5866ad77-79e5-4d72-ac8a-0c238d7ac7bd + - ee67d363-828c-4a5b-92ee-4a943a9aa020 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:50 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '107' + - '95' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_bad_credentials.yaml index 221740d916e8..7ca065da90f9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_bad_credentials.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:56 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_bad_model_version_error.yaml index 0eb032cb1367..9331b76b5a8c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_bad_model_version_error.yaml @@ -4,7 +4,7 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=bad&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid model version. Possible values are: latest,2019-10-01,2020-04-01"}}}' headers: apim-request-id: - - d1b9044a-2cb3-42e1-b76a-d9b2954cacf1 + - 600cfe88-8c7b-4017-a50e-ef0c30a546a4 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:56 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '9' + - '4' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_batch_size_over_limit.yaml index 1939e946e79a..77196ef1175c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_batch_size_over_limit.yaml @@ -748,7 +748,7 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -758,20 +758,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 10 records are permitted."}}}' headers: apim-request-id: - - 445231d6-240b-40ae-97c6-07a9ff798851 + - e63eddb4-ac2c-4b1d-bfa8-ff78dc65076f content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:50 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_batch_size_over_limit_error.yaml index 3210054faa25..d78e04aa30cb 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_batch_size_over_limit_error.yaml @@ -713,7 +713,7 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -723,20 +723,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 10 records are permitted."}}}' headers: apim-request-id: - - d7d79d04-f475-40ff-a5c1-4761cdac974a + - 22ce0f08-e152-4611-bf63-9cc9ae125568 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:50 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -744,7 +744,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '11' + - '12' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_client_passed_default_language_hint.yaml index 716d3aea0a58..d46ce44ab955 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_client_passed_default_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"offset":0,"length":22,"text":"I @@ -27,13 +27,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 34ec0818-4419-460d-ab51-f2849b662a9c + - f43fb317-26ff-4149-b5bc-d56d11c8854a content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:51 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '112' + - '102' status: code: 200 message: OK @@ -52,7 +52,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -62,9 +62,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -73,13 +73,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - abff6a6e-dbc7-474f-ae86-a102c0dfb090 + - 774b2e78-39be-49f0-8fd9-0aa021a39f2f content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:51 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -87,7 +87,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '98' + - '93' status: code: 200 message: OK @@ -98,7 +98,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -108,9 +108,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"offset":0,"length":22,"text":"I @@ -119,13 +119,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 3358cc30-05f2-41cf-8db1-6439f50e4013 + - 6538bfb7-2e2e-488f-b935-ead59d26f8d8 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:52 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -133,7 +133,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '105' + - '111' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_attribute_error_no_result_attribute.yaml index 2810435be210..ca83f30ce45b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_attribute_error_no_result_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,9 +13,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,11 +23,11 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 42b48b6b-82af-4009-9fce-6e4b0aa84164 + - 7f10c39c-4c45-4b6f-a4a9-d842331d000b content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:56 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '229' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_attribute_error_nonexistent_attribute.yaml index 478a27992e63..95e92d12c8f0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,9 +13,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,11 +23,11 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - a9c831ec-f52b-48ae-b6c4-4c2c1009c948 + - 06198e70-ea3e-4cbc-9cd2-ae78adf4d46c content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '3' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_errors.yaml index 9f08bfcc9e2e..6a99680cb40b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_errors.yaml @@ -6,7 +6,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,27 +16,27 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 6fb01711-e54c-4d31-ac5c-31090c70d477 + - 084681fc-8373-4fe8-8439-f2e5827b6303 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '3' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_warnings.yaml index 504443cdef4b..1cd5ace0dd70 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_document_warnings.yaml @@ -4,7 +4,7 @@ interactions: :''(", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"offset":0,"length":40,"text":"This won''t actually create a warning :''("}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - a629bb87-c4d0-4834-8137-5022ecd0f326 + - 3d9a766a-43e3-4985-86b9-4bb2dd1930ec content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:51 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '341' + - '90' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_duplicate_ids_error.yaml index 030f80bdfe67..d07ed6337f67 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_duplicate_ids_error.yaml @@ -4,7 +4,7 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: apim-request-id: - - 7bf2cc9c-f7e4-4b28-87ab-9e18fc41757c + - 1c0ab972-6593-48b1-af4f-4b138ab0c43f content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:50 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_empty_credential_class.yaml index 1cabeef25689..36eb9dd6039e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_empty_credential_class.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:52 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_input_with_all_errors.yaml index 8c7c87ed7099..092b7a364d74 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_input_with_all_errors.yaml @@ -5,7 +5,7 @@ interactions: "english"}, {"id": "3", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,25 +15,25 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - e97267c2-7f30-4c2c-893c-8256c81626eb + - 838a1ab2-8281-4f97-b7ff-717051401ae8 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:43 GMT + - Thu, 27 Aug 2020 19:31:56 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '3' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_input_with_some_errors.yaml index 55ed4a7e8275..189fdded1afa 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_input_with_some_errors.yaml @@ -6,7 +6,7 @@ interactions: you try it.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"3","sentiment":"positive","confidenceScores":{"positive":0.98,"neutral":0.02,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":36,"text":"The @@ -27,16 +27,16 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 8064c457-a71f-4406-bb38-07733225f402 + - ed04dab2-5bf4-450b-93b3-05c049cced7e content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '98' + - '79' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_invalid_language_hint_docs.yaml index 2d99da88294e..b469eaf6f684 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_invalid_language_hint_docs.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 6034c272-f384-4c3d-8bbb-f3e7157bd252 + - 690eec45-cc48-49a4-a6e8-ee2f7e9d91b0 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '3' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_invalid_language_hint_method.yaml index 1e7e6476273d..d050acfdaa1b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_invalid_language_hint_method.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - ed3802cd-6a0a-4221-bb50-ba8aeb9634e3 + - d3b407d4-9dbf-41c9-8652-6eec212619e0 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:51 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_language_kwarg_spanish.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_language_kwarg_spanish.yaml index 87255bd8f785..15ac36bfb206 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_language_kwarg_spanish.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_language_kwarg_spanish.yaml @@ -4,7 +4,7 @@ interactions: "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","sentiment":"neutral","statistics":{"charactersCount":35,"transactionsCount":1},"confidenceScores":{"positive":0.01,"neutral":0.98,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.98,"negative":0.01},"offset":0,"length":35,"text":"Bill Gates is the CEO of Microsoft."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 3280fcc8-7534-44a2-9502-1f795ddb11d7 + - 6947c482-7c9a-4806-86cf-bfec2236e37d content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 17:51:18 GMT + - Thu, 27 Aug 2020 19:31:51 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '198' + - '100' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining.yaml index 9daa244e8e3b..cee800d086ff 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining.yaml @@ -4,7 +4,7 @@ interactions: that makes it beautiful to look at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"positive","confidenceScores":{"positive":0.98,"neutral":0.02,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.98,"neutral":0.02,"negative":0.0},"offset":0,"length":74,"text":"It has a sleek premium aluminum design that makes it beautiful to look at.","aspects":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"negative":0.0},"offset":32,"length":6,"text":"design","relations":[{"relationType":"opinion","ref":"#/documents/0/sentences/0/opinions/0"},{"relationType":"opinion","ref":"#/documents/0/sentences/0/opinions/1"}]}],"opinions":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"negative":0.0},"offset":9,"length":5,"text":"sleek","isNegated":false},{"sentiment":"positive","confidenceScores":{"positive":1.0,"negative":0.0},"offset":15,"length":7,"text":"premium","isNegated":false}]}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 4c02e1ce-36d5-4e40-ab94-817af736669d + - d731425e-aa5a-4246-a394-a5ecd301b7e9 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 30 Jul 2020 21:31:42 GMT + - Thu, 27 Aug 2020 19:31:52 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '114' + - '96' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining_no_mined_opinions.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining_no_mined_opinions.yaml index 699be403bc2a..38fc4ccbf65e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining_no_mined_opinions.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining_no_mined_opinions.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "0", "text": "today is a hot day", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,22 +13,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"neutral","confidenceScores":{"positive":0.1,"neutral":0.88,"negative":0.02},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.1,"neutral":0.88,"negative":0.02},"offset":0,"length":18,"text":"today is a hot day","aspects":[],"opinions":[]}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 8c5e391d-7ced-4b43-a89b-d87abc04c772 + - c892a7af-8e67-4d40-b76d-81e5f9b9590b content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 30 Jul 2020 21:38:55 GMT + - Thu, 27 Aug 2020 19:31:52 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '90' + - '97' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining_with_negated_opinion.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining_with_negated_opinion.yaml index a907e92069f7..73f3fe35ea81 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining_with_negated_opinion.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_opinion_mining_with_negated_opinion.yaml @@ -4,7 +4,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.0,"negative":1.0},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.0,"negative":1.0},"offset":0,"length":32,"text":"The food and service is not good","aspects":[{"sentiment":"negative","confidenceScores":{"positive":0.01,"negative":0.99},"offset":4,"length":4,"text":"food","relations":[{"relationType":"opinion","ref":"#/documents/0/sentences/0/opinions/0"}]},{"sentiment":"negative","confidenceScores":{"positive":0.01,"negative":0.99},"offset":13,"length":7,"text":"service","relations":[{"relationType":"opinion","ref":"#/documents/0/sentences/0/opinions/0"}]}],"opinions":[{"sentiment":"negative","confidenceScores":{"positive":0.01,"negative":0.99},"offset":28,"length":4,"text":"good","isNegated":true}]}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 301fd828-cccc-417e-bd0d-83eeb9dfb542 + - b6c74212-ba51-4fca-9819-260e1c801588 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 30 Jul 2020 21:31:42 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '97' + - '81' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_out_of_order_ids.yaml index 3914b133b687..1aedbb8ccc34 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_out_of_order_ids.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"56","sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"offset":0,"length":2,"text":":)"}],"warnings":[]},{"id":"0","sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"offset":0,"length":2,"text":":("}],"warnings":[]},{"id":"19","sentiment":"neutral","confidenceScores":{"positive":0.3,"neutral":0.67,"negative":0.03},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.3,"neutral":0.67,"negative":0.03},"offset":0,"length":2,"text":":P"}],"warnings":[]},{"id":"1","sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"offset":0,"length":2,"text":":D"}],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid @@ -26,13 +26,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 202eb5e6-49a5-4e30-a8b9-f04ebb1d3a1d + - 0084c944-11e7-4ecc-80a7-94b17cda63b4 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '211' + - '88' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_output_same_order_as_input.yaml index 989e6708549d..7a4540018f08 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_output_same_order_as_input.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.06,"neutral":0.9,"negative":0.04},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.06,"neutral":0.9,"negative":0.04},"offset":0,"length":3,"text":"one"}],"warnings":[]},{"id":"2","sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.97,"negative":0.02},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.97,"negative":0.02},"offset":0,"length":3,"text":"two"}],"warnings":[]},{"id":"3","sentiment":"neutral","confidenceScores":{"positive":0.05,"neutral":0.93,"negative":0.02},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.05,"neutral":0.93,"negative":0.02},"offset":0,"length":5,"text":"three"}],"warnings":[]},{"id":"4","sentiment":"neutral","confidenceScores":{"positive":0.03,"neutral":0.96,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.03,"neutral":0.96,"negative":0.01},"offset":0,"length":4,"text":"four"}],"warnings":[]},{"id":"5","sentiment":"neutral","confidenceScores":{"positive":0.05,"neutral":0.93,"negative":0.02},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.05,"neutral":0.93,"negative":0.02},"offset":0,"length":4,"text":"five"}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - d3686859-3b21-44a7-991e-09bca1e698d5 + - 0c65f394-1360-44f4-aadb-a13ae6ca8754 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=5 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '186' + - '100' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_pass_cls.yaml index 932735b66b28..757ad9a3f26d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_pass_cls.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"neutral","confidenceScores":{"positive":0.32,"neutral":0.65,"negative":0.03},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.32,"neutral":0.65,"negative":0.03},"offset":0,"length":28,"text":"Test passing cls to endpoint"}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - d4509b09-bd20-4739-aeb5-2fb576ebbdd6 + - f600a645-52da-45ec-942f-84eb88a21ec2 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:52 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '92' + - '81' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_passing_only_string.yaml index aaef6246dd11..867b9caa7a44 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_passing_only_string.yaml @@ -7,7 +7,7 @@ interactions: "en"}, {"id": "3", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,9 +17,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"offset":0,"length":51,"text":"Microsoft @@ -32,13 +32,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - c3cd4fe4-c3da-4e35-8eb2-5788271eeb73 + - 5abe82f0-fc68-44d6-bc36-08e81ca90632 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:52 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -46,7 +46,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '103' + - '91' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_per_item_dont_use_language_hint.yaml index 454030da7907..e55eb0a98b73 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_per_item_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -27,13 +27,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 6bd36846-ff3b-44c2-817f-b998cf8b8483 + - 918186e6-d096-408d-8d48-eca13502169c content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '101' + - '86' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_rotate_subscription_key.yaml index cf8a66ee6935..8ad57865e308 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_rotate_subscription_key.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -27,13 +27,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - e586e4c3-409f-42f0-b982-19576111a359 + - 0b9a5e6b-ad0b-45f3-8da9-79f6440568c8 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:43 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '119' + - '85' status: code: 200 message: OK @@ -52,7 +52,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -62,9 +62,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -74,7 +74,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:43 GMT + - Thu, 27 Aug 2020 19:31:58 GMT status: code: 401 message: PermissionDenied @@ -85,7 +85,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -95,9 +95,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -106,13 +106,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 3efa5050-2382-404e-a814-2d66d202287b + - 67df6212-976f-40ad-a488-343f276019fd content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:43 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -120,7 +120,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '93' + - '87' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_show_stats_and_model_version.yaml index 3cb69f9c6192..c782202dcf72 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_show_stats_and_model_version.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","sentiment":"positive","statistics":{"charactersCount":2,"transactionsCount":1},"confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"offset":0,"length":2,"text":":)"}],"warnings":[]},{"id":"0","sentiment":"negative","statistics":{"charactersCount":2,"transactionsCount":1},"confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"offset":0,"length":2,"text":":("}],"warnings":[]},{"id":"19","sentiment":"neutral","statistics":{"charactersCount":2,"transactionsCount":1},"confidenceScores":{"positive":0.3,"neutral":0.67,"negative":0.03},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.3,"neutral":0.67,"negative":0.03},"offset":0,"length":2,"text":":P"}],"warnings":[]},{"id":"1","sentiment":"positive","statistics":{"charactersCount":2,"transactionsCount":1},"confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"offset":0,"length":2,"text":":D"}],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid @@ -26,13 +26,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 74763fb5-d048-49d1-aa5a-23c32aa1910c + - fe7974c5-daee-401c-a149-5b2c30add313 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '91' + - '89' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..84c206702df2 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,43 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '75' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/sentiment?showStats=false + response: + body: + string: '{"documents":[{"id":"0","sentiment":"positive","confidenceScores":{"positive":0.99,"neutral":0.0,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.99,"neutral":0.0,"negative":0.01},"offset":0,"length":17,"text":"please + don''t fail"}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + headers: + apim-request-id: + - 72cda56d-9970-4c24-b3ed-103bee60e0b9 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Thu, 27 Aug 2020 19:31:53 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '84' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_too_many_documents.yaml index 74d646989f86..c45028cd65ee 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_too_many_documents.yaml @@ -9,7 +9,7 @@ interactions: {"id": "10", "text": "Eleven", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -19,20 +19,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 10 records are permitted."}}}' headers: apim-request-id: - - e76e392e-4a35-473a-898a-e49c708ec2e1 + - 48ccef32-6c97-4cf2-a46e-55d414ccfd6c content-type: - application/json; charset=utf-8 date: - - Tue, 04 Aug 2020 21:24:44 GMT + - Thu, 27 Aug 2020 19:31:52 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '10' + - '5' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_user_agent.yaml index 56e0fb0cb185..689a972e148b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_user_agent.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -27,13 +27,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 7e3d865b-156b-46a4-a7ec-18300c77b15e + - af44eea9-42bc-4974-b4a7-9dcbc247d510 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:41 GMT + - Thu, 27 Aug 2020 19:31:53 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '97' + - '90' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_dont_use_language_hint.yaml index 0e38aa4875fa..5e487fb386a1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":33,"text":"This @@ -28,13 +28,13 @@ interactions: restaurant was not as good as I hoped."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - b5d70d4c-2813-44ac-9986-154a8a13130c + - 215cc7ed-0a9e-4d75-abcd-bf4366b7b148 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '94' + - '78' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint.yaml index 302ed7aac41c..07f67ed7bb92 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"neutral","confidenceScores":{"positive":0.07,"neutral":0.93,"negative":0.0},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.07,"neutral":0.93,"negative":0.0},"offset":0,"length":33,"text":"This @@ -28,13 +28,13 @@ interactions: restaurant was not as good as I hoped."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 977bc57b-3591-4c0e-a083-5ff3326d32b9 + - 6df2265b-c8f2-4916-b740-48fd296a65ec content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '100' + - '114' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_dict_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_dict_input.yaml index 97ba615116e5..3e07d6eae486 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_dict_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_dict_input.yaml @@ -6,7 +6,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"offset":0,"length":22,"text":"I @@ -27,13 +27,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 83e8d870-affd-4f38-ad4f-03f8fe87dbb6 + - 5a0fccb1-2329-4af9-b25d-5fa2495f67f4 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '115' + - '101' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index 31bcb4d4e075..b71d9d77c215 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"offset":0,"length":22,"text":"I @@ -27,13 +27,13 @@ interactions: restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 00804568-0d8e-4051-87f1-a5399e251e23 + - 42587117-6743-46b4-be8f-3a4711941e6c content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:42 GMT + - Thu, 27 Aug 2020 19:31:53 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '102' + - '93' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_obj_input.yaml index a2141cbcafd2..3b295b46c279 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,7 +6,7 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: "{\"documents\":[{\"id\":\"1\",\"sentiment\":\"neutral\",\"confidenceScores\"\ @@ -37,13 +37,13 @@ interactions: warnings\":[]}],\"errors\":[],\"modelVersion\":\"2020-04-01\"}" headers: apim-request-id: - - 7bd94eb4-7f36-4590-86e0-d345f9924173 + - 52b521fb-02ec-4f7e-aeaf-5c9b53c0c0e7 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:31:53 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -51,7 +51,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '125' + - '120' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index cb4c8a7ce81e..b040715d3398 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: "{\"documents\":[{\"id\":\"1\",\"sentiment\":\"neutral\",\"confidenceScores\"\ @@ -37,13 +37,13 @@ interactions: warnings\":[]}],\"errors\":[],\"modelVersion\":\"2020-04-01\"}" headers: apim-request-id: - - 80ebc9f3-8257-47a2-a0c3-4652889c833e + - d9a8f99e-8164-499f-9b5d-79214bb18ecb content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:43 GMT + - Thu, 27 Aug 2020 19:31:53 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_all_successful_passing_dict.yaml index 9e24c03bc67f..032fef4d2eac 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_all_successful_passing_dict.yaml @@ -7,15 +7,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '315' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":3,"validDocumentsCount":3,"erroneousDocumentsCount":0,"transactionsCount":3},"documents":[{"id":"1","sentiment":"neutral","statistics":{"charactersCount":51,"transactionsCount":1},"confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"offset":0,"length":51,"text":"Microsoft @@ -25,16 +25,16 @@ interactions: restaurant had really good food."},{"sentiment":"positive","confidenceScores":{"positive":0.96,"neutral":0.03,"negative":0.01},"offset":37,"length":23,"text":"I recommend you try it."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: a02574f4-91fb-4ac8-8c9b-66ef9b9b9a13 + apim-request-id: c57f2812-d193-4af6-b492-58110b99a140 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:42 GMT + date: Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '193' + x-envoy-upstream-service-time: '87' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_all_successful_passing_text_document_input.yaml index 67f54aaa3655..b6059755220a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_all_successful_passing_text_document_input.yaml @@ -7,15 +7,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '315' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"offset":0,"length":51,"text":"Microsoft @@ -25,16 +25,16 @@ interactions: restaurant had really good food."},{"sentiment":"positive","confidenceScores":{"positive":0.96,"neutral":0.03,"negative":0.01},"offset":37,"length":23,"text":"I recommend you try it."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 88f5d350-fd2a-4d63-9d33-efb5a3e9feaf + apim-request-id: f665688d-1cce-4513-bd7c-ae81c7400faf content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '109' + x-envoy-upstream-service-time: '83' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_bad_credentials.yaml index 1959e3f0aef0..ef0cc6b48e11 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_bad_credentials.yaml @@ -4,15 +4,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -20,9 +20,9 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_bad_model_version_error.yaml index 3c23c13e0aaf..e976f1aaec1c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_bad_model_version_error.yaml @@ -4,29 +4,29 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '101' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=bad&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid model version. Possible values are: latest,2019-10-01,2020-04-01"}}}' headers: - apim-request-id: 186c3b7c-1e2e-4b39-b326-f42db2230e76 + apim-request-id: 71053d6c-9f69-4d1e-9f3a-dc1588bbc455 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:42 GMT + date: Thu, 27 Aug 2020 19:31:53 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '6' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?model-version=bad&showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_batch_size_over_limit.yaml index c1c3cb12629a..544c30081975 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_batch_size_over_limit.yaml @@ -748,29 +748,29 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58755' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 10 records are permitted."}}}' headers: - apim-request-id: b7943f7e-f314-43ca-bb39-620fbf810522 + apim-request-id: ec32a00c-c6a9-40c2-b8a2-dff6ba90bde5 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:42 GMT + date: Thu, 27 Aug 2020 19:31:54 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '14' + x-envoy-upstream-service-time: '12' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_batch_size_over_limit_error.yaml index 57ca5ed954dd..ef9388697cb0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_batch_size_over_limit_error.yaml @@ -713,29 +713,29 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '55962' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 10 records are permitted."}}}' headers: - apim-request-id: 273c84ac-b300-4ef8-9aad-815c0ea1b24c + apim-request-id: 14ba945e-f7d9-4067-a3f3-c14f7e6b2f95 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '11' + x-envoy-upstream-service-time: '13' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_client_passed_default_language_hint.yaml index 3f864f1a64a3..628308ddf088 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_client_passed_default_language_hint.yaml @@ -6,15 +6,15 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"offset":0,"length":22,"text":"I @@ -22,18 +22,18 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":0.97,"neutral":0.02,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.97,"neutral":0.02,"negative":0.01},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: b0146b82-a04a-404d-8689-0871e2277062 + apim-request-id: c891977d-781a-4903-9a68-c324e34704b8 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:42 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '113' + x-envoy-upstream-service-time: '119' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -41,15 +41,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -57,18 +57,18 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 3896b0c1-d55a-48f4-95f6-381d90aa4b0a + apim-request-id: f7a559df-b24b-4b61-b872-d93d5c66aa7c content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:42 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '90' + x-envoy-upstream-service-time: '83' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "es"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -76,15 +76,15 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"offset":0,"length":22,"text":"I @@ -92,16 +92,16 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":0.97,"neutral":0.02,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.97,"neutral":0.02,"negative":0.01},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 2e58bfe8-176b-46b0-b607-25468cd90296 + apim-request-id: 3deb72d0-3f32-4d4b-bdd6-2866d49d07c3 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:42 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '108' + x-envoy-upstream-service-time: '135' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_attribute_error_no_result_attribute.yaml index 35b2268bbac3..2466bb918590 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_attribute_error_no_result_attribute.yaml @@ -3,24 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 445ebb8b-1db3-451c-94f4-910ff2880adc + apim-request-id: f0cb046c-30ff-47c7-9de2-5d514faed802 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -28,5 +28,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_attribute_error_nonexistent_attribute.yaml index b1365b867a6e..2c382ab15f50 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,30 +3,30 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 93b7d9e6-652b-4d53-a262-f901c55aff44 + apim-request-id: 82470de3-9069-4f0d-a6a7-acba80fcf132 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:42 GMT + date: Thu, 27 Aug 2020 19:31:54 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '2' + x-envoy-upstream-service-time: '1' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_errors.yaml index ea7d16fd12f9..8486ace9dd9f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_errors.yaml @@ -6,36 +6,36 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '5308' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 15979b6e-b026-45f0-82af-183780125d6f + apim-request-id: 03a7e979-6937-4d71-888e-31b0c35126e2 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:53 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '2' + x-envoy-upstream-service-time: '3' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_warnings.yaml index 6855dc69f736..07f1eb96fb12 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_document_warnings.yaml @@ -4,30 +4,30 @@ interactions: :''(", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '98' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"offset":0,"length":40,"text":"This won''t actually create a warning :''("}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: cb6d5da1-7463-46c0-9e98-47badea2f281 + apim-request-id: 4702ed83-022b-49bc-96a6-9efc4b97de06 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:44 GMT + date: Thu, 27 Aug 2020 19:31:54 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '91' + x-envoy-upstream-service-time: '78' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_duplicate_ids_error.yaml index 11ef8cc4c47f..2a5402f36b26 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_duplicate_ids_error.yaml @@ -4,29 +4,29 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '150' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: - apim-request-id: 5ae6b123-edd5-4cb1-be77-71ffdae07d5d + apim-request-id: f100e950-cb2e-4cad-bc55-6531bbb6d46d content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '5' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_empty_credential_class.yaml index 6d04b1f4a524..3ac0a106e71f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_empty_credential_class.yaml @@ -4,15 +4,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -20,9 +20,9 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_input_with_all_errors.yaml index 44d4bb0d6061..a59acd63728e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_input_with_all_errors.yaml @@ -5,34 +5,34 @@ interactions: "english"}, {"id": "3", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '209' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 6db92618-5888-4b7c-8695-1682f2945e6e + apim-request-id: 9c6d53ff-f5e9-491a-974d-3b9da4095526 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '3' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_input_with_some_errors.yaml index 81d8ff523a4d..53270302dfbf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_input_with_some_errors.yaml @@ -6,15 +6,15 @@ interactions: you try it.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '269' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"3","sentiment":"positive","confidenceScores":{"positive":0.98,"neutral":0.02,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":36,"text":"The @@ -23,18 +23,18 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: e457581c-0f2f-4bdf-94bd-6df280015bc8 + apim-request-id: b609a82b-91c8-47a3-ada2-52ef79694d84 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:54 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '167' + x-envoy-upstream-service-time: '152' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_invalid_language_hint_docs.yaml index ac135ae33a2b..3482d791ce40 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_invalid_language_hint_docs.yaml @@ -4,24 +4,24 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: e99b4a30-cff2-4ec3-af7f-722f1d90b11d + apim-request-id: f98f6308-de16-480d-bdda-734e95afaac2 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:54 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -29,5 +29,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_invalid_language_hint_method.yaml index e747200fdf3f..761029e05394 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_invalid_language_hint_method.yaml @@ -4,24 +4,24 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: de,en,es,fr,it,ja,ko,nl,pt-PT,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: de,en,es,fr,it,ja,ko,nl,no,pt-PT,tr,zh-Hans,zh-Hant"}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 8b3988d3-08e5-4f19-840c-831db5d90dfd + apim-request-id: 34d18ae9-f4e9-48eb-a709-31c3e40997e0 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:54 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -29,5 +29,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_language_kwarg_spanish.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_language_kwarg_spanish.yaml index c8bb7b9b08b8..db2164ddf78b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_language_kwarg_spanish.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_language_kwarg_spanish.yaml @@ -4,30 +4,30 @@ interactions: "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '93' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","sentiment":"neutral","statistics":{"charactersCount":35,"transactionsCount":1},"confidenceScores":{"positive":0.01,"neutral":0.98,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.98,"negative":0.01},"offset":0,"length":35,"text":"Bill Gates is the CEO of Microsoft."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: b22cdb80-908b-4758-a721-638746a66fc7 + apim-request-id: 99ae5aa0-c8a0-4734-8bbd-ad41003bb88a content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '93' + x-envoy-upstream-service-time: '102' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining.yaml index 8bd21eaab0d4..df35086ba06c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining.yaml @@ -4,30 +4,30 @@ interactions: that makes it beautiful to look at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '132' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"positive","confidenceScores":{"positive":0.98,"neutral":0.02,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.98,"neutral":0.02,"negative":0.0},"offset":0,"length":74,"text":"It has a sleek premium aluminum design that makes it beautiful to look at.","aspects":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"negative":0.0},"offset":32,"length":6,"text":"design","relations":[{"relationType":"opinion","ref":"#/documents/0/sentences/0/opinions/0"},{"relationType":"opinion","ref":"#/documents/0/sentences/0/opinions/1"}]}],"opinions":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"negative":0.0},"offset":9,"length":5,"text":"sleek","isNegated":false},{"sentiment":"positive","confidenceScores":{"positive":1.0,"negative":0.0},"offset":15,"length":7,"text":"premium","isNegated":false}]}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 6576433c-7362-4637-804c-a25189ff691d + apim-request-id: da9f1b9d-8e1f-4490-8d06-00dff248ed14 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 30 Jul 2020 21:31:43 GMT + date: Thu, 27 Aug 2020 19:31:55 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '96' + x-envoy-upstream-service-time: '85' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining_no_mined_opinions.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining_no_mined_opinions.yaml index 882cb8156f35..9c1902256064 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining_no_mined_opinions.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining_no_mined_opinions.yaml @@ -3,30 +3,30 @@ interactions: body: '{"documents": [{"id": "0", "text": "today is a hot day", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '76' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"neutral","confidenceScores":{"positive":0.1,"neutral":0.88,"negative":0.02},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.1,"neutral":0.88,"negative":0.02},"offset":0,"length":18,"text":"today is a hot day","aspects":[],"opinions":[]}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: feb1be87-502c-4e43-b981-c7fb7e6d2b30 + apim-request-id: 4d87f92c-a592-455a-bd88-633b0d178c79 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 30 Jul 2020 21:38:56 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '128' + x-envoy-upstream-service-time: '94' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining_with_negated_opinion.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining_with_negated_opinion.yaml index 240f3545c987..e07b69256df1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining_with_negated_opinion.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_opinion_mining_with_negated_opinion.yaml @@ -4,30 +4,30 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '90' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.0,"negative":1.0},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.0,"negative":1.0},"offset":0,"length":32,"text":"The food and service is not good","aspects":[{"sentiment":"negative","confidenceScores":{"positive":0.01,"negative":0.99},"offset":4,"length":4,"text":"food","relations":[{"relationType":"opinion","ref":"#/documents/0/sentences/0/opinions/0"}]},{"sentiment":"negative","confidenceScores":{"positive":0.01,"negative":0.99},"offset":13,"length":7,"text":"service","relations":[{"relationType":"opinion","ref":"#/documents/0/sentences/0/opinions/0"}]}],"opinions":[{"sentiment":"negative","confidenceScores":{"positive":0.01,"negative":0.99},"offset":28,"length":4,"text":"good","isNegated":true}]}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: c2bf1989-2526-45db-a201-02972303c315 + apim-request-id: 66b7863d-048c-4a31-a972-63d55b8df806 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 30 Jul 2020 21:31:43 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '80' + x-envoy-upstream-service-time: '81' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&opinionMining=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_out_of_order_ids.yaml index e1488f1d303f..722b75443dba 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_out_of_order_ids.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"56","sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"offset":0,"length":2,"text":":)"}],"warnings":[]},{"id":"0","sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"offset":0,"length":2,"text":":("}],"warnings":[]},{"id":"19","sentiment":"neutral","confidenceScores":{"positive":0.3,"neutral":0.67,"negative":0.03},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.3,"neutral":0.67,"negative":0.03},"offset":0,"length":2,"text":":P"}],"warnings":[]},{"id":"1","sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"offset":0,"length":2,"text":":D"}],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: d806272a-d892-40ae-97c5-5d1a205e23fc + apim-request-id: f583062e-d188-4dcb-94a5-031797cf71a5 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:44 GMT + date: Thu, 27 Aug 2020 19:31:55 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '107' + x-envoy-upstream-service-time: '92' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_output_same_order_as_input.yaml index 5eb1b109a9c4..d5955db9c351 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_output_same_order_as_input.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.06,"neutral":0.9,"negative":0.04},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.06,"neutral":0.9,"negative":0.04},"offset":0,"length":3,"text":"one"}],"warnings":[]},{"id":"2","sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.97,"negative":0.02},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.97,"negative":0.02},"offset":0,"length":3,"text":"two"}],"warnings":[]},{"id":"3","sentiment":"neutral","confidenceScores":{"positive":0.05,"neutral":0.93,"negative":0.02},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.05,"neutral":0.93,"negative":0.02},"offset":0,"length":5,"text":"three"}],"warnings":[]},{"id":"4","sentiment":"neutral","confidenceScores":{"positive":0.03,"neutral":0.96,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.03,"neutral":0.96,"negative":0.01},"offset":0,"length":4,"text":"four"}],"warnings":[]},{"id":"5","sentiment":"neutral","confidenceScores":{"positive":0.05,"neutral":0.93,"negative":0.02},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.05,"neutral":0.93,"negative":0.02},"offset":0,"length":4,"text":"five"}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 9f933ebf-771d-46ae-9f5e-964ab45d069f + apim-request-id: 07188c04-7822-46a0-bf68-772f63d9ead4 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=5 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:54 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '98' + x-envoy-upstream-service-time: '87' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_pass_cls.yaml index bc62791c7b2e..47364f75ab6d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_pass_cls.yaml @@ -4,30 +4,30 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '86' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"neutral","confidenceScores":{"positive":0.32,"neutral":0.65,"negative":0.03},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.32,"neutral":0.65,"negative":0.03},"offset":0,"length":28,"text":"Test passing cls to endpoint"}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 4d380e96-c279-4c56-9f5c-ec6f7778ef58 + apim-request-id: fdf39b73-226b-42e2-b4d6-b2ecc644f77c content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:56 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '106' + x-envoy-upstream-service-time: '86' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_passing_only_string.yaml index 5df1a8509406..a5cbf109e48a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_passing_only_string.yaml @@ -7,15 +7,15 @@ interactions: "en"}, {"id": "3", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '358' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.01,"neutral":0.99,"negative":0.0},"offset":0,"length":51,"text":"Microsoft @@ -27,16 +27,16 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: e622c344-99f3-451b-9f3b-8554dfa08e84 + apim-request-id: 13dc8813-028e-4cbd-8d49-e9ae650042e8 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '111' + x-envoy-upstream-service-time: '94' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_per_item_dont_use_language_hint.yaml index 1e361d1788ee..2f708ed9d460 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_per_item_dont_use_language_hint.yaml @@ -6,15 +6,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '236' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -22,16 +22,16 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 76258da2-0deb-4516-8709-9b46596c5c96 + apim-request-id: 0dfe40c4-344b-4422-bf37-945515366584 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:44 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '93' + x-envoy-upstream-service-time: '87' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_rotate_subscription_key.yaml index b9397c786d47..e0d347128c38 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_rotate_subscription_key.yaml @@ -6,15 +6,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -22,18 +22,18 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 6afc472c-0804-4bd0-8011-126b18576620 + apim-request-id: 810093bd-5164-43c2-bf1c-5dcb3f5fc7b9 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:55 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '178' + x-envoy-upstream-service-time: '94' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -41,15 +41,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -57,11 +57,11 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:55 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -69,15 +69,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -85,16 +85,16 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 3fe95075-ac4e-4710-8ebe-1df34365799e + apim-request-id: 464b2870-b207-435f-bef9-26d96198fa4d content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:55 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '91' + x-envoy-upstream-service-time: '82' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_show_stats_and_model_version.yaml index a5aa9833b2a8..4f7fe655cc96 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_show_stats_and_model_version.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","sentiment":"positive","statistics":{"charactersCount":2,"transactionsCount":1},"confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"offset":0,"length":2,"text":":)"}],"warnings":[]},{"id":"0","sentiment":"negative","statistics":{"charactersCount":2,"transactionsCount":1},"confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.0,"neutral":0.02,"negative":0.98},"offset":0,"length":2,"text":":("}],"warnings":[]},{"id":"19","sentiment":"neutral","statistics":{"charactersCount":2,"transactionsCount":1},"confidenceScores":{"positive":0.3,"neutral":0.67,"negative":0.03},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.3,"neutral":0.67,"negative":0.03},"offset":0,"length":2,"text":":P"}],"warnings":[]},{"id":"1","sentiment":"positive","statistics":{"charactersCount":2,"transactionsCount":1},"confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.89,"neutral":0.1,"negative":0.01},"offset":0,"length":2,"text":":D"}],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: b920b85f-800a-4b92-b745-2f3c19a3a0de + apim-request-id: 3da5a9a7-2fda-401e-bcaa-921e066586b2 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:55 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '200' + x-envoy-upstream-service-time: '113' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..e79a1ed1887a --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,32 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '75' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/sentiment?showStats=false + response: + body: + string: '{"documents":[{"id":"0","sentiment":"positive","confidenceScores":{"positive":0.99,"neutral":0.0,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.99,"neutral":0.0,"negative":0.01},"offset":0,"length":17,"text":"please + don''t fail"}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + headers: + apim-request-id: 9d082595-3d44-4ca6-ada0-bb3527f62aa2 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Thu, 27 Aug 2020 19:31:56 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '75' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.0/sentiment?showStats=false +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_too_many_documents.yaml index e1eecaf9f63e..3ec71a20df40 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_too_many_documents.yaml @@ -9,29 +9,29 @@ interactions: {"id": "10", "text": "Eleven", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '534' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 10 records are permitted."}}}' headers: - apim-request-id: 8d1b3a28-7d72-47f2-934c-4adc2267a060 + apim-request-id: 601807d3-aefb-4dfa-8a41-ba7166643779 content-type: application/json; charset=utf-8 - date: Tue, 04 Aug 2020 21:24:45 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '4' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_user_agent.yaml index ac3c414a6fef..8e2037e3d471 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_user_agent.yaml @@ -6,15 +6,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.09,"neutral":0.9,"negative":0.01},"offset":0,"length":22,"text":"I @@ -22,16 +22,16 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: d8a3ee55-eac4-4485-b2e1-1d5efbed8c3d + apim-request-id: 1f75b6dc-8c72-44ec-abf7-9b965b555f34 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '206' + x-envoy-upstream-service-time: '93' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_dont_use_language_hint.yaml index 2ed04390cc88..8b01bd1131ae 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_dont_use_language_hint.yaml @@ -6,15 +6,15 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '273' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":33,"text":"This @@ -23,16 +23,16 @@ interactions: was too expensive."}],"warnings":[]},{"id":"2","sentiment":"negative","confidenceScores":{"positive":0.01,"neutral":0.0,"negative":0.99},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.01,"neutral":0.0,"negative":0.99},"offset":0,"length":42,"text":"The restaurant was not as good as I hoped."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 0f770871-909a-48b1-8774-522ada8af602 + apim-request-id: 8ca7b602-185a-4c3d-bda3-7a6df0b50602 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '154' + x-envoy-upstream-service-time: '142' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint.yaml index 1e25d8781f0e..fb6706f0f7e5 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint.yaml @@ -6,15 +6,15 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '279' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","sentiment":"neutral","confidenceScores":{"positive":0.07,"neutral":0.93,"negative":0.0},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.07,"neutral":0.93,"negative":0.0},"offset":0,"length":33,"text":"This @@ -23,16 +23,16 @@ interactions: was too expensive."}],"warnings":[]},{"id":"2","sentiment":"negative","confidenceScores":{"positive":0.01,"neutral":0.32,"negative":0.67},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.01,"neutral":0.32,"negative":0.67},"offset":0,"length":42,"text":"The restaurant was not as good as I hoped."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 99e05f2b-dce3-4127-b1ef-a526ca59e311 + apim-request-id: cf587f29-d57b-4179-a0b0-e9ee079f2ef4 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:56 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '89' + x-envoy-upstream-service-time: '85' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_dict_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_dict_input.yaml index f3fb54dbaed3..4fa698da4c25 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_dict_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_dict_input.yaml @@ -6,15 +6,15 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"offset":0,"length":22,"text":"I @@ -22,16 +22,16 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":0.97,"neutral":0.02,"negative":0.01},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":0.97,"neutral":0.02,"negative":0.01},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: c13e5370-bfb7-4ede-b734-d592c3839fa7 + apim-request-id: bfe5deb1-9368-4d81-bf53-6173e171bc48 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:31:55 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '112' + x-envoy-upstream-service-time: '129' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index 968bfb0d6898..415643da22d9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,15 +6,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.04,"neutral":0.95,"negative":0.01},"offset":0,"length":22,"text":"I @@ -22,16 +22,16 @@ interactions: did not like the hotel we stayed at."}],"warnings":[]},{"id":"3","sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"sentences":[{"sentiment":"positive","confidenceScores":{"positive":1.0,"neutral":0.0,"negative":0.0},"offset":0,"length":36,"text":"The restaurant had really good food."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 8f86473f-9f4f-4d65-ae7f-1cb7eb91ce5f + apim-request-id: 75cde431-f4de-4e6c-85fb-578e3966d7c1 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:43 GMT + date: Thu, 27 Aug 2020 19:31:56 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '124' + x-envoy-upstream-service-time: '97' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_obj_input.yaml index 315edcfe68ca..6b8c5e1ac284 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,15 +6,15 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: "{\"documents\":[{\"id\":\"1\",\"sentiment\":\"neutral\",\"confidenceScores\"\ @@ -32,16 +32,16 @@ interactions: :0.06},\"offset\":0,\"length\":4,\"text\":\"\u732B\u306F\u5E78\u305B\"}],\"\ warnings\":[]}],\"errors\":[],\"modelVersion\":\"2020-04-01\"}" headers: - apim-request-id: 7344de7f-c20e-4596-b24c-a2c46c4ea626 + apim-request-id: da1b5a7a-2a72-4f05-a147-e7adf78a204e content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '95' + x-envoy-upstream-service-time: '100' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index 9d6a5d77de4a..2928d19fb199 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_sentiment_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,15 +6,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: "{\"documents\":[{\"id\":\"1\",\"sentiment\":\"neutral\",\"confidenceScores\"\ @@ -32,16 +32,16 @@ interactions: :0.06},\"offset\":0,\"length\":4,\"text\":\"\u732B\u306F\u5E78\u305B\"}],\"\ warnings\":[]}],\"errors\":[],\"modelVersion\":\"2020-04-01\"}" headers: - apim-request-id: d2f7eac7-9960-40c5-9abe-7b3129747861 + apim-request-id: 0bc86a5a-d395-4f5a-80e9-0c9125211838 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:44 GMT + date: Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '104' + x-envoy-upstream-service-time: '105' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/sentiment?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_all_successful_passing_dict.yaml index e40b226ed5e6..413ca2fd7455 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_all_successful_passing_dict.yaml @@ -7,7 +7,7 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,21 +17,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=true response: body: - string: '{"statistics":{"documentsCount":4,"validDocumentsCount":4,"erroneousDocumentsCount":0,"transactionsCount":4},"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"statistics":{"charactersCount":41,"transactionsCount":1},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"statistics":{"charactersCount":39,"transactionsCount":1},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"statistics":{"charactersCount":4,"transactionsCount":1},"warnings":[]},{"id":"4","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"statistics":{"charactersCount":46,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"statistics":{"documentsCount":4,"validDocumentsCount":4,"erroneousDocumentsCount":0,"transactionsCount":4},"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"statistics":{"charactersCount":41,"transactionsCount":1},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"statistics":{"charactersCount":39,"transactionsCount":1},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"statistics":{"charactersCount":4,"transactionsCount":1},"warnings":[]},{"id":"4","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"statistics":{"charactersCount":46,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - f3a405b3-2203-46c8-89e4-c653d1c3871e + - b794f09f-b90b-48a9-8d59-3e14cf28d987 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:55 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -39,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '15' + - '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_all_successful_passing_text_document_input.yaml index c01a78d6174b..616fd7b28c59 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_all_successful_passing_text_document_input.yaml @@ -7,7 +7,7 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,21 +17,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 7a822279-2ca3-40c2-ab92-b2509700678c + - c1834b44-790b-4968-b531-30fca46ee04b content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -39,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '8' + - '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_bad_credentials.yaml index e819484b395d..cf3b83688bfa 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_bad_credentials.yaml @@ -4,7 +4,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,7 +14,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:43 GMT + - Thu, 27 Aug 2020 19:32:02 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_bad_model_version_error.yaml index 3bad2e0ff64c..43d9910336af 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_bad_model_version_error.yaml @@ -4,7 +4,7 @@ interactions: at.", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?model-version=bad&showStats=false response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2019-10-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-07-01"}}}' headers: apim-request-id: - - e865b305-db0a-4054-aeb2-f4c7c169a499 + - 662fe0f3-89e7-425f-8a10-69bc78444264 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:43 GMT + - Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_batch_size_over_limit.yaml index 1bef5ab737f6..8450883e8ba9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_batch_size_over_limit.yaml @@ -753,7 +753,7 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -763,7 +763,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -772,11 +772,11 @@ interactions: request contains too many records. Max 1000 records are permitted."}}}' headers: apim-request-id: - - 59601596-fa31-44c9-82f4-e4e435eb248e + - 1cd62497-faae-4d8e-bc98-c7c6861ea8d9 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -784,7 +784,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '15' + - '12' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_batch_size_over_limit_error.yaml index 34fda7040f3b..292fbfe44af1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_batch_size_over_limit_error.yaml @@ -718,7 +718,7 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -728,7 +728,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -737,11 +737,11 @@ interactions: request contains too many records. Max 1000 records are permitted."}}}' headers: apim-request-id: - - cf658a6e-41c2-4324-bbce-1c98d6d6910f + - c2126ee0-a456-4616-9e0c-4b2b3a4ba68b content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:56 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_client_passed_default_country_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_client_passed_default_country_hint.yaml index 1d2d164fbc08..7fb8973907d2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_client_passed_default_country_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_client_passed_default_country_hint.yaml @@ -6,7 +6,7 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - a263b0ec-bd7f-46fc-b278-898936be3abf + - d702f4dd-744e-4d72-8bb9-658b85e79bec content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '15' + - '9' status: code: 200 message: OK @@ -49,7 +49,7 @@ interactions: "DE"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -59,21 +59,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - e0cd65c2-3d62-485b-85a3-72aa09bfe905 + - f1b3a7af-e71c-4f3d-a09a-f6a0ffffdd47 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -92,7 +92,7 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -102,21 +102,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - a22d55b3-a257-473b-b03e-84f66b7dd1aa + - 17985237-c877-4f08-a8c5-5ae58c777f71 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_country_hint_kwarg.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_country_hint_kwarg.yaml index 2ac6f96f9edb..d153811b9166 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_country_hint_kwarg.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_country_hint_kwarg.yaml @@ -4,7 +4,7 @@ interactions: "ES"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?model-version=latest&showStats=true response: body: - string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"statistics":{"charactersCount":26,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"statistics":{"charactersCount":26,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - dbf379af-a317-47f7-8cb9-508c45bf31d5 + - 0de01b35-808a-4fd9-9ffb-95dd305ee6ab content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_country_hint_none.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_country_hint_none.yaml index c2e8f3a37937..e0b801ce7534 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_country_hint_none.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_country_hint_none.yaml @@ -4,7 +4,7 @@ interactions: ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 4a730470-e0bf-46f2-95bb-e69de1dfbd2d + - 574f25d7-f91d-4930-be1a-62bac58ec2af content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '13' + - '6' status: code: 200 message: OK @@ -45,7 +45,7 @@ interactions: ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -55,21 +55,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - d46766e6-e8ee-466f-b0cb-5ca6766bd34a + - a2dfba17-883e-4220-a710-2810a9193dd5 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -77,7 +77,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '14' + - '7' status: code: 200 message: OK @@ -86,7 +86,7 @@ interactions: ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -96,21 +96,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 5f2451ba-29dd-4267-bba2-cadccc494974 + - 12e1201a-4492-4d8b-9ffe-4765653efe57 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -118,7 +118,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7' + - '6' status: code: 200 message: OK @@ -127,7 +127,7 @@ interactions: ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -137,21 +137,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 7eb6cdd5-9142-4a0b-8994-5bd77aea5742 + - fadba6e5-cec6-45e8-a2e1-62688bb6a9af content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -159,7 +159,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '14' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_attribute_error_no_result_attribute.yaml index 984b6a9e1bb1..6260de500f77 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_attribute_error_no_result_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,21 +13,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - e5596b4f-83b8-48fa-8b65-3eb34fe41c2a + - cbaed1d1-a964-45f7-b7df-b4caad22816a content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '1' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_attribute_error_nonexistent_attribute.yaml index 43c74a00b0eb..069485d55329 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,21 +13,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - a013ede2-7c6a-4fc4-80d0-bf5c1b00a841 + - cd32356e-7077-4d5d-9057-759f56d6be3a content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '1' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_errors.yaml index 2205a1d99025..12f5379d8c8c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_errors.yaml @@ -5,7 +5,7 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,7 +15,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -26,14 +26,14 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations - see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2019-10-01"}' + see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - acb47440-95c7-4b54-a0fe-dc941d8ec512 + - 4696c086-461e-408c-9781-e939d6d38f41 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '3' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_warnings.yaml index 1f86206274ec..77cd525a7dbf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_document_warnings.yaml @@ -4,7 +4,7 @@ interactions: :''(", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - a9b4bb8e-4e7d-46c2-bfd9-54e8d12b0b21 + - 33c3bd5e-8e5e-46b0-b739-1335de6b23d1 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '17' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_duplicate_ids_error.yaml index 0403f5d51666..064ae6c2ff2a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_duplicate_ids_error.yaml @@ -5,7 +5,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,7 +15,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -24,11 +24,11 @@ interactions: contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: apim-request-id: - - 3b4b92b3-ee37-44f4-a585-5f35267a0f77 + - 130129bf-0805-46cf-adb8-8d06c703dc31 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '4' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_empty_credential_class.yaml index 635df607cab8..b5f2564164a1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_empty_credential_class.yaml @@ -4,7 +4,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,7 +14,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:04 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_input_with_all_errors.yaml index 1ad1c6ba2f4c..03e8ea8c2685 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_input_with_all_errors.yaml @@ -6,7 +6,7 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,7 +16,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -31,14 +31,14 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations - see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2019-10-01"}' + see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - b1d46a45-3d64-4ae5-a1e6-3a217b055c20 + - 927d8622-6c72-42ce-8b20-9aa68e7878fb content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_input_with_some_errors.yaml index 2981492b7f67..843d29357508 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_input_with_some_errors.yaml @@ -7,7 +7,7 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,7 +17,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -27,16 +27,16 @@ interactions: hint is not valid. Please specify an ISO 3166-1 alpha-2 two letter country code."}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text - is empty."}}}],"modelVersion":"2019-10-01"}' + is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 63384771-382a-46d9-bbd8-389ae19b218c + - dfe843d2-6cb2-490d-b3ee-ea4044ceb60d content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=2 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_invalid_country_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_invalid_country_hint_docs.yaml index f6eecbe40c6c..21fea61aefe0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_invalid_country_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_invalid_country_hint_docs.yaml @@ -4,7 +4,7 @@ interactions: States"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,7 +14,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -22,14 +22,14 @@ interactions: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Country Hint.","innererror":{"code":"InvalidCountryHint","message":"Country hint is not valid. Please specify an ISO 3166-1 alpha-2 two letter country - code."}}}],"modelVersion":"2019-10-01"}' + code."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 19265f5b-cfac-4376-b6c3-f435474d4f06 + - b2031517-3e5c-4fe7-a766-d6a911d3188f content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_invalid_country_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_invalid_country_hint_method.yaml index b9c006eab882..f4a2d0d3fca6 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_invalid_country_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_invalid_country_hint_method.yaml @@ -4,7 +4,7 @@ interactions: States"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,7 +14,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -22,14 +22,14 @@ interactions: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Country Hint.","innererror":{"code":"InvalidCountryHint","message":"Country hint is not valid. Please specify an ISO 3166-1 alpha-2 two letter country - code."}}}],"modelVersion":"2019-10-01"}' + code."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 704de4ad-a062-4a59-9706-61114f611145 + - 8a655c6a-114c-4b23-9e2f-a523d57b3158 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_out_of_order_ids.yaml index 13ec20b9d837..9f88acfe4a93 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_out_of_order_ids.yaml @@ -6,7 +6,7 @@ interactions: ":D", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: string: '{"documents":[{"id":"56","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"warnings":[]},{"id":"0","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"warnings":[]},{"id":"19","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 8194be8f-2284-436d-b878-711535e0fa48 + - a5e65b29-6bf5-4c88-b729-e7615f51eb5d content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:31:57 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_output_same_order_as_input.yaml index 697f8e93e56b..f8666a65bbf8 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_output_same_order_as_input.yaml @@ -6,7 +6,7 @@ interactions: "five", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"5","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":0.99},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"5","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 7acba81f-4af2-45a2-9cbb-89d9623c95db + - 37e34da8-a0f3-47fc-9d02-6feb3b85008c content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=5 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '8' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_pass_cls.yaml index 0fa211fb6af2..555c2d3b6355 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_pass_cls.yaml @@ -4,7 +4,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 323f2cbb-f92b-488a-ae2a-1902d4673096 + - 215e40db-beb1-450e-bcf4-849b9c657774 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '9' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_passing_only_string.yaml index 88d5a03efbd0..beceb34ea79f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_passing_only_string.yaml @@ -7,7 +7,7 @@ interactions: "countryHint": "US"}, {"id": "4", "text": "", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,23 +17,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"warnings":[]}],"errors":[{"id":"4","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 9fcc3c4e-c0ab-4c43-8fe2-3ea7c1f1d9e4 + - ec1fa4ee-aff6-4803-9469-72bdf3506308 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '8' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_per_item_dont_use_country_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_per_item_dont_use_country_hint.yaml index a6d38f7c1519..ff61c3c3c615 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_per_item_dont_use_country_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_per_item_dont_use_country_hint.yaml @@ -6,7 +6,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 28b1bff6-586e-4618-8898-7dd8c41a565f + - edb01c81-a584-438b-a390-637ee8d671f2 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '10' + - '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_rotate_subscription_key.yaml index 575e422b805b..d894c940a68b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_rotate_subscription_key.yaml @@ -6,7 +6,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - dcf16c34-b2e1-4cba-af06-7f1025e14f0f + - e2f0d114-26da-4c7e-9582-45ce4bb9d416 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7' + - '8' status: code: 200 message: OK @@ -49,7 +49,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -59,7 +59,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -71,7 +71,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:58 GMT status: code: 401 message: PermissionDenied @@ -82,7 +82,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -92,21 +92,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - d91407e8-405e-421b-9e77-ac2a6c7c1b5f + - 005b6d95-e9d5-4f62-8f19-ac6b15e34963 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -114,7 +114,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_show_stats_and_model_version.yaml index a48a1f763653..3f126a7bf928 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_show_stats_and_model_version.yaml @@ -6,7 +6,7 @@ interactions: ":D", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?model-version=latest&showStats=true response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"0","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"19","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"1","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - b885ec99-9c84-406c-ae5a-89730c9b6ba2 + - 75eea94a-cb81-4736-b994-2595d4860438 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..4e517e091392 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,43 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "countryHint": + "US"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '78' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/languages?showStats=false + response: + body: + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - a80b8f71-b9f5-4cca-b0f0-dd3509d38184 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Thu, 27 Aug 2020 19:31:59 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '8' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_user_agent.yaml index 1eb950111f5e..4e4a5a942cce 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_user_agent.yaml @@ -6,7 +6,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - e7b82277-8276-4ee8-bd8f-5420c531dae8 + - 9a255115-7d5e-41a6-8bd4-38fd92186da1 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '6' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint.yaml index 4120c358d34b..2ce5a214fe94 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "countryHint": "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - c8cae5a2-898c-4320-b2e4-5a3e1f343734 + - a68cd071-2c87-4175-b6d7-c5f4a23828ac content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7' + - '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_dict_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_dict_input.yaml index f2cbae68f52b..2c2586c5e1fa 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_dict_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_dict_input.yaml @@ -6,7 +6,7 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 82e09fb7-977c-459e-ab06-f646f0b759f8 + - 8bbfa1b3-0edc-4ce6-8d4c-fe19b1ce12af content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '9' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_dict_per_item_hints.yaml index 8fc790defee3..5f7c804ddec2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_dict_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 26a25701-f156-4ece-8d4b-4a452664b21f + - 88349785-5df8-44fa-a181-18a0b80e9caa content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '6' + - '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_obj_input.yaml index 8638ba6a71ed..52b2763b2ab1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_obj_input.yaml @@ -6,7 +6,7 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 44c91ebc-9e7b-4107-b492-e6811a25c461 + - 4633b63b-0dde-47b7-baf8-3b70667a572e content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '26' + - '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_obj_per_item_hints.yaml index b3c627bb7c18..82f5675ee426 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_country_hint_and_obj_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 8cda4b5a-8838-4244-9f81-3173b3fbd257 + - 50641556-4312-44bd-8618-6a83abd333b9 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:44 GMT + - Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '8' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_dont_use_country_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_dont_use_country_hint.yaml index a86542113bde..0290aec562c8 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_dont_use_country_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language.test_whole_batch_dont_use_country_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "countryHint": ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 7c9531b7-b9ef-4acb-9fe7-d7b88725e022 + - c3ed3df9-3d3e-4e05-a4c6-75d16d636730 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:45 GMT + - Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '6' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_all_successful_passing_dict.yaml index 63898d6ce2c0..f978983f540f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_all_successful_passing_dict.yaml @@ -7,23 +7,23 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '354' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=true response: body: - string: '{"statistics":{"documentsCount":4,"validDocumentsCount":4,"erroneousDocumentsCount":0,"transactionsCount":4},"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"statistics":{"charactersCount":41,"transactionsCount":1},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"statistics":{"charactersCount":39,"transactionsCount":1},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"statistics":{"charactersCount":4,"transactionsCount":1},"warnings":[]},{"id":"4","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"statistics":{"charactersCount":46,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"statistics":{"documentsCount":4,"validDocumentsCount":4,"erroneousDocumentsCount":0,"transactionsCount":4},"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"statistics":{"charactersCount":41,"transactionsCount":1},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"statistics":{"charactersCount":39,"transactionsCount":1},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"statistics":{"charactersCount":4,"transactionsCount":1},"warnings":[]},{"id":"4","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"statistics":{"charactersCount":46,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: d94f0fbd-be40-42ff-bed6-b965ea7be8b6 + apim-request-id: 7aeb9fbb-d4ea-4a80-ae62-43f377feb380 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_all_successful_passing_text_document_input.yaml index 0b50ac6bbb8e..1d703deeb6c0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_all_successful_passing_text_document_input.yaml @@ -7,27 +7,27 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '353' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 107b426b-0380-4176-889b-d0e3c12ff24c + apim-request-id: d9e09905-f4b2-4199-8fab-45e7ee67f427 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '9' + x-envoy-upstream-service-time: '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_bad_credentials.yaml index 96b847d8e76e..f4d501ce7081 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_bad_credentials.yaml @@ -4,13 +4,13 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '88' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -20,7 +20,7 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:32:02 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_bad_model_version_error.yaml index 657a367ac066..37b3f0f011b9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_bad_model_version_error.yaml @@ -4,27 +4,27 @@ interactions: at.", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '99' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?model-version=bad&showStats=false response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2019-10-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-07-01"}}}' headers: - apim-request-id: 8fb49529-a052-4607-bbd7-67a89128744d + apim-request-id: 62bf884f-77d6-413e-aad4-73b564771f64 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '5' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_batch_size_over_limit.yaml index c2f2f4445da8..1a822d687bcc 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_batch_size_over_limit.yaml @@ -753,13 +753,13 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '61905' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -767,9 +767,9 @@ interactions: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 1000 records are permitted."}}}' headers: - apim-request-id: c6e185a9-5654-4b2d-a6a7-3e79b7200910 + apim-request-id: fee37e90-f484-476e-9992-dda2fc14d609 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_batch_size_over_limit_error.yaml index 86ee553acfd6..deac8a474bb3 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_batch_size_over_limit_error.yaml @@ -718,13 +718,13 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58965' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -732,13 +732,13 @@ interactions: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 1000 records are permitted."}}}' headers: - apim-request-id: 00a77b36-500c-434e-baa9-307c4a111d2d + apim-request-id: 97679993-3112-48f9-83a1-470cd18cd1d5 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '13' + x-envoy-upstream-service-time: '11' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_client_passed_default_country_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_client_passed_default_country_hint.yaml index 659b2fbeef94..2700198dc722 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_client_passed_default_country_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_client_passed_default_country_hint.yaml @@ -6,27 +6,27 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 953e3a4e-b259-4c71-9a07-67e4e6cb4365 + apim-request-id: 59eb7cc9-5846-4bd8-9fe7-80d6683f00a6 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '8' status: code: 200 message: OK @@ -38,27 +38,27 @@ interactions: "DE"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 6dce5c9c-113c-4bd3-9e36-0f64bb4ed770 + apim-request-id: f5108d21-7671-48ac-a455-50b06266c5be content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '8' + x-envoy-upstream-service-time: '9' status: code: 200 message: OK @@ -70,27 +70,27 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e3c0cf99-3a02-44d8-a2d7-654a95bfe0a2 + apim-request-id: 4d836c07-c4b2-4294-8a2d-a4f45af260e8 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_country_hint_kwarg.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_country_hint_kwarg.yaml index 318eb84741b5..3a008f4772c1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_country_hint_kwarg.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_country_hint_kwarg.yaml @@ -4,23 +4,23 @@ interactions: "ES"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '87' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?model-version=latest&showStats=true response: body: - string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"statistics":{"charactersCount":26,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"statistics":{"charactersCount":26,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 6143cb65-5cdf-4334-a8fe-0712449a3d4d + apim-request-id: 225331b8-8f31-4e9e-b96b-748641b9b6fd content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_country_hint_none.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_country_hint_none.yaml index 19b21ffc79da..7da034149bcd 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_country_hint_none.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_country_hint_none.yaml @@ -4,23 +4,23 @@ interactions: ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '86' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 95a96846-394d-42e5-966a-21b64f1580d3 + apim-request-id: 0037af8b-5d96-48fb-9f3d-26e59c77df4f content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -34,23 +34,23 @@ interactions: ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '86' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 3a06cf6b-0f7e-4bab-8c7b-70d0252c2340 + apim-request-id: 9f69be65-94d7-41ce-ad22-0af61b36a22c content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -64,27 +64,27 @@ interactions: ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 402c2b36-368d-4dc0-ab58-750bba36d03f + apim-request-id: ed504e74-9fec-48e8-ac52-a86f8892198f content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:31:58 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '7' status: code: 200 message: OK @@ -94,23 +94,23 @@ interactions: ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 434c280f-c230-4f1f-8487-e662af1c0644 + apim-request-id: 9a323d32-d072-48fd-8367-ef4ad6870e82 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_attribute_error_no_result_attribute.yaml index 7ba981192239..88865599d15f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_attribute_error_no_result_attribute.yaml @@ -3,24 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '61' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 0554e944-c14e-4a8f-a1b3-ebf8b6f9b358 + apim-request-id: d5a472b6-1edc-4599-8821-e49478df5508 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_attribute_error_nonexistent_attribute.yaml index 270eaa7a54a8..13cd5c4fd473 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,24 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '61' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 2d0972f1-9c05-4171-a6b1-bb5dc1cb2bba + apim-request-id: 029b28d2-cc40-4a34-959d-42b9c294771c content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_errors.yaml index 2a93dc403995..700e5edba873 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_errors.yaml @@ -5,13 +5,13 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '5228' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -22,11 +22,11 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations - see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2019-10-01"}' + see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 0546eff8-748b-4af5-a8f3-8e6d7b5c0c7d + apim-request-id: ede6d4ca-785a-486a-9dc5-98dd9ddf49a7 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_warnings.yaml index 70f18ef11454..3492dec96410 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_document_warnings.yaml @@ -4,27 +4,27 @@ interactions: :''(", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '101' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: af357aca-1a06-4cea-bcb9-e3d46a068965 + apim-request-id: dc8ec15d-37a9-4721-8893-f7c40ee19c60 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '5' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_duplicate_ids_error.yaml index 7a19130126a9..8def0b727f93 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_duplicate_ids_error.yaml @@ -5,13 +5,13 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '156' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -19,9 +19,9 @@ interactions: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: - apim-request-id: 8eb45a08-cafe-4a18-bf95-1ebbb4c20441 + apim-request-id: 521d96d9-27de-406c-8f44-86116d5f8df8 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_empty_credential_class.yaml index 165c5b8e8a7f..078bbe69888c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_empty_credential_class.yaml @@ -4,13 +4,13 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '88' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -20,7 +20,7 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_input_with_all_errors.yaml index 586e2c97efc6..7e63a6326570 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_input_with_all_errors.yaml @@ -6,13 +6,13 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '5320' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -27,11 +27,11 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations - see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2019-10-01"}' + see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: fca43c30-c24b-4707-b788-64eedc0658da + apim-request-id: 93b02a6d-c74a-4d2c-bec6-580ab871a0ff content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:44 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_input_with_some_errors.yaml index 2dfcc26980ee..3f305c975d13 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_input_with_some_errors.yaml @@ -7,13 +7,13 @@ interactions: "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '341' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -23,16 +23,16 @@ interactions: hint is not valid. Please specify an ISO 3166-1 alpha-2 two letter country code."}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text - is empty."}}}],"modelVersion":"2019-10-01"}' + is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 46640073-4a4d-437a-8502-6436ddc59e2b + apim-request-id: 9ba14560-a138-4864-bbae-c29b4f6fb98f content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=2 - date: Fri, 24 Jul 2020 16:32:44 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '9' + x-envoy-upstream-service-time: '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_invalid_country_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_invalid_country_hint_docs.yaml index 341a6ec9d24d..ff939534669f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_invalid_country_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_invalid_country_hint_docs.yaml @@ -4,13 +4,13 @@ interactions: States"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '83' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -18,15 +18,15 @@ interactions: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Country Hint.","innererror":{"code":"InvalidCountryHint","message":"Country hint is not valid. Please specify an ISO 3166-1 alpha-2 two letter country - code."}}}],"modelVersion":"2019-10-01"}' + code."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e4ad770a-7a0e-455c-bedf-514223112e62 + apim-request-id: a54910c4-d980-4ae9-a3f6-80b95aa34534 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:44 GMT + date: Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '2' + x-envoy-upstream-service-time: '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_invalid_country_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_invalid_country_hint_method.yaml index aaee341861d2..75bd37f50092 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_invalid_country_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_invalid_country_hint_method.yaml @@ -4,13 +4,13 @@ interactions: States"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '83' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -18,15 +18,15 @@ interactions: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Country Hint.","innererror":{"code":"InvalidCountryHint","message":"Country hint is not valid. Please specify an ISO 3166-1 alpha-2 two letter country - code."}}}],"modelVersion":"2019-10-01"}' + code."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 453f65f8-a508-4786-aa17-51ea1572d655 + apim-request-id: 94eb9023-1437-499c-ab58-04eca171745f content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:02 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '3' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_out_of_order_ids.yaml index 94302c744d7e..3d1a15cecbd2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_out_of_order_ids.yaml @@ -6,29 +6,29 @@ interactions: ":D", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '256' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: string: '{"documents":[{"id":"56","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"warnings":[]},{"id":"0","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"warnings":[]},{"id":"19","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: efd59133-9888-4938-b865-3bbfb894cb57 + apim-request-id: 6f66098d-ff9a-4ef5-8feb-79e1d4d56db6 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_output_same_order_as_input.yaml index 14bd8b474e8d..0fba57b36e7f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_output_same_order_as_input.yaml @@ -6,27 +6,27 @@ interactions: "five", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '264' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"5","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":0.99},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"5","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 566ba137-d50b-4e9c-af1c-68fade3ee438 + apim-request-id: 56bd9bb6-7488-41a3-bcf2-f232ba40615e content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=5 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_pass_cls.yaml index e6ecd56442e9..3c54f8838322 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_pass_cls.yaml @@ -4,27 +4,27 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '89' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e5129bae-469f-41a2-bc8f-2a74718a640f + apim-request-id: 75c58116-303f-44c7-9e51-3ab6643858e2 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '8' + x-envoy-upstream-service-time: '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_passing_only_string.yaml index 03e233da9e79..4660f4d7db53 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_passing_only_string.yaml @@ -7,29 +7,29 @@ interactions: "countryHint": "US"}, {"id": "4", "text": "", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '400' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"German","iso6391Name":"de","confidenceScore":1.0},"warnings":[]}],"errors":[{"id":"4","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: fa0ec23e-1bc1-41ca-8d06-fa4096707af9 + apim-request-id: 06f0c8cd-a589-4681-b91c-2dc62a11a47c content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '8' + x-envoy-upstream-service-time: '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_per_item_dont_use_country_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_per_item_dont_use_country_hint.yaml index 7a5ff9103970..5a50284383e8 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_per_item_dont_use_country_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_per_item_dont_use_country_hint.yaml @@ -6,27 +6,27 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '245' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 33359a13-be2b-41eb-bdd0-5e62ba465326 + apim-request-id: d351a823-0b38-4e64-8ec1-59e9220265af content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_rotate_subscription_key.yaml index 7d6795d9b36f..68e397ce8399 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_rotate_subscription_key.yaml @@ -6,27 +6,27 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e5259fef-6a15-483f-987c-02841de95064 + apim-request-id: 44a64bdb-8d97-4b2f-bae4-12783dfd5683 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '9' + x-envoy-upstream-service-time: '7' status: code: 200 message: OK @@ -38,13 +38,13 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: @@ -54,7 +54,7 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT status: code: 401 message: PermissionDenied @@ -66,23 +66,23 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 7c866ffa-9002-44d1-b5af-0f9f5806b5de + apim-request-id: 5a16ef2b-475f-435d-af7c-2ff7b3ba8ea6 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_show_stats_and_model_version.yaml index 537e41983b4f..dcdc20b8daf4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_show_stats_and_model_version.yaml @@ -6,25 +6,25 @@ interactions: ":D", "countryHint": "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '256' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?model-version=latest&showStats=true response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"0","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"19","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"1","detectedLanguage":{"name":"(Unknown)","iso6391Name":"(Unknown)","confidenceScore":0.0},"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 659acbc9-62e9-4685-9a80-555c2e4aa6bd + apim-request-id: 29c7fe41-5ef7-4c99-926e-b6792bc0f955 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:31:59 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..ffe37cfe28b9 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,32 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "countryHint": + "US"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '78' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/languages?showStats=false + response: + body: + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 47af96c0-79c3-4c15-a512-c04846d22165 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Thu, 27 Aug 2020 19:32:00 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '7' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.0/languages?showStats=false +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_user_agent.yaml index 251fbda17f82..394c72cee91a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_user_agent.yaml @@ -6,27 +6,27 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 221b50d8-3ed8-42ea-be97-08eca6cd869a + apim-request-id: bf520109-b746-4465-a51c-b4c33b7662c1 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '10' + x-envoy-upstream-service-time: '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint.yaml index a4f8d277a6cf..8fef2c95010e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint.yaml @@ -6,27 +6,27 @@ interactions: was not as good as I hoped.", "countryHint": "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '288' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: eec8dafd-4162-4eab-a1d4-dcd948c67559 + apim-request-id: 078d9ac2-8eab-40c7-ad87-f51f3ee47850 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:32:00 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_dict_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_dict_input.yaml index 4e40f9a88329..3c296c4cbf51 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_dict_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_dict_input.yaml @@ -6,27 +6,27 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: cd3971ab-59dd-4ff7-9ce9-1d018861b070 + apim-request-id: 7d01f61d-a73f-472f-9355-804d93dd353a content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:45 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '15' + x-envoy-upstream-service-time: '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_dict_per_item_hints.yaml index 93391c2bf70c..0d96814f85ab 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_dict_per_item_hints.yaml @@ -6,27 +6,27 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 2f6bc694-d58e-4e53-80ea-52b4d0b06065 + apim-request-id: 24db7660-800e-4838-b722-7ff432fe5db0 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '8' + x-envoy-upstream-service-time: '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_obj_input.yaml index 0bd48495a316..960ceb04a02f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_obj_input.yaml @@ -6,23 +6,23 @@ interactions: "CA"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '262' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 1712442a-1b0d-4ee1-ae42-c4851e9dcbea + apim-request-id: 6023081f-d74f-4f6d-a0b0-90b53fcaf16d content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:46 GMT + date: Thu, 27 Aug 2020 19:32:01 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_obj_per_item_hints.yaml index b0c6dab20fbf..b295aac8e201 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_country_hint_and_obj_per_item_hints.yaml @@ -6,23 +6,23 @@ interactions: "US"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '262' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"4","detectedLanguage":{"name":"Spanish","iso6391Name":"es","confidenceScore":1.0},"warnings":[]},{"id":"3","detectedLanguage":{"name":"Japanese","iso6391Name":"ja","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 3835547e-2543-47e5-8ab7-06f610de2366 + apim-request-id: f600c3ad-6936-4d61-8504-c585dee89dd8 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_dont_use_country_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_dont_use_country_hint.yaml index 3a67ae1e2d8d..e1a7261b5c0b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_dont_use_country_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_detect_language_async.test_whole_batch_dont_use_country_hint.yaml @@ -6,23 +6,23 @@ interactions: was not as good as I hoped.", "countryHint": ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '282' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/languages?showStats=false response: body: - string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"1","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]},{"id":"2","detectedLanguage":{"name":"English","iso6391Name":"en","confidenceScore":1.0},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 88426c3b-36c1-4832-8f78-da90b1110622 + apim-request-id: a4530c89-b739-4b50-a2cc-ee213f0210df content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_diacritics_nfc.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_diacritics_nfc.yaml new file mode 100644 index 000000000000..2f87f0a1e062 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_diacritics_nfc.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "a\u00f1o SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '83' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":9,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - b7b05bef-1c1e-4c6b-a8bf-84c3a401c6b1 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Fri, 28 Aug 2020 16:54:37 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '64' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_diacritics_nfd.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_diacritics_nfd.yaml new file mode 100644 index 000000000000..322c441042fc --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_diacritics_nfd.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "an\u0303o SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '84' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 097b0d6d-4a0b-42eb-894f-a40c40898515 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Fri, 28 Aug 2020 16:54:37 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '65' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_length_with_emoji.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji.yaml similarity index 78% rename from sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_length_with_emoji.yaml rename to sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji.yaml index d6d1481df3b1..264581653029 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_length_with_emoji.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. Social Security Number (SSN)","offset":7,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 5adb2043-5e38-41ef-95e6-45e0813a92b5 + - 6ba0ba8d-5278-4118-838b-d9bcde8ff3bf content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Tue, 04 Aug 2020 22:02:53 GMT + - Fri, 28 Aug 2020 16:54:38 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '65' + - '63' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_family.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_family.yaml new file mode 100644 index 000000000000..7ac9fc554c7f --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_family.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67 + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '141' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":13,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 1e2551dd-a250-48b0-9467-5794386c268e + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Fri, 28 Aug 2020 16:54:37 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '77' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_family_with_skin_tone_modifier.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_family_with_skin_tone_modifier.yaml new file mode 100644 index 000000000000..3c7f8df55410 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_family_with_skin_tone_modifier.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\ud83c\udffb\u200d\ud83d\udc69\ud83c\udffd\u200d\ud83d\udc67\ud83c\udffe\u200d\ud83d\udc66\ud83c\udfff + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '189' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":17,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - d6fc0237-d843-48af-84f8-2b9797cdb70a + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Fri, 28 Aug 2020 16:54:38 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '66' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_with_skin_tone_modifier.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_with_skin_tone_modifier.yaml new file mode 100644 index 000000000000..b7a4a06293c3 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_emoji_with_skin_tone_modifier.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\ud83c\udffb SSN: 859-98-0987", + "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '99' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 1e4fc8d1-3655-46f6-b901-40d6d845adf9 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Fri, 28 Aug 2020 16:54:39 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '69' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_korean_nfc.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_korean_nfc.yaml new file mode 100644 index 000000000000..2c0106690aee --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_korean_nfc.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\uc544\uac00 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 8a681705-efe1-45e4-a9d5-d94ed8b4180d + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Fri, 28 Aug 2020 16:54:39 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '90' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_korean_nfd.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_korean_nfd.yaml new file mode 100644 index 000000000000..8b35e48eb354 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_korean_nfd.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\uc544\uac00 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 3f67ef37-e3ff-40d7-8f4c-a6cb5e47814a + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Fri, 28 Aug 2020 16:54:40 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '62' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_zalgo_text.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_zalgo_text.yaml new file mode 100644 index 000000000000..e1bea5c14033 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding.test_zalgo_text.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "o\u0335\u0308\u0307\u0312\u0303\u034b\u0307\u0305\u035b\u030b\u035b\u030e\u0341\u0351\u0304\u0310\u0302\u030e\u031b\u0357\u035d\u0333\u0318\u0318\u0355\u0354\u0355\u0327\u032d\u0327\u031f\u0319\u034e\u0348\u031e\u0322\u0354m\u0335\u035d\u0315\u0304\u030f\u0360\u034c\u0302\u0311\u033d\u034d\u0349\u0317g\u0335\u030b\u0352\u0344\u0360\u0313\u0312\u0308\u030d\u030c\u0343\u0305\u0351\u0312\u0343\u0305\u0305\u0352\u033f\u030f\u0301\u0357\u0300\u0307\u035b\u030f\u0300\u031b\u0344\u0300\u030a\u033e\u0340\u035d\u0314\u0349\u0322\u031e\u0321\u032f\u0320\u0324\u0323\u0355\u0322\u031f\u032b\u032b\u033c\u0330\u0353\u0345\u0321\u0328\u0326\u0321\u0356\u035c\u0327\u0323\u0323\u034e + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '750' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":121,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 086748cd-3c3a-4a96-8ff5-54a18ee1da31 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Fri, 28 Aug 2020 16:54:40 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '105' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_diacritics_nfc.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_diacritics_nfc.yaml new file mode 100644 index 000000000000..44c2db3f0fbc --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_diacritics_nfc.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "a\u00f1o SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '83' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":9,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: c1e06ef5-99e6-4dbb-98b5-49c393850029 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Fri, 28 Aug 2020 16:55:26 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '70' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_diacritics_nfd.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_diacritics_nfd.yaml new file mode 100644 index 000000000000..1034262b85ca --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_diacritics_nfd.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "an\u0303o SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '84' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 67e2e849-6c82-4e45-bf6c-9d2d0c8fb9c1 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Fri, 28 Aug 2020 16:55:27 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '76' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_length_with_emoji.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji.yaml similarity index 68% rename from sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_length_with_emoji.yaml rename to sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji.yaml index 002d22e7cd3e..4c54a3669013 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_length_with_emoji.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji.yaml @@ -4,30 +4,30 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '87' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. Social Security Number (SSN)","offset":7,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 81958835-c65b-4944-8be5-3da9d1ba3f16 + apim-request-id: 2839f9cd-a984-4a35-93fc-04bf01a60278 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Tue, 04 Aug 2020 22:02:53 GMT + date: Fri, 28 Aug 2020 16:55:28 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '77' + x-envoy-upstream-service-time: '72' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_family.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_family.yaml new file mode 100644 index 000000000000..05531c4dbe14 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_family.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67 + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '141' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":13,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 205151ba-0a8f-487a-a739-8147ba8e26c2 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Fri, 28 Aug 2020 16:55:28 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '79' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_family_with_skin_tone_modifier.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_family_with_skin_tone_modifier.yaml new file mode 100644 index 000000000000..221a6307f04d --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_family_with_skin_tone_modifier.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\ud83c\udffb\u200d\ud83d\udc69\ud83c\udffd\u200d\ud83d\udc67\ud83c\udffe\u200d\ud83d\udc66\ud83c\udfff + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '189' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":17,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 8cc9f9b3-612c-436d-b612-c2d321e737f9 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Fri, 28 Aug 2020 16:55:28 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '73' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_with_skin_tone_modifier.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_with_skin_tone_modifier.yaml new file mode 100644 index 000000000000..dac51a3c746c --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_emoji_with_skin_tone_modifier.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\ud83c\udffb SSN: 859-98-0987", + "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '99' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 79412dc8-ab27-4391-8b4e-255a46b70825 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Fri, 28 Aug 2020 16:55:29 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '65' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_korean_nfc.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_korean_nfc.yaml new file mode 100644 index 000000000000..3e0a77bc08cb --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_korean_nfc.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\uc544\uac00 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 0cc02e64-ef60-422c-b902-2959e93e5e1e + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Fri, 28 Aug 2020 16:55:29 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '68' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_korean_nfd.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_korean_nfd.yaml new file mode 100644 index 000000000000..95bde5c16524 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_korean_nfd.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\uc544\uac00 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: b4367770-eedf-416b-b8ee-a5dd1361ac92 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Fri, 28 Aug 2020 16:55:29 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '70' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_zalgo_text.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_zalgo_text.yaml new file mode 100644 index 000000000000..d574bbb6eec6 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_encoding_async.test_zalgo_text.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "o\u0335\u0308\u0307\u0312\u0303\u034b\u0307\u0305\u035b\u030b\u035b\u030e\u0341\u0351\u0304\u0310\u0302\u030e\u031b\u0357\u035d\u0333\u0318\u0318\u0355\u0354\u0355\u0327\u032d\u0327\u031f\u0319\u034e\u0348\u031e\u0322\u0354m\u0335\u035d\u0315\u0304\u030f\u0360\u034c\u0302\u0311\u033d\u034d\u0349\u0317g\u0335\u030b\u0352\u0344\u0360\u0313\u0312\u0308\u030d\u030c\u0343\u0305\u0351\u0312\u0343\u0305\u0305\u0352\u033f\u030f\u0301\u0357\u0300\u0307\u035b\u030f\u0300\u031b\u0344\u0300\u030a\u033e\u0340\u035d\u0314\u0349\u0322\u031e\u0321\u032f\u0320\u0324\u0323\u0355\u0322\u031f\u032b\u032b\u033c\u0330\u0353\u0345\u0321\u0328\u0326\u0321\u0356\u035c\u0327\u0323\u0323\u034e + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '750' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":121,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 39bf984b-dcfd-45b9-ae83-e4d1fedebc73 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Fri, 28 Aug 2020 16:55:30 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '111' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_all_successful_passing_dict.yaml index 2c495c14818a..f6f2444cc22c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_all_successful_passing_dict.yaml @@ -5,7 +5,7 @@ interactions: por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,23 +15,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=true response: body: string: '{"statistics":{"documentsCount":2,"validDocumentsCount":2,"erroneousDocumentsCount":0,"transactionsCount":2},"documents":[{"id":"1","keyPhrases":["Bill Gates","Paul Allen","Microsoft"],"statistics":{"charactersCount":50,"transactionsCount":1},"warnings":[]},{"id":"2","keyPhrases":["Bill - Gates","Paul Allen","Microsoft"],"statistics":{"charactersCount":49,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + Gates","Paul Allen","Microsoft"],"statistics":{"charactersCount":49,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - a1dc5e5b-6b95-4fba-8c0f-72fa4b1fc8cf + - 8c809bfa-dfb7-4940-8f8a-d0a187dee764 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=2 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_all_successful_passing_text_document_input.yaml index f9945d6ddc85..1569790b733b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_all_successful_passing_text_document_input.yaml @@ -5,7 +5,7 @@ interactions: por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,22 +15,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["Bill Gates","Paul Allen","Microsoft"],"warnings":[]},{"id":"2","keyPhrases":["Bill - Gates","Paul Allen","Microsoft"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + Gates","Paul Allen","Microsoft"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 12f1524e-96a6-4bfa-b3be-a231085521e5 + - f91c579b-c63d-44ad-a2cc-27786bfdb06f content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=2 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '6' + - '14' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_bad_credentials.yaml index 0548ef9ceaa2..fdba609464e4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_bad_credentials.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,7 +14,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:32:03 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_bad_model_version_error.yaml index 7232fb03e2cf..ed3e47989f31 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_bad_model_version_error.yaml @@ -4,7 +4,7 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?model-version=bad&showStats=false response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2019-10-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-07-01"}}}' headers: apim-request-id: - - 7fdf22bd-feb4-4eb4-96ec-5dbdaba47725 + - 35230203-617a-499d-882b-69b5582c029f content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_batch_size_over_limit.yaml index f210131573f3..c040ca3ef458 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_batch_size_over_limit.yaml @@ -748,7 +748,7 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -758,20 +758,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 10 records are permitted."}}}' headers: apim-request-id: - - 508b2e5b-6400-4b8d-a9e5-99d3a80ef225 + - 765c9dcf-db9e-4391-a77e-8e4f8183aac5 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -779,7 +779,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '88' + - '11' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_batch_size_over_limit_error.yaml index fbc706fdee32..d4719673fd20 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_batch_size_over_limit_error.yaml @@ -713,7 +713,7 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -723,20 +723,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 10 records are permitted."}}}' headers: apim-request-id: - - b405b156-5759-48fe-aec9-9da3099f23bc + - 4fce46a8-a05c-4e0d-b10a-056e0d63f995 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -744,7 +744,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '28' + - '13' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_client_passed_default_language_hint.yaml index 6966617c9a8a..cda6e588f942 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_client_passed_default_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["the park","I will go"],"warnings":[]},{"id":"2","keyPhrases":["I did not like the hotel we stayed at"],"warnings":[]},{"id":"3","keyPhrases":["The - restaurant had really good food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + restaurant had really good food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 24393168-ca16-430e-aee9-2de400735e3c + - 8a7afaa7-8dab-40f2-856f-bbb2d03c45c7 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '8' status: code: 200 message: OK @@ -51,7 +51,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -61,22 +61,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - fb2f575c-9b11-49a0-8621-a95f3666b588 + - 3e2cdc27-5e43-4651-abe5-0e42ca083d68 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -84,7 +84,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '11' status: code: 200 message: OK @@ -95,7 +95,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -105,23 +105,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["the park","I will go"],"warnings":[]},{"id":"2","keyPhrases":["I did not like the hotel we stayed at"],"warnings":[]},{"id":"3","keyPhrases":["The - restaurant had really good food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + restaurant had really good food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 7aa045c3-3683-4d9c-8a8f-d21779493dd7 + - b3751022-8e82-474e-ab65-15604c0e9ffd content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_attribute_error_no_result_attribute.yaml index 815fe02f44f4..566cf263ce9c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_attribute_error_no_result_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,23 +13,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - bac7a530-8e51-487a-b285-90e68e599ba3 + - b5faefe5-0260-456d-94b3-c9f5714dc861 content-type: - application/json; charset=utf-8 - csp-billing-usage: - - CognitiveServices.TextAnalytics.BatchScoring=0 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '3' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_attribute_error_nonexistent_attribute.yaml index cb661c47d74d..4aa35b1244bf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,23 +13,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - eda65839-3f7c-4f65-b9ed-5b879c35221c + - ba2c1c33-7cfd-405f-a86e-41747a42f05a content-type: - application/json; charset=utf-8 - csp-billing-usage: - - CognitiveServices.TextAnalytics.BatchScoring=0 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '3' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_errors.yaml index 48432d780a0a..543eeae5055e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_errors.yaml @@ -6,7 +6,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,7 +16,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -25,20 +25,18 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations - see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2019-10-01"}' + see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - d6e92877-5f9c-4b01-b176-1147f3b903d5 + - 02f05987-1d24-48b1-8f3c-84f9857bd73c content-type: - application/json; charset=utf-8 - csp-billing-usage: - - CognitiveServices.TextAnalytics.BatchScoring=0 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -46,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_warnings.yaml index de00b99991ab..f997cc5e6001 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_document_warnings.yaml @@ -4,7 +4,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,23 +14,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["Thisisaveryveryverylongtextwhichgoesonforalongtimeandwhichalmost"],"warnings":[{"code":"LongWordsInDocument","message":"The document contains very long words (longer than 64 characters). These words - will be truncated and may result in unreliable model predictions."}]}],"errors":[],"modelVersion":"2019-10-01"}' + will be truncated and may result in unreliable model predictions."}]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 9db1eddc-bf89-4fe6-867a-f33ae45bcdf8 + - dd291596-55f6-432a-a98c-bd79ae69101f content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_duplicate_ids_error.yaml index 3cc8dde17dc4..9e8048f4d199 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_duplicate_ids_error.yaml @@ -4,7 +4,7 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,7 +14,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -23,11 +23,11 @@ interactions: contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: apim-request-id: - - 0e5ee702-318b-4dc2-aed2-0ce3491d6de4 + - 10e10210-ca39-4490-ae96-459f344ed8b0 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '115' + - '4' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_empty_credential_class.yaml index 6ad43a5093b7..d68bfe892a34 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_empty_credential_class.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,7 +14,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:04 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_input_with_all_errors.yaml index 6c7b4b4134f3..ea52f6f907fa 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_input_with_all_errors.yaml @@ -5,7 +5,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,25 +15,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 3f113b25-f3d0-4a67-b2b5-dcb8288cfb44 + - 74c5949f-4d41-4437-8364-fbb292b93de5 content-type: - application/json; charset=utf-8 - csp-billing-usage: - - CognitiveServices.TextAnalytics.BatchScoring=0 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_input_with_some_errors.yaml index 3516d4c89dd8..cc8258ede163 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_input_with_some_errors.yaml @@ -5,7 +5,7 @@ interactions: fundado por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,23 +15,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"2","keyPhrases":["Bill Gates","Paul Allen","Microsoft"],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}}],"modelVersion":"2019-10-01"}' + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 30a860fe-3391-4efe-95f8-0f6646540be6 + - 34c0d335-a14e-4cc8-965a-451d0d93df60 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -39,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_invalid_language_hint_docs.yaml index 72263bd6365a..c577efe592f2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_invalid_language_hint_docs.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,23 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}}],"modelVersion":"2019-10-01"}' + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - f8f1d7bf-d734-472f-97e2-f247a51e7f13 + - ae0efed4-0635-4804-80c9-189b4a8b9e67 content-type: - application/json; charset=utf-8 - csp-billing-usage: - - CognitiveServices.TextAnalytics.BatchScoring=0 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_invalid_language_hint_method.yaml index 8ef63985d834..3f0985fb2ff3 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_invalid_language_hint_method.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,23 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}}],"modelVersion":"2019-10-01"}' + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - d68bc80b-dc0c-4786-9bb8-fd9fbf4b8560 + - a765f7bd-3f35-4288-962f-c24887183a55 content-type: - application/json; charset=utf-8 - csp-billing-usage: - - CognitiveServices.TextAnalytics.BatchScoring=0 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '3' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_language_kwarg_spanish.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_language_kwarg_spanish.yaml index 086c9ddbdebc..305e78dc1c55 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_language_kwarg_spanish.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_language_kwarg_spanish.yaml @@ -4,7 +4,7 @@ interactions: "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?model-version=latest&showStats=true response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","keyPhrases":["Bill - Gates","the CEO of Microsoft"],"statistics":{"charactersCount":35,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + Gates","the CEO of Microsoft"],"statistics":{"charactersCount":35,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - eda5bd78-7e7e-456f-a018-84b3de5100d1 + - 452a909d-1ffd-4e2c-b221-ab27332acc4a content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_out_of_order_ids.yaml index 576c9b2623a7..a855727ff57c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_out_of_order_ids.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"56","keyPhrases":[],"warnings":[]},{"id":"0","keyPhrases":[],"warnings":[]},{"id":"19","keyPhrases":[],"warnings":[]},{"id":"1","keyPhrases":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - b82efbe6-b285-460b-9bf6-cdca01f4e9bd + - 1a5d9f0b-17de-4307-925d-70df21b90419 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:46 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_output_same_order_as_input.yaml index a7ac8e322290..b567edfbabdb 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_output_same_order_as_input.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: - string: '{"documents":[{"id":"1","keyPhrases":[],"warnings":[]},{"id":"2","keyPhrases":[],"warnings":[]},{"id":"3","keyPhrases":[],"warnings":[]},{"id":"4","keyPhrases":[],"warnings":[]},{"id":"5","keyPhrases":[],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","keyPhrases":[],"warnings":[]},{"id":"2","keyPhrases":[],"warnings":[]},{"id":"3","keyPhrases":[],"warnings":[]},{"id":"4","keyPhrases":[],"warnings":[]},{"id":"5","keyPhrases":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - f50c1b4c-5d74-4f2f-b5e7-28b3d1d74ea4 + - c63a6ec1-1f9e-4bd0-8066-47aa408b5d58 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=5 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_pass_cls.yaml index d69aa0a38bf6..7b09521e001f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_pass_cls.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: - string: '{"documents":[{"id":"0","keyPhrases":["Test","cls","endpoint"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","keyPhrases":["Test","cls","endpoint"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - e0a05ba4-8350-4aa4-aae2-c89993bffd3e + - 95e49418-cd74-4fdc-99bc-3b4ba54e4554 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_passing_only_string.yaml index 0d276d91beab..d7435dd42bf0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_passing_only_string.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,7 +16,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -24,16 +24,16 @@ interactions: string: '{"documents":[{"id":"0","keyPhrases":["Bill Gates","Paul Allen","Microsoft"],"warnings":[]},{"id":"1","keyPhrases":["Microsoft fue fundado por Bill Gates y Paul Allen"],"warnings":[]}],"errors":[{"id":"2","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - ca9315ad-43b8-465e-8b18-c53bdb1bad8e + - c9e6c66b-0dd7-4c1d-b8c6-bde37ea9e17f content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=2 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -41,7 +41,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_per_item_dont_use_language_hint.yaml index 015efc446784..a2d29b70c128 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_per_item_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,22 +16,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 19ac7e4f-11c9-47c2-910f-ab2ae479369d + - 628c5d5a-01ba-477a-b0a5-e6a9cec6d8a3 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -39,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '11' + - '13' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_rotate_subscription_key.yaml index ae749752ecf8..835ca1f4be61 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_rotate_subscription_key.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,22 +16,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - ca90ad95-949c-49fa-a1c6-2a93cdbea9fb + - f09acd7a-a38a-457d-8f5d-1441279fef76 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:03 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -39,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '8' + - '10' status: code: 200 message: OK @@ -50,7 +50,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -60,7 +60,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -72,7 +72,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:04 GMT status: code: 401 message: PermissionDenied @@ -83,7 +83,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -93,22 +93,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 08e53e9a-da68-4250-bc3a-716276d08480 + - 3e46455a-dcaa-4a75-b1a4-bc47e60382d4 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -116,7 +116,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_show_stats_and_model_version.yaml index 7ec0aa6f1d5b..74c70091d161 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_show_stats_and_model_version.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?model-version=latest&showStats=true response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","keyPhrases":[],"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"0","keyPhrases":[],"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"19","keyPhrases":[],"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"1","keyPhrases":[],"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - b2dd2681-05ed-49a4-9a6d-f1e3abc0d838 + - be3aa999-8aee-4074-acbf-7f460b39ca22 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '9' + - '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..65367345780b --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '75' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/keyPhrases?showStats=false + response: + body: + string: '{"documents":[{"id":"0","keyPhrases":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 03a7a93c-8aed-4c4b-8b6e-3e3dfa3aa5c6 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Thu, 27 Aug 2020 19:32:04 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '10' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_too_many_documents.yaml index 87c592983e99..7d0455583e70 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_too_many_documents.yaml @@ -9,7 +9,7 @@ interactions: {"id": "10", "text": "Eleven", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -19,7 +19,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -28,11 +28,11 @@ interactions: request contains too many records. Max 10 records are permitted."}}}' headers: apim-request-id: - - 09909bc1-25c2-4215-a2d8-c6114e761a7b + - 31ba95e0-e8ca-43a1-933e-d6de696f076a content-type: - application/json; charset=utf-8 date: - - Tue, 04 Aug 2020 21:24:45 GMT + - Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_user_agent.yaml index ac51c536f619..9e4a3bb602be 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_user_agent.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,22 +16,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 7712c14a-3f22-4b1b-9378-cded10398f1f + - 6e63dfb6-98c6-4c68-82f5-9860dfb2f23c content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -39,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7' + - '11' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_dont_use_language_hint.yaml index 0642e4d6ccb0..016c14c44643 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: - string: '{"documents":[{"id":"0","keyPhrases":["best day","life"],"warnings":[]},{"id":"1","keyPhrases":["hotel"],"warnings":[]},{"id":"2","keyPhrases":["restaurant"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","keyPhrases":["best day","life"],"warnings":[]},{"id":"1","keyPhrases":["hotel"],"warnings":[]},{"id":"2","keyPhrases":["restaurant"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - dcbc480a-b83b-4875-951d-b1f0808781ff + - 5698f2bc-a52f-4900-b134-b6069ff194ae content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '7' + - '15' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint.yaml index acb236b7fe7f..cf7387472912 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"0","keyPhrases":["This was the best day","my"],"warnings":[]},{"id":"1","keyPhrases":["like the hotel we stayed","It was too expensive","I did"],"warnings":[]},{"id":"2","keyPhrases":["as - good as I hoped","The restaurant was"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + good as I hoped","The restaurant was"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 591564a0-8960-4793-a5ed-27b29b170cfd + - dcc815ee-6fb8-411b-a0de-11c47ad894b9 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '6' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index 709c70cb588c..292d60c1669b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["the park","I will go"],"warnings":[]},{"id":"2","keyPhrases":["I did not like the hotel we stayed at"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 3035fd59-72f5-4179-aaf1-a205b8757b5d + - 896079b0-89c7-4e37-87db-37bf52b61227 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:47 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '10' + - '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_obj_input.yaml index aa90729092a6..3ee813d50be0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,7 +6,7 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,7 +16,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -25,16 +25,16 @@ interactions: \ to the veterinarian\"],\"warnings\":[]},{\"id\":\"4\",\"keyPhrases\":[\"\ Espa\xF1ol\",\"Este\",\"un document escrito\"],\"warnings\":[]},{\"id\":\"\ 3\",\"keyPhrases\":[\"\u732B\u306F\u5E78\u305B\"],\"warnings\":[]}],\"errors\"\ - :[],\"modelVersion\":\"2019-10-01\"}" + :[],\"modelVersion\":\"2020-07-01\"}" headers: apim-request-id: - - 663df110-444c-4687-bb63-fa20b4d13725 + - e774b347-2da9-4aab-8e32-85a9f8944c9e content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index 800922c5a264..107368271aa3 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,7 +16,7 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -25,16 +25,16 @@ interactions: ,\"the veterinarian\"],\"warnings\":[]},{\"id\":\"2\",\"keyPhrases\":[\"document\ \ escrito\",\"Espa\xF1ol\"],\"warnings\":[]},{\"id\":\"3\",\"keyPhrases\"\ :[\"\u732B\u306F\u5E78\u305B\"],\"warnings\":[]}],\"errors\":[],\"modelVersion\"\ - :\"2019-10-01\"}" + :\"2020-07-01\"}" headers: apim-request-id: - - 976fb829-fca1-461b-9365-4e8d496841e0 + - 322052c8-551d-4aa0-8f91-35d612dc91e9 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:48 GMT + - Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '6' + - '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_all_successful_passing_dict.yaml index e348ccce2359..d716556b8fc1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_all_successful_passing_dict.yaml @@ -5,29 +5,29 @@ interactions: por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '200' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=true response: body: string: '{"statistics":{"documentsCount":2,"validDocumentsCount":2,"erroneousDocumentsCount":0,"transactionsCount":2},"documents":[{"id":"1","keyPhrases":["Bill Gates","Paul Allen","Microsoft"],"statistics":{"charactersCount":50,"transactionsCount":1},"warnings":[]},{"id":"2","keyPhrases":["Bill - Gates","Paul Allen","Microsoft"],"statistics":{"charactersCount":49,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + Gates","Paul Allen","Microsoft"],"statistics":{"charactersCount":49,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 464b770a-6eba-46c4-90b1-4aee87689925 + apim-request-id: 72525c4e-9e54-4aa2-bc53-046e905c9a0a content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=2 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '11' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_all_successful_passing_text_document_input.yaml index 75571dc691bf..36eb337dfdf1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_all_successful_passing_text_document_input.yaml @@ -5,28 +5,28 @@ interactions: por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '200' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["Bill Gates","Paul Allen","Microsoft"],"warnings":[]},{"id":"2","keyPhrases":["Bill - Gates","Paul Allen","Microsoft"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + Gates","Paul Allen","Microsoft"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 52d19de4-ae26-435c-8c3a-6adb16619cca + apim-request-id: 38098dc0-f282-446c-b5df-922dcf78775d content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=2 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_bad_credentials.yaml index 957dcaabd35f..58b22b264326 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_bad_credentials.yaml @@ -4,13 +4,13 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -20,7 +20,7 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:50 GMT + date: Thu, 27 Aug 2020 19:32:08 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_bad_model_version_error.yaml index af73617e8de3..011d887c35e7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_bad_model_version_error.yaml @@ -4,27 +4,27 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '101' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?model-version=bad&showStats=false response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2019-10-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-07-01"}}}' headers: - apim-request-id: 2fb9b99b-0e5f-41c6-91eb-7d089b18eb3c + apim-request-id: b10aa9f0-fd79-4cf9-827a-ad2007266291 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '6' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_batch_size_over_limit.yaml index 9f6d45a9e1c1..2332e2766a11 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_batch_size_over_limit.yaml @@ -748,27 +748,27 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58755' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 10 records are permitted."}}}' headers: - apim-request-id: bf8d8f75-d1cc-4a1f-ac3a-19305d8affd0 + apim-request-id: bfa5eacb-8f89-486a-8652-286ced10984d content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '35' + x-envoy-upstream-service-time: '10' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_batch_size_over_limit_error.yaml index 693910a6250c..43fbb4f31abb 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_batch_size_over_limit_error.yaml @@ -713,27 +713,27 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '55962' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 10 records are permitted."}}}' headers: - apim-request-id: 16b64a34-7382-45f0-abd6-c3a2245ffea1 + apim-request-id: c320967b-855b-4d97-ab37-fa6c1b4434e3 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:50 GMT + date: Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '19' + x-envoy-upstream-service-time: '12' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_client_passed_default_language_hint.yaml index c37b01483b15..f444df340973 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_client_passed_default_language_hint.yaml @@ -6,29 +6,29 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["the park","I will go"],"warnings":[]},{"id":"2","keyPhrases":["I did not like the hotel we stayed at"],"warnings":[]},{"id":"3","keyPhrases":["The - restaurant had really good food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + restaurant had really good food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 3fea7699-b489-4d16-befe-a15b61dd98bc + apim-request-id: 03eeac48-4618-495f-a5c6-252ecd1ffd29 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '8' status: code: 200 message: OK @@ -40,28 +40,28 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 78f8ac1e-1eda-42b5-89d8-1c6e03d095cd + apim-request-id: 16dcb319-f28a-4cf2-b842-a7de3c9c45fa content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '8' + x-envoy-upstream-service-time: '11' status: code: 200 message: OK @@ -73,29 +73,29 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["the park","I will go"],"warnings":[]},{"id":"2","keyPhrases":["I did not like the hotel we stayed at"],"warnings":[]},{"id":"3","keyPhrases":["The - restaurant had really good food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + restaurant had really good food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: f454c8b4-7e92-45da-ac98-62d6f080ac74 + apim-request-id: 00049009-5234-40ea-93a4-ae0ae3ecbe55 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:50 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_attribute_error_no_result_attribute.yaml index 85862cbb606f..ece414ae86be 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_attribute_error_no_result_attribute.yaml @@ -3,29 +3,28 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: beb8aede-873f-43f1-ae0c-da559b8db8ef + apim-request-id: 55f3b42a-8ede-453a-af5b-b52ed52d9ac7 content-type: application/json; charset=utf-8 - csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=0 - date: Fri, 24 Jul 2020 16:32:50 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '2' + x-envoy-upstream-service-time: '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_attribute_error_nonexistent_attribute.yaml index 8747168d77bf..324a8fa943cd 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,25 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: f73240a0-3f35-4ce7-876a-a9bd7756d3b7 + apim-request-id: 0fe75926-9003-48b7-a39e-5dd2f7406593 content-type: application/json; charset=utf-8 - csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=0 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_errors.yaml index 63c4981b1c4e..eae399967909 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_errors.yaml @@ -6,13 +6,13 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '5308' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -21,20 +21,19 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations - see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2019-10-01"}' + see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 4035421d-154f-459b-aa89-76e8bf964b26 + apim-request-id: 6c350159-1e50-484e-9021-110ccaf4ae95 content-type: application/json; charset=utf-8 - csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=0 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '3' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_warnings.yaml index d3b33e2881e9..4b0e58d5143b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_document_warnings.yaml @@ -4,29 +4,29 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '413' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["Thisisaveryveryverylongtextwhichgoesonforalongtimeandwhichalmost"],"warnings":[{"code":"LongWordsInDocument","message":"The document contains very long words (longer than 64 characters). These words - will be truncated and may result in unreliable model predictions."}]}],"errors":[],"modelVersion":"2019-10-01"}' + will be truncated and may result in unreliable model predictions."}]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: ed062a5f-71a5-4c7e-bb2c-a3e4ecf91d34 + apim-request-id: 5658fa9e-daa9-41ed-a59f-4631ec3ec39e content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '6' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_duplicate_ids_error.yaml index 917748bd5598..56144b377506 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_duplicate_ids_error.yaml @@ -4,13 +4,13 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '150' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -18,13 +18,13 @@ interactions: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: - apim-request-id: a0a74962-faea-471e-a3c8-7f7c589d6530 + apim-request-id: e30f5294-c146-49c9-bc32-1ceb00dc99a1 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '5' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_empty_credential_class.yaml index 68820e3601d3..93b4a3421249 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_empty_credential_class.yaml @@ -4,13 +4,13 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -20,7 +20,7 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:07 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_input_with_all_errors.yaml index fb949b174560..d2d39cba918c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_input_with_all_errors.yaml @@ -5,31 +5,30 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '156' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 872df718-1a9c-4980-b0ad-beeaa4a686b0 + apim-request-id: 785bc67c-d34b-4033-a443-ab63d2481dc6 content-type: application/json; charset=utf-8 - csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=0 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_input_with_some_errors.yaml index 6a6a7f6e6416..3038121dfbec 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_input_with_some_errors.yaml @@ -5,29 +5,29 @@ interactions: fundado por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '205' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"2","keyPhrases":["Bill Gates","Paul Allen","Microsoft"],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}}],"modelVersion":"2019-10-01"}' + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: acc1d893-8446-4a6c-9430-c0c78e15c58b + apim-request-id: 35beb60a-646c-4d62-912d-262a93384e6f content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:50 GMT + date: Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_invalid_language_hint_docs.yaml index a47122c371db..9942ac5c81f6 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_invalid_language_hint_docs.yaml @@ -4,29 +4,28 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}}],"modelVersion":"2019-10-01"}' + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: baf4943d-29d8-41d0-98c7-62ec2c9a249c + apim-request-id: b2fd402d-10ee-4fb7-8097-718b34a4156a content-type: application/json; charset=utf-8 - csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=0 - date: Fri, 24 Jul 2020 16:32:50 GMT + date: Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '3' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_invalid_language_hint_method.yaml index 3442ff379ff2..5b5b8c9934cb 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_invalid_language_hint_method.yaml @@ -4,29 +4,28 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: da,de,en,es,fi,fr,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv"}}}],"modelVersion":"2019-10-01"}' + language code. Supported languages: af,bg,ca,da,de,el,en,es,et,fi,fr,hr,hu,id,it,ja,ko,lv,nl,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sv,tr"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 0953a5d2-ac21-4231-b2ca-80aa5b5cfa59 + apim-request-id: 057b77c4-6fdf-47ac-adbe-bb8234073fef content-type: application/json; charset=utf-8 - csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=0 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_language_kwarg_spanish.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_language_kwarg_spanish.yaml index 2d90abe85eb3..94a1fa7797e5 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_language_kwarg_spanish.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_language_kwarg_spanish.yaml @@ -4,28 +4,28 @@ interactions: "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '93' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?model-version=latest&showStats=true response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","keyPhrases":["Bill - Gates","the CEO of Microsoft"],"statistics":{"charactersCount":35,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + Gates","the CEO of Microsoft"],"statistics":{"charactersCount":35,"transactionsCount":1},"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: adf9177c-740e-4b86-a2d0-0248f31e811e + apim-request-id: 0b00bf17-5026-4ecf-a2f6-630ae3ee2e99 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_out_of_order_ids.yaml index 422d3c16d2c3..ff5fc0e54fb7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_out_of_order_ids.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"56","keyPhrases":[],"warnings":[]},{"id":"0","keyPhrases":[],"warnings":[]},{"id":"19","keyPhrases":[],"warnings":[]},{"id":"1","keyPhrases":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 0b0a2a0c-c8ba-4ec5-b784-f3ea7d2427bf + apim-request-id: 96fb143a-3d2b-47cd-8de4-d65b0a3ba6dd content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:47 GMT + date: Thu, 27 Aug 2020 19:32:04 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_output_same_order_as_input.yaml index 93e3e865b662..e7bf8083b833 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_output_same_order_as_input.yaml @@ -6,27 +6,27 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: - string: '{"documents":[{"id":"1","keyPhrases":[],"warnings":[]},{"id":"2","keyPhrases":[],"warnings":[]},{"id":"3","keyPhrases":[],"warnings":[]},{"id":"4","keyPhrases":[],"warnings":[]},{"id":"5","keyPhrases":[],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"1","keyPhrases":[],"warnings":[]},{"id":"2","keyPhrases":[],"warnings":[]},{"id":"3","keyPhrases":[],"warnings":[]},{"id":"4","keyPhrases":[],"warnings":[]},{"id":"5","keyPhrases":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 6e5dcf93-10c4-4fb0-8927-8c72d8a3d789 + apim-request-id: 7637794f-baa4-4c53-91b4-e17b451137c9 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=5 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_pass_cls.yaml index 08d6e479b828..3228feb6b61f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_pass_cls.yaml @@ -4,27 +4,27 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '86' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: - string: '{"documents":[{"id":"0","keyPhrases":["Test","cls","endpoint"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","keyPhrases":["Test","cls","endpoint"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 6d3aabd0-1930-46d5-a7d8-1119e6a9b3bf + apim-request-id: d931d4b3-f9e0-41a6-ad28-3cf805beca41 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:05 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '9' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_passing_only_string.yaml index 3001b5098263..1f87d36f4ce4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_passing_only_string.yaml @@ -6,13 +6,13 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '243' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -20,16 +20,16 @@ interactions: string: '{"documents":[{"id":"0","keyPhrases":["Bill Gates","Paul Allen","Microsoft"],"warnings":[]},{"id":"1","keyPhrases":["Microsoft fue fundado por Bill Gates y Paul Allen"],"warnings":[]}],"errors":[{"id":"2","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: b570e13a-871e-447f-94b2-df06d49687ca + apim-request-id: 330fb0d2-efbb-4ad7-afb4-45afe937aa84 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=2 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_per_item_dont_use_language_hint.yaml index aa76cfea8e4e..5a5f31264bcf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_per_item_dont_use_language_hint.yaml @@ -6,28 +6,28 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '236' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e073e0bb-f79e-4988-bbfa-4234a11e54d1 + apim-request-id: 9a3dac39-dc9e-4348-9c53-2e5645778a34 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '14' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_rotate_subscription_key.yaml index 1683cb51c50a..671a2f670d26 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_rotate_subscription_key.yaml @@ -6,28 +6,28 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: c5c76435-0a9f-44ea-bb29-96ecde9dd1a5 + apim-request-id: b5314678-cf9f-4a47-a356-f15088e76417 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '9' status: code: 200 message: OK @@ -39,13 +39,13 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -55,7 +55,7 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT status: code: 401 message: PermissionDenied @@ -67,28 +67,28 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 3d1162fe-4397-4e24-8300-5735162763e1 + apim-request-id: a2ce2f43-b094-40c6-98e4-4406904ae07f content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '8' + x-envoy-upstream-service-time: '11' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_show_stats_and_model_version.yaml index b3b9cd278b21..7b0d14310c5e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_show_stats_and_model_version.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?model-version=latest&showStats=true response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","keyPhrases":[],"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"0","keyPhrases":[],"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"19","keyPhrases":[],"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]},{"id":"1","keyPhrases":[],"statistics":{"charactersCount":2,"transactionsCount":1},"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2019-10-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e2903f20-e815-4a70-8c06-e2daaad408ea + apim-request-id: d425b732-39e5-487d-a95e-f061b173d29c content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..610f9446b954 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,31 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '75' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/keyPhrases?showStats=false + response: + body: + string: '{"documents":[{"id":"0","keyPhrases":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 762e919f-014a-428c-ba41-bdb0b00dfec0 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Thu, 27 Aug 2020 19:32:07 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '8' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.0/keyPhrases?showStats=false +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_too_many_documents.yaml index 0ec6cdfc833a..86933d523f58 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_too_many_documents.yaml @@ -9,13 +9,13 @@ interactions: {"id": "10", "text": "Eleven", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '534' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -23,13 +23,13 @@ interactions: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 10 records are permitted."}}}' headers: - apim-request-id: 93d95b37-de8d-4b41-80b6-7bb617d2658f + apim-request-id: 9fdefad7-45a7-4092-ba57-1748b69c408f content-type: application/json; charset=utf-8 - date: Tue, 04 Aug 2020 21:24:45 GMT + date: Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '3' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_user_agent.yaml index 1cc306759409..1dbf2a321776 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_user_agent.yaml @@ -6,28 +6,28 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["park"],"warnings":[]},{"id":"2","keyPhrases":["hotel"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 0adeaded-6610-43a7-bd39-dfc2058d0522 + apim-request-id: 558b6377-7393-4c35-9203-00d4e35f0c55 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_dont_use_language_hint.yaml index b8d00f9fc54e..e25301522bec 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_dont_use_language_hint.yaml @@ -6,27 +6,27 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '273' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: - string: '{"documents":[{"id":"0","keyPhrases":["best day","life"],"warnings":[]},{"id":"1","keyPhrases":["hotel"],"warnings":[]},{"id":"2","keyPhrases":["restaurant"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + string: '{"documents":[{"id":"0","keyPhrases":["best day","life"],"warnings":[]},{"id":"1","keyPhrases":["hotel"],"warnings":[]},{"id":"2","keyPhrases":["restaurant"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: eebf745d-da7e-4d36-9bd6-6043ddb2208f + apim-request-id: 4447d989-adaa-43b8-9719-cc72812ac927 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:50 GMT + date: Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '12' + x-envoy-upstream-service-time: '11' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint.yaml index 4438365ff9ce..e7c2781647c0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint.yaml @@ -6,29 +6,29 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '279' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"0","keyPhrases":["This was the best day","my"],"warnings":[]},{"id":"1","keyPhrases":["like the hotel we stayed","It was too expensive","I did"],"warnings":[]},{"id":"2","keyPhrases":["as - good as I hoped","The restaurant was"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + good as I hoped","The restaurant was"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 6c82c32f-6052-4964-98b9-b2b1e74e51e9 + apim-request-id: 5f8ea8ba-d7da-43dd-b643-1d566940b60e content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '12' + x-envoy-upstream-service-time: '8' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index 28f0dbc7ef6f..b90156f4c796 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: body: string: '{"documents":[{"id":"1","keyPhrases":["the park","I will go"],"warnings":[]},{"id":"2","keyPhrases":["I did not like the hotel we stayed at"],"warnings":[]},{"id":"3","keyPhrases":["restaurant","good - food"],"warnings":[]}],"errors":[],"modelVersion":"2019-10-01"}' + food"],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e484df49-591e-4abb-b2a1-423e001e2c2d + apim-request-id: 79b17942-eb17-44ba-86be-b259e82f9560 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:48 GMT + date: Thu, 27 Aug 2020 19:32:06 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_obj_input.yaml index de6fffd8bb09..c8adc01754a0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,13 +6,13 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -21,16 +21,16 @@ interactions: \ to the veterinarian\"],\"warnings\":[]},{\"id\":\"4\",\"keyPhrases\":[\"\ Espa\xF1ol\",\"Este\",\"un document escrito\"],\"warnings\":[]},{\"id\":\"\ 3\",\"keyPhrases\":[\"\u732B\u306F\u5E78\u305B\"],\"warnings\":[]}],\"errors\"\ - :[],\"modelVersion\":\"2019-10-01\"}" + :[],\"modelVersion\":\"2020-07-01\"}" headers: - apim-request-id: 5b1d04ff-ac44-45a5-bc93-ef5662f0530f + apim-request-id: 9f43f6eb-e9b8-401d-9e68-790910d15a95 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '12' + x-envoy-upstream-service-time: '7' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index ce4f0f23da89..28ff9bbcedf9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_extract_key_phrases_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,13 +6,13 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/keyPhrases?showStats=false response: @@ -21,16 +21,16 @@ interactions: ,\"the veterinarian\"],\"warnings\":[]},{\"id\":\"2\",\"keyPhrases\":[\"document\ \ escrito\",\"Espa\xF1ol\"],\"warnings\":[]},{\"id\":\"3\",\"keyPhrases\"\ :[\"\u732B\u306F\u5E78\u305B\"],\"warnings\":[]}],\"errors\":[],\"modelVersion\"\ - :\"2019-10-01\"}" + :\"2020-07-01\"}" headers: - apim-request-id: 36700dd7-4ea9-41e0-9476-5d063f1ff835 + apim-request-id: c32c9383-ddfd-4259-959b-7e2b52870d15 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:49 GMT + date: Thu, 27 Aug 2020 19:32:07 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '10' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_all_successful_passing_dict.yaml index ca94c5cd398b..bc734b9a7954 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_all_successful_passing_dict.yaml @@ -7,7 +7,7 @@ interactions: und Paul Allen gegr\u00fcndet.", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,9 +17,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":3,"validDocumentsCount":3,"erroneousDocumentsCount":0,"transactionsCount":3},"documents":[{"id":"1","statistics":{"charactersCount":68,"transactionsCount":1},"entities":[{"text":"Microsoft","category":"Organization","offset":0,"length":9,"confidenceScore":1.0},{"text":"Bill @@ -34,13 +34,13 @@ interactions: Allen","category":"Person","offset":52,"length":10,"confidenceScore":0.98}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - e3dfc9b0-ff48-46af-a97e-ed1646abcd2f + - 5c7589b2-b419-4825-b59c-50e65461301a content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -48,7 +48,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '88' + - '74' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_all_successful_passing_text_document_input.yaml index 383331f428a8..ec7aadacf1ff 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_all_successful_passing_text_document_input.yaml @@ -7,7 +7,7 @@ interactions: und Paul Allen gegr\u00fcndet.", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,9 +17,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"Microsoft","category":"Organization","offset":0,"length":9,"confidenceScore":1.0},{"text":"Bill @@ -34,13 +34,13 @@ interactions: Allen","category":"Person","offset":52,"length":10,"confidenceScore":0.98}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 8971f287-f80e-49c1-a177-655d2160a528 + - a36aa787-18cd-4463-96cf-f74b47127196 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:08 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -48,7 +48,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '84' + - '76' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_bad_credentials.yaml index 6b015f7602e6..ed971840d859 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_bad_credentials.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:08 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_bad_model_version_error.yaml index d7ed8fb43d12..610fb2095ed4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_bad_model_version_error.yaml @@ -4,7 +4,7 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=bad&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2020-04-01,2019-10-01,2020-02-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-02-01,2020-04-01"}}}' headers: apim-request-id: - - ce6f5d5a-370e-4cdc-9aa7-dd226a7a4863 + - 9feeeeba-1c5f-4957-8efa-ff0913ffee4e content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '12' + - '4' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_batch_size_over_limit.yaml index 9a6ffff43606..592ef2aaaab1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_batch_size_over_limit.yaml @@ -748,7 +748,7 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -758,20 +758,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - 11413a6a-19cc-499d-b510-7abf522c78c9 + - 75d1262f-3bc1-4276-9744-e9a47c8024ff content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -779,7 +779,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '13' + - '11' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_batch_size_over_limit_error.yaml index 3e17dc694447..5cdd51ad3f3e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_batch_size_over_limit_error.yaml @@ -713,7 +713,7 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -723,20 +723,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - 6b6dafcc-307b-4724-b4b4-fbdda466e279 + - d988e058-6f8e-4b79-9f76-dfade8770692 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -744,7 +744,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '12' + - '18' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_client_passed_default_language_hint.yaml index 0f94473a2d14..90429b7d87bf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_client_passed_default_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"I will go to the park","category":"Product","offset":0,"length":21,"confidenceScore":0.51}],"warnings":[]},{"id":"2","entities":[{"text":"hotel @@ -26,13 +26,13 @@ interactions: restaurant had really good food","category":"Organization","offset":0,"length":35,"confidenceScore":0.47}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 342b3816-dc70-4b3b-95e8-106e58e0b4e6 + - 05323e44-7781-475e-9d19-1bfa9a91c616 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '61' + - '62' status: code: 200 message: OK @@ -51,7 +51,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -61,21 +61,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 00a84aaa-fdcf-483d-85ce-2ef1dfac66e6 + - 4d7e9beb-c4fe-417d-8fba-0374409dd4bd content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -83,7 +83,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '73' + - '75' status: code: 200 message: OK @@ -94,7 +94,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -104,9 +104,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"I will go to the park","category":"Product","offset":0,"length":21,"confidenceScore":0.51}],"warnings":[]},{"id":"2","entities":[{"text":"hotel @@ -114,13 +114,13 @@ interactions: restaurant had really good food","category":"Organization","offset":0,"length":35,"confidenceScore":0.47}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - f0ec3d64-b04b-403e-bc89-c288f3fe7475 + - 9bdbaa9a-df0b-4510-a833-688a851a10ed content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -128,7 +128,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '81' + - '66' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_attribute_error_no_result_attribute.yaml index c4fddfd62061..5672448f3901 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_attribute_error_no_result_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,9 +13,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,11 +23,11 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - d80ef079-8ec4-4c05-9aa4-29b1653ef594 + - 5c0880da-b4e7-42a1-8369-1a8636bd9f71 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_attribute_error_nonexistent_attribute.yaml index 89712ab2afc6..963eb4b2957b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,9 +13,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,11 +23,11 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 5c7ee3ca-6114-464a-9769-60f5e3173194 + - f87fb7b3-6c37-46c5-b82c-0c6cfb583299 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_errors.yaml index 356ae6746102..c54cf641bd7c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_errors.yaml @@ -6,7 +6,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -32,11 +32,11 @@ interactions: see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 22fde167-8a5f-48c0-92d6-dc9b182e9555 + - fdc7330c-dd28-4921-83f2-477f0cf019e4 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '3' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_warnings.yaml index 612d1d1012d5..d691e6d8ca35 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_document_warnings.yaml @@ -4,7 +4,7 @@ interactions: :''(", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - cce93ad3-6587-4c7f-9cd9-c70935c8c98b + - 41bacd8d-52f1-4d60-824c-0a3ac1eb8c83 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '82' + - '71' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_duplicate_ids_error.yaml index 3606553dc3b1..02de8b55f9b7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_duplicate_ids_error.yaml @@ -4,7 +4,7 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: apim-request-id: - - 22777aa3-46e1-4f56-9b09-d5f8e2ed6b1f + - 172cfafc-6ec5-4d29-8882-e64afa579c2f content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_empty_credential_class.yaml index 0bf3e2c9b502..9a38115b92ec 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_empty_credential_class.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:11 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_input_with_all_errors.yaml index ec8a08ec1faa..37f1c4400183 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_input_with_all_errors.yaml @@ -4,7 +4,7 @@ interactions: "Hola", "language": "Spanish"}, {"id": "3", "text": "", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -28,11 +28,11 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 6d299485-1450-403e-a59b-d7c9139cef37 + - d73521c0-24e7-4272-8117-6a9f3e7df7ed content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:49 GMT + - Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_input_with_some_errors.yaml index ed080baa7132..19703763f36b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_input_with_some_errors.yaml @@ -5,7 +5,7 @@ interactions: "language": "Spanish"}, {"id": "3", "text": "", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,9 +15,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"Microsoft","category":"Organization","offset":0,"length":9,"confidenceScore":0.8},{"text":"Bill @@ -30,13 +30,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 0c7cc811-d948-4c84-98d7-774033dfd78a + - f81a2833-a059-48a7-b0eb-350fb2fee079 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '90' + - '94' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_invalid_language_hint_docs.yaml index 3fa77ef7ac1a..8867317528bb 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_invalid_language_hint_docs.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -24,11 +24,11 @@ interactions: language code. Supported languages: ar,cs,da,de,en,es,fi,fr,hu,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv,tr,zh-Hans"}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - bdbdc474-4c6f-4347-aacf-e3f8254f1d55 + - 36835a20-0031-4f6c-8101-3daad544ee13 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_invalid_language_hint_method.yaml index 0a30ef06b2e3..56a12e123dca 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_invalid_language_hint_method.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid @@ -24,11 +24,11 @@ interactions: language code. Supported languages: ar,cs,da,de,en,es,fi,fr,hu,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv,tr,zh-Hans"}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 4122d8f9-dece-44fa-8013-762c68e5f39f + - c752207e-6636-42f7-b01c-0464fa3aabe8 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_language_kwarg_spanish.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_language_kwarg_spanish.yaml index 37e476374402..85b49c727fa4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_language_kwarg_spanish.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_language_kwarg_spanish.yaml @@ -4,7 +4,7 @@ interactions: "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","statistics":{"charactersCount":35,"transactionsCount":1},"entities":[{"text":"Bill Gates","category":"Person","offset":0,"length":10,"confidenceScore":0.76},{"text":"CEO","category":"PersonType","offset":18,"length":3,"confidenceScore":0.66},{"text":"Microsoft","category":"Organization","offset":25,"length":9,"confidenceScore":0.38}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 298936b7-c69e-42a0-9a2d-022af7bb194e + - 29282959-f5f5-425e-916c-61989326b2eb content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '68' + - '58' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_out_of_order_ids.yaml index e4a82a33a073..e1b33f29fa59 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_out_of_order_ids.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"56","entities":[],"warnings":[]},{"id":"0","entities":[],"warnings":[]},{"id":"19","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid @@ -26,13 +26,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 29dc84bc-9b70-4330-a52d-12d9be9d78da + - 18af93af-808d-4053-977c-85825e531000 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '73' + - '66' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_output_same_order_as_input.yaml index aae6b9d409e1..fdb6f00b078c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_output_same_order_as_input.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"one","category":"Quantity","subcategory":"Number","offset":0,"length":3,"confidenceScore":0.8}],"warnings":[]},{"id":"2","entities":[{"text":"two","category":"Quantity","subcategory":"Number","offset":0,"length":3,"confidenceScore":0.8}],"warnings":[]},{"id":"3","entities":[{"text":"three","category":"Quantity","subcategory":"Number","offset":0,"length":5,"confidenceScore":0.8}],"warnings":[]},{"id":"4","entities":[{"text":"four","category":"Quantity","subcategory":"Number","offset":0,"length":4,"confidenceScore":0.8}],"warnings":[]},{"id":"5","entities":[{"text":"five","category":"Quantity","subcategory":"Number","offset":0,"length":4,"confidenceScore":0.8}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - e249c914-10ec-4c5f-9590-1f41588fe23d + - db897d3d-3817-4e49-a733-6e13b995e0ff content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=5 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '152' + - '63' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_pass_cls.yaml index 304715f4aa1e..bf9885948611 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_pass_cls.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 164da941-5c73-4d83-8c1b-315cabcdd588 + - cbe49b39-fe2c-4be7-9680-5b6e3c82efa5 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '67' + - '92' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_passing_only_string.yaml index cc1c71b81d0a..678be3f15674 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_passing_only_string.yaml @@ -8,7 +8,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -18,9 +18,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[{"text":"Microsoft","category":"Organization","offset":0,"length":9,"confidenceScore":0.81},{"text":"Bill @@ -34,13 +34,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 15d71555-b5cb-413d-9b3d-166b4758bb39 + - 6fce1383-5f90-486e-8d15-695fd8925073 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -48,7 +48,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '94' + - '112' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_per_item_dont_use_language_hint.yaml index abbd3bd809a7..b4db3184f571 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_per_item_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - db979dc4-7d21-4303-b7f8-ccc249dd07c1 + - ac689e27-df80-4243-a238-220359a724e2 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '145' + - '79' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_rotate_subscription_key.yaml index e76eb90795ad..81ac11a9bc67 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_rotate_subscription_key.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 228b889f-1a77-4e5b-9684-8019d12fbee0 + - 71944a34-5635-41fc-ba73-ca70dbe9d3ad content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '108' + - '109' status: code: 200 message: OK @@ -49,7 +49,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -59,9 +59,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -71,7 +71,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:50 GMT + - Thu, 27 Aug 2020 19:32:11 GMT status: code: 401 message: PermissionDenied @@ -82,7 +82,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -92,21 +92,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 095e5155-4e34-4253-ab44-036cd49dc859 + - 6f2d0b0a-5963-48c7-b168-ee8b9de6ca6a content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -114,7 +114,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '83' + - '74' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_show_stats_and_model_version.yaml index f56b980e6b7f..5f92c7f7d98b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_show_stats_and_model_version.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"0","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"19","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"1","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid @@ -26,13 +26,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 8111d7b3-6440-4173-af2d-c2cf6fc44a2d + - 6b8ca7ad-ccd3-4c67-88d9-b0f5e2a53029 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '69' + - '61' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..68753c5fe26e --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '75' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/entities/recognition/general?showStats=false + response: + body: + string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + headers: + apim-request-id: + - 82cb67cb-e799-42df-aaee-5f1cc466d09c + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Thu, 27 Aug 2020 19:32:08 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '61' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_too_many_documents.yaml index 84fa52b5bcfe..5375e998225c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_too_many_documents.yaml @@ -6,7 +6,7 @@ interactions: "en"}, {"id": "5", "text": "Six", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,20 +16,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - 7b7a85db-7d73-4d66-ad20-dfe39ba1a663 + - 375d6616-7707-452d-a54e-154a006f8214 content-type: - application/json; charset=utf-8 date: - - Tue, 04 Aug 2020 21:24:46 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '4' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_user_agent.yaml index 0179474a4584..347bb7210fb2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_user_agent.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - be80426a-5177-4171-b20e-baa9ec3a37b0 + - da382525-9a84-4441-9955-d1331a9ed820 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '111' + - '109' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_dont_use_language_hint.yaml index 09c0d3c229ea..c89919fc1ca1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"2","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.71}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 8f74198d-98bd-4fcf-9ce6-65492f247cd0 + - dd5575ec-9299-4239-980f-800c14732945 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '110' + - '108' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint.yaml index 88f438df0a9f..e9cdef8915d1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - b804738c-5f66-4e20-a0b8-3d3fd6be556f + - ecb58321-1cdf-4e40-9714-b0bcd401ae36 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index e1f42559c91d..4ee3a365d4ea 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,22 +16,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"I will go to the park","category":"Product","offset":0,"length":21,"confidenceScore":0.51}],"warnings":[]},{"id":"2","entities":[{"text":"hotel we stayed at","category":"Location","offset":19,"length":18,"confidenceScore":0.69}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 15be8002-652a-437e-b9bf-1c375d135407 + - 4da74c28-89db-40bd-bedd-de77760ebfc4 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -39,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '107' + - '80' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_obj_input.yaml index 054df131fcb3..3d103f70b8c1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,7 +6,7 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"4","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: apim-request-id: - - 85b2dec7-9000-4fe0-b616-0910ce07d02d + - a3b9ca91-f27b-4ae6-abcf-b252c3bddc9d content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '18' + - '22' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index b85c9f57bef9..b5bee6249e31 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: "{\"documents\":[{\"id\":\"1\",\"entities\":[],\"warnings\":[]},{\"\ @@ -30,13 +30,13 @@ interactions: }" headers: apim-request-id: - - cfb3fb7f-cb3e-43b6-a060-9c6f39c8d9c5 + - e258fd45-27b4-4719-82aa-24fb6ef40014 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:51 GMT + - Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '94' + - '79' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_all_successful_passing_dict.yaml index b244316fbf84..710f4f55e57d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_all_successful_passing_dict.yaml @@ -7,15 +7,15 @@ interactions: und Paul Allen gegr\u00fcndet.", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '362' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":3,"validDocumentsCount":3,"erroneousDocumentsCount":0,"transactionsCount":3},"documents":[{"id":"1","statistics":{"charactersCount":68,"transactionsCount":1},"entities":[{"text":"Microsoft","category":"Organization","offset":0,"length":9,"confidenceScore":1.0},{"text":"Bill @@ -29,16 +29,16 @@ interactions: Gates","category":"Person","offset":37,"length":10,"confidenceScore":0.86},{"text":"Paul Allen","category":"Person","offset":52,"length":10,"confidenceScore":0.98}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 65f18a29-41aa-4fba-9778-be7079694cc2 + apim-request-id: dd296642-7582-4a5c-9fe6-61de4997734f content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '88' + x-envoy-upstream-service-time: '78' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_all_successful_passing_text_document_input.yaml index 1fdb8e8cde58..3cb14f66b9c6 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_all_successful_passing_text_document_input.yaml @@ -7,15 +7,15 @@ interactions: und Paul Allen gegr\u00fcndet.", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '362' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"Microsoft","category":"Organization","offset":0,"length":9,"confidenceScore":1.0},{"text":"Bill @@ -29,16 +29,16 @@ interactions: Gates","category":"Person","offset":37,"length":10,"confidenceScore":0.86},{"text":"Paul Allen","category":"Person","offset":52,"length":10,"confidenceScore":0.98}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: de39f48c-2692-4b86-b691-f49d4dcceab2 + apim-request-id: de4fcda5-7b57-4602-860a-8d9ccf9414bd content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '93' + x-envoy-upstream-service-time: '79' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=2020-02-01&showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_bad_credentials.yaml index 6e3b0bab2fcb..3e09b23c9297 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_bad_credentials.yaml @@ -4,15 +4,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -20,9 +20,9 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:13 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_bad_model_version_error.yaml index 0969624290c7..f237258b222a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_bad_model_version_error.yaml @@ -4,29 +4,29 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '101' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=bad&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2020-04-01,2019-10-01,2020-02-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-02-01,2020-04-01"}}}' headers: - apim-request-id: 04f62dd7-a44c-4135-b65e-0d0351808aae + apim-request-id: a3148e5a-b74f-4e14-a06d-3802cd84ef1c content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '8' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=bad&showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_batch_size_over_limit.yaml index 5587fd087d15..8a155e8623c8 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_batch_size_over_limit.yaml @@ -748,29 +748,29 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58755' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: 78247336-f4e0-4a31-a834-2357afed21d4 + apim-request-id: 701ff04c-68fe-4356-8186-d5b4df549a16 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '11' + x-envoy-upstream-service-time: '12' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_batch_size_over_limit_error.yaml index 3763483bb092..e40764e795ab 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_batch_size_over_limit_error.yaml @@ -713,29 +713,29 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '55962' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: 266bd6e9-198a-4d14-968c-0710f8682550 + apim-request-id: e8d960e7-2494-46fd-9eed-ba847f61dd84 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '16' + x-envoy-upstream-service-time: '11' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_client_passed_default_language_hint.yaml index f86c8d7b564e..d87d3479e641 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_client_passed_default_language_hint.yaml @@ -6,33 +6,33 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"I will go to the park","category":"Product","offset":0,"length":21,"confidenceScore":0.51}],"warnings":[]},{"id":"2","entities":[{"text":"hotel we stayed at","category":"Location","offset":19,"length":18,"confidenceScore":0.69}],"warnings":[]},{"id":"3","entities":[{"text":"The restaurant had really good food","category":"Organization","offset":0,"length":35,"confidenceScore":0.47}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: c807c077-38db-4b7b-ba0a-ee9502dab692 + apim-request-id: e83bc5a0-3a17-4ac1-9621-76a923daf7f6 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '100' + x-envoy-upstream-service-time: '98' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -40,31 +40,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: dfd5420f-7d9a-447b-b0ed-e73e2134a521 + apim-request-id: 7070e541-5c97-4463-842c-cb6b5f5c4039 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '91' + x-envoy-upstream-service-time: '101' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "es"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -72,31 +72,31 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"I will go to the park","category":"Product","offset":0,"length":21,"confidenceScore":0.51}],"warnings":[]},{"id":"2","entities":[{"text":"hotel we stayed at","category":"Location","offset":19,"length":18,"confidenceScore":0.69}],"warnings":[]},{"id":"3","entities":[{"text":"The restaurant had really good food","category":"Organization","offset":0,"length":35,"confidenceScore":0.47}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 15295932-e4ca-4ccb-a8a4-56768029c3d7 + apim-request-id: 57277b68-82bc-4356-94c6-44f7e76a3e18 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '72' + x-envoy-upstream-service-time: '68' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_attribute_error_no_result_attribute.yaml index 7f94b5b0c563..2ba9bd590d35 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_attribute_error_no_result_attribute.yaml @@ -3,24 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: ec05cc81-df53-4da6-ba92-98d31bb54813 + apim-request-id: 456b9910-ec3b-409d-af56-90801a900440 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:50 GMT + date: Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -28,5 +28,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_attribute_error_nonexistent_attribute.yaml index ffbcc08f6dac..3cf769af96cd 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,30 +3,30 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 65f42798-dd03-4b83-b1d6-c70e16b99b89 + apim-request-id: 4c070084-a479-4621-9e5a-27f19c8edf28 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '1' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_errors.yaml index cdb73c08388e..aac7ce374c62 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_errors.yaml @@ -6,15 +6,15 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '5308' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -27,15 +27,15 @@ interactions: size to: 5120 text elements. For additional details on the data limitations see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 5c1dfd56-c75f-4dc3-b297-015654437160 + apim-request-id: 18c8b239-97bd-4cd9-95cb-21fd12f1c23d content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '2' + x-envoy-upstream-service-time: '3' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_warnings.yaml index 193db94e9024..db2f2b8f4da9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_document_warnings.yaml @@ -4,29 +4,29 @@ interactions: :''(", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '98' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: e2244930-e473-41d9-b5b1-c0162734d1f4 + apim-request-id: aa8d6538-21ca-4d3d-95b8-329c4fbddcd1 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '85' + x-envoy-upstream-service-time: '104' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_duplicate_ids_error.yaml index e02ef044ac94..96fe3784d406 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_duplicate_ids_error.yaml @@ -4,29 +4,29 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '150' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: - apim-request-id: b05a5a13-40b6-4e2c-95f4-c98bc597975e + apim-request-id: 292c70c4-0ff0-4ed4-8ecb-e61cd617ef8c content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '5' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_empty_credential_class.yaml index d1b952033c44..e9b8390fab0d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_empty_credential_class.yaml @@ -4,15 +4,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -20,9 +20,9 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:11 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_input_with_all_errors.yaml index a56c9c12a720..992fbf1898cf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_input_with_all_errors.yaml @@ -4,15 +4,15 @@ interactions: "Hola", "language": "Spanish"}, {"id": "3", "text": "", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '153' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,9 +23,9 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 0cc28fef-6973-45ef-b30a-267724521a35 + apim-request-id: ee3c4a81-42f3-44b2-b24a-d02d6cf5fe57 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -33,5 +33,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_input_with_some_errors.yaml index 2c9c16650ccc..9b804eb74d48 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_input_with_some_errors.yaml @@ -5,15 +5,15 @@ interactions: "language": "Spanish"}, {"id": "3", "text": "", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '221' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"Microsoft","category":"Organization","offset":0,"length":9,"confidenceScore":0.8},{"text":"Bill @@ -25,16 +25,16 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: da486603-eafc-4a26-9ccb-ea18c5b95944 + apim-request-id: b0c2372d-c860-498d-87fc-8f974e60b4dd content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '93' + x-envoy-upstream-service-time: '92' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_invalid_language_hint_docs.yaml index ff4504546ba4..f9a58ee4e152 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_invalid_language_hint_docs.yaml @@ -4,30 +4,30 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: ar,cs,da,de,en,es,fi,fr,hu,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv,tr,zh-Hans"}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: db2fb1e1-cec1-4cdf-8bcc-d0b8794ca04f + apim-request-id: a335c738-df7e-431b-bad9-fbb956b4c678 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '1' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_invalid_language_hint_method.yaml index 05e9bf9f5c6f..dde1389ac6ef 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_invalid_language_hint_method.yaml @@ -4,30 +4,30 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: ar,cs,da,de,en,es,fi,fr,hu,it,ja,ko,nl,no,pl,pt-BR,pt-PT,ru,sv,tr,zh-Hans"}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 5df1ec1a-e306-45c8-a4fa-97dab0aeba98 + apim-request-id: 14ddc644-18db-45ea-accb-355155b1981d content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '1' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_language_kwarg_spanish.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_language_kwarg_spanish.yaml index c1a5eeb39aad..5fb0bda8bcb5 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_language_kwarg_spanish.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_language_kwarg_spanish.yaml @@ -4,30 +4,30 @@ interactions: "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '93' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","statistics":{"charactersCount":35,"transactionsCount":1},"entities":[{"text":"Bill Gates","category":"Person","offset":0,"length":10,"confidenceScore":0.76},{"text":"CEO","category":"PersonType","offset":18,"length":3,"confidenceScore":0.66},{"text":"Microsoft","category":"Organization","offset":25,"length":9,"confidenceScore":0.38}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: ca3cc0b1-7bb8-4193-9f3d-a04f73c4c1f7 + apim-request-id: 030669af-85b5-4a56-bbff-067dc5701cc7 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '62' + x-envoy-upstream-service-time: '105' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_out_of_order_ids.yaml index a0338f84e728..765507320ca9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_out_of_order_ids.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"56","entities":[],"warnings":[]},{"id":"0","entities":[],"warnings":[]},{"id":"19","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: f4ca3d49-d617-47a7-876f-60b885a7535c + apim-request-id: 10a15b86-33b7-4af9-9bf5-bdc16f137e47 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '61' + x-envoy-upstream-service-time: '60' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_output_same_order_as_input.yaml index cbd04542a68e..e1f34f0f3658 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_output_same_order_as_input.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"one","category":"Quantity","subcategory":"Number","offset":0,"length":3,"confidenceScore":0.8}],"warnings":[]},{"id":"2","entities":[{"text":"two","category":"Quantity","subcategory":"Number","offset":0,"length":3,"confidenceScore":0.8}],"warnings":[]},{"id":"3","entities":[{"text":"three","category":"Quantity","subcategory":"Number","offset":0,"length":5,"confidenceScore":0.8}],"warnings":[]},{"id":"4","entities":[{"text":"four","category":"Quantity","subcategory":"Number","offset":0,"length":4,"confidenceScore":0.8}],"warnings":[]},{"id":"5","entities":[{"text":"five","category":"Quantity","subcategory":"Number","offset":0,"length":4,"confidenceScore":0.8}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: da2ea466-6b82-479a-9a41-4aae33901ae0 + apim-request-id: 25f1423a-bf5a-4587-aa21-20d223a6bcee content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=5 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '71' + x-envoy-upstream-service-time: '69' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_pass_cls.yaml index 9b48654a25b8..90b19325780f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_pass_cls.yaml @@ -4,29 +4,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '86' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 4743fbf1-d4ec-4d08-873d-1dcf8a29053b + apim-request-id: 075a54ca-692e-4776-b9c8-68742add84e6 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '65' + x-envoy-upstream-service-time: '73' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_passing_only_string.yaml index a57d9db3919e..3f8e0d4a9be1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_passing_only_string.yaml @@ -8,15 +8,15 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '405' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[{"text":"Microsoft","category":"Organization","offset":0,"length":9,"confidenceScore":0.81},{"text":"Bill @@ -29,16 +29,16 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 17178476-3e07-4c7f-8185-db701b1beaf5 + apim-request-id: 2ad6a1cb-8873-4fe2-9dd4-4269bf7beb8b content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:09 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '92' + x-envoy-upstream-service-time: '116' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_per_item_dont_use_language_hint.yaml index e13f580ffdea..c76feeff4711 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_per_item_dont_use_language_hint.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '236' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 01d8b8d7-1bc1-4406-9ff9-a1fbb40607da + apim-request-id: a824f306-e640-46dd-ae07-0a03764180b7 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '121' + x-envoy-upstream-service-time: '100' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_rotate_subscription_key.yaml index d28746a24408..85fdc7b5673e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_rotate_subscription_key.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: b2e5da80-6835-4217-b8c9-45c5d90bf02f + apim-request-id: 9fd0d5ce-3b80-4203-81ab-30586e614a53 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:51 GMT + date: Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '120' + x-envoy-upstream-service-time: '102' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -38,15 +38,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -54,11 +54,11 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:10 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -66,29 +66,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 5ec4a9bc-24ce-458c-abd6-0a14e25a76d5 + apim-request-id: b893155c-2950-4a68-9b97-2e321fb6b630 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:10 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '90' + x-envoy-upstream-service-time: '100' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_show_stats_and_model_version.yaml index f13bdf3b6c76..1c82e5ab8d99 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_show_stats_and_model_version.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"0","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"19","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"1","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-04-01"}' headers: - apim-request-id: a017cf5d-14bf-4770-876b-83b85788be2a + apim-request-id: 1752f789-8c76-49ea-ae8c-26349524d985 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:53 GMT + date: Thu, 27 Aug 2020 19:32:11 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '64' + x-envoy-upstream-service-time: '62' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..2bb9883f783d --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,31 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '75' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/entities/recognition/general?showStats=false + response: + body: + string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + headers: + apim-request-id: 9a227f00-5b42-4610-86ef-a79c5508e704 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Thu, 27 Aug 2020 19:32:12 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '72' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.0/entities/recognition/general?showStats=false +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_too_many_documents.yaml index e162af594f0c..71640b87e269 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_too_many_documents.yaml @@ -6,29 +6,29 @@ interactions: "en"}, {"id": "5", "text": "Six", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '295' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: adfcb11b-4e75-43d3-bd45-2aaf8c12d147 + apim-request-id: ad10de34-6a72-44f5-baa6-3a8b999c778c content-type: application/json; charset=utf-8 - date: Tue, 04 Aug 2020 21:24:46 GMT + date: Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '6' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_user_agent.yaml index 76fdc3052dbd..c26bdc32a775 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_user_agent.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"park","category":"Location","offset":17,"length":4,"confidenceScore":0.83}],"warnings":[]},{"id":"2","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: c7083a40-622b-488b-b4bd-961f5e62a67b + apim-request-id: ee1a4e14-057b-4cb9-8f72-aada9e6bbcf9 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '116' + x-envoy-upstream-service-time: '98' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_dont_use_language_hint.yaml index 3a610051ab9e..b0b09e9e4cc3 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_dont_use_language_hint.yaml @@ -6,29 +6,29 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '273' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[{"text":"hotel","category":"Location","offset":19,"length":5,"confidenceScore":0.76}],"warnings":[]},{"id":"2","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.71}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 627a7869-2975-4ef0-ae1b-387d14a8fce8 + apim-request-id: deee8ae0-2a5b-42c2-bd0b-57b4163411a6 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '126' + x-envoy-upstream-service-time: '118' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint.yaml index 311a177a89d7..382d2312e1c4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint.yaml @@ -6,29 +6,29 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '279' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 92d3687d-0881-49e8-a51e-40b944ef39d4 + apim-request-id: bbe6d35d-e9ac-471e-939f-86282c613644 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:53 GMT + date: Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '28' + x-envoy-upstream-service-time: '24' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index 58eb01977232..f849a30afdd7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,30 +6,30 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"text":"I will go to the park","category":"Product","offset":0,"length":21,"confidenceScore":0.51}],"warnings":[]},{"id":"2","entities":[{"text":"hotel we stayed at","category":"Location","offset":19,"length":18,"confidenceScore":0.69}],"warnings":[]},{"id":"3","entities":[{"text":"restaurant","category":"Location","subcategory":"Structural","offset":4,"length":10,"confidenceScore":0.7}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 0e548cbb-aca0-4e8d-b7c1-f8822f33fffa + apim-request-id: e8146615-0224-46eb-a49c-6cea96f14190 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '72' + x-envoy-upstream-service-time: '88' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_obj_input.yaml index 59beeea616e8..6b41f9bb62e0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,29 +6,29 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"4","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' headers: - apim-request-id: 5666c40f-8046-40b8-b517-d3c5a026a701 + apim-request-id: 3e403e12-d91d-41f4-b91e-b8e1918e2ee8 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '22' + x-envoy-upstream-service-time: '26' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index 4eb073ad334b..b50794f1cffd 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,15 +6,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: "{\"documents\":[{\"id\":\"1\",\"entities\":[],\"warnings\":[]},{\"\ @@ -25,16 +25,16 @@ interactions: ,\"entities\":[],\"warnings\":[]}],\"errors\":[],\"modelVersion\":\"2020-04-01\"\ }" headers: - apim-request-id: fd2c4ed3-bda7-4bf3-aadd-80aad96825bb + apim-request-id: 8d4acc67-4585-4b5a-a8de-7b878138db49 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:52 GMT + date: Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '105' + x-envoy-upstream-service-time: '107' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/general?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_all_successful_passing_dict.yaml index 8081c5425871..5aafdd30adce 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_all_successful_passing_dict.yaml @@ -5,7 +5,7 @@ interactions: por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,9 +15,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":2,"validDocumentsCount":2,"erroneousDocumentsCount":0,"transactionsCount":2},"documents":[{"id":"1","statistics":{"charactersCount":50,"transactionsCount":1},"entities":[{"name":"Bill @@ -31,13 +31,13 @@ interactions: Allen","url":"https://es.wikipedia.org/wiki/Paul_Allen","dataSource":"Wikipedia"},{"name":"Microsoft","matches":[{"text":"Microsoft","offset":0,"length":9,"confidenceScore":0.38}],"language":"es","id":"Microsoft","url":"https://es.wikipedia.org/wiki/Microsoft","dataSource":"Wikipedia"}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 4160c7cf-d35f-45a2-9209-016817ec43bf + - f759755c-4ca3-4774-9e9c-02a4039a7694 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=2 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_all_successful_passing_text_document_input.yaml index 6ec543b54ce1..b6eb5b6ff195 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_all_successful_passing_text_document_input.yaml @@ -5,7 +5,7 @@ interactions: por Bill Gates y Paul Allen", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,9 +15,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"name":"Bill Gates","matches":[{"text":"Bill @@ -31,13 +31,13 @@ interactions: Allen","url":"https://en.wikipedia.org/wiki/Paul_Allen","dataSource":"Wikipedia"},{"name":"Microsoft","matches":[{"text":"Microsoft","offset":0,"length":9,"confidenceScore":0.49}],"language":"en","id":"Microsoft","url":"https://en.wikipedia.org/wiki/Microsoft","dataSource":"Wikipedia"}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 5f47fcab-660e-4935-b27d-5fdf13438a25 + - 4ee64643-daef-4a30-8201-a1c8b9a235df content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=2 date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '20' + - '18' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_bad_credentials.yaml index 2eb9944c0af7..a9fdb5b14322 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_bad_credentials.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:16 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_bad_model_version_error.yaml index e9c3283611bc..17b4d2477f78 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_bad_model_version_error.yaml @@ -4,7 +4,7 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=bad&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2020-02-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-02-01"}}}' headers: apim-request-id: - - 5a1acd94-b720-40b1-a15b-b7ef2f90dec8 + - 2e933a96-ae5a-4001-94f3-742133d29ef9 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:12 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '6' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_batch_size_over_limit.yaml index 8297c25e994e..13b1919ae30a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_batch_size_over_limit.yaml @@ -748,7 +748,7 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -758,20 +758,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - 89b8ad88-a954-4ee5-812d-a422cb2e0f5d + - 47b13c0b-8d90-433c-af2d-2b7c90121e02 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -779,7 +779,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '12' + - '13' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_batch_size_over_limit_error.yaml index bcea6315ec8a..a9c530f1f2d4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_batch_size_over_limit_error.yaml @@ -713,7 +713,7 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -723,20 +723,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - 3b71ea53-fcd9-4b20-b71b-8277cc1dcbec + - d3cc984a-f9f1-4ac5-bae9-021962b7d429 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -744,7 +744,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '22' + - '17' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_client_passed_default_language_hint.yaml index f700a02eb40d..f2fa38123527 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_client_passed_default_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 9b97ed9b-7e9c-4c93-a5d0-989cfed2c210 + - 8d621a46-3149-41c4-b609-a5e6e485eb43 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '42' + - '112' status: code: 200 message: OK @@ -49,7 +49,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -59,21 +59,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 5fbaf613-b88a-4f9b-8601-373d330ccb2f + - 07e2b784-676c-4238-b596-7b803f1bf43b content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -92,7 +92,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -102,21 +102,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 79a31c9b-d193-4d71-b790-e709f3cbe5bf + - 420e54c4-e149-4aac-95d1-6bc54984c6cc content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -124,7 +124,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '25' + - '17' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_attribute_error_no_result_attribute.yaml index 596c9209ca0a..82acd601b016 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_attribute_error_no_result_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,9 +13,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,11 +23,11 @@ interactions: text is empty."}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 0647649b-3e29-4733-9699-54140928dace + - ca5432da-dcc0-4bcf-a685-a15b7a360df7 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_attribute_error_nonexistent_attribute.yaml index f0a223af119b..0f76888f35b5 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,9 +13,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,11 +23,11 @@ interactions: text is empty."}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 00434868-b438-4f14-be49-9ae5697a23f6 + - 0ba9719b-3350-439a-b954-3cb8282db565 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_errors.yaml index cace20eda695..0e492c0899d9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_errors.yaml @@ -6,7 +6,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -32,11 +32,11 @@ interactions: see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - b8e50cf6-c03e-4a1f-bc00-a7e81b96985b + - 4ca5881f-cab1-4fc4-80f7-c41660fa3697 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '3' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_warnings.yaml index 2ebfcdba1d1c..6f92bcb87299 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_document_warnings.yaml @@ -4,7 +4,7 @@ interactions: :''(", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 5ec736e9-b7a7-4a08-96d6-7e02203f65ec + - 0328e0c5-7f5d-4a1f-992d-b3f7c027042f content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '23' + - '16' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_duplicate_ids_error.yaml index b1f33b78ff9e..98c74b42b0ac 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_duplicate_ids_error.yaml @@ -4,7 +4,7 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: apim-request-id: - - d11116e6-97e4-4297-8f54-157582fb352f + - 700ba2d4-81eb-480e-b175-c6ae61136622 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '6' + - '5' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_empty_credential_class.yaml index 2eb9944c0af7..44fa70f41d1e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_empty_credential_class.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:52 GMT + - Thu, 27 Aug 2020 19:32:17 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_input_with_all_errors.yaml index f7908518ea2c..17a22e3f971b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_input_with_all_errors.yaml @@ -4,7 +4,7 @@ interactions: "Microsoft fue fundado por Bill Gates y Paul Allen", "language": "Spanish"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -26,11 +26,11 @@ interactions: language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - ad7decfd-817a-48e9-bebc-d1e79cc9604c + - 26f5f20b-4648-4020-824d-22d467bfd440 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_input_with_some_errors.yaml index ba563211c819..e67e506a24c4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_input_with_some_errors.yaml @@ -4,7 +4,7 @@ interactions: "Microsoft fue fundado por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"2","entities":[{"name":"Bill Gates","matches":[{"text":"Bill @@ -28,13 +28,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 0f59c287-eec4-49b2-b08a-6ebb4e17e394 + - a0cd1145-2339-4f0f-922e-cc9202cb0cfc content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_invalid_language_hint_docs.yaml index be9f1639a9f7..1a854ec8025f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_invalid_language_hint_docs.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -24,11 +24,11 @@ interactions: language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 4521f87f-478b-4e8e-a4c5-9dc4947060cb + - 28eb589b-aa81-4e6c-890d-322d24f31a82 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '1' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_invalid_language_hint_method.yaml index 64b39a83a709..57637ab10f4f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_invalid_language_hint_method.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid @@ -24,11 +24,11 @@ interactions: language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 8c47d0e8-47c6-44e5-b024-a564b2a10892 + - 2480a700-5dc5-4d33-9994-f43b5db8c18f content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '1' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_language_kwarg_spanish.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_language_kwarg_spanish.yaml index 32b2dbd4f830..1f8f0b3219e7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_language_kwarg_spanish.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_language_kwarg_spanish.yaml @@ -4,7 +4,7 @@ interactions: "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","statistics":{"charactersCount":35,"transactionsCount":1},"entities":[{"name":"Bill @@ -26,13 +26,13 @@ interactions: ejecutivo","url":"https://es.wikipedia.org/wiki/Director_ejecutivo","dataSource":"Wikipedia"}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 3c3df070-832f-433d-a960-661858c31770 + - fc380a4a-2be8-46f9-9094-c9b05f682257 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '36' + - '12' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_out_of_order_ids.yaml index a92eeada9df6..9ab27727592e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_out_of_order_ids.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"56","entities":[],"warnings":[]},{"id":"0","entities":[],"warnings":[]},{"id":"19","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid @@ -26,13 +26,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - e9fe43da-5048-4601-ae76-d14971f580f7 + - e2b5b225-6628-4201-812a-f020f931d647 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '19' + - '30' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_output_same_order_as_input.yaml index 442d6710a57f..4c3ef185d7b9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_output_same_order_as_input.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]},{"id":"4","entities":[],"warnings":[]},{"id":"5","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 5f52dbac-3707-4243-89ad-713e7734a26f + - 08b06f33-14d0-4f76-8d1f-9fd9c957c916 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=5 date: - - Fri, 24 Jul 2020 16:32:54 GMT + - Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '18' + - '16' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_pass_cls.yaml index 812e74443d80..36caa56d0fbd 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_pass_cls.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[{"name":".test","matches":[{"text":"Test","offset":0,"length":4,"confidenceScore":0.02}],"language":"en","id":".test","url":"https://en.wikipedia.org/wiki/.test","dataSource":"Wikipedia"}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 6ad14174-59e4-402a-9f53-a2a0453d3d53 + - 3538b702-e337-442d-b729-e3125c31bc91 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_passing_only_string.yaml index e0f941ac68bb..a3acdccea91c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_passing_only_string.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[{"name":"Bill Gates","matches":[{"text":"Bill @@ -34,13 +34,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 36282cc5-775e-4aa3-92db-b8e94a992869 + - f6254588-8536-4bd3-9996-c61855b67a49 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=2 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -48,7 +48,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '26' + - '21' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_per_item_dont_use_language_hint.yaml index 021514242ec0..4d10fd94ff9c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_per_item_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 0f81e4d1-7751-414f-9e05-0ac33fbb8fe2 + - 7f204986-d6e5-4dd1-b920-b7ffc68f66c6 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '18' + - '28' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_rotate_subscription_key.yaml index c2890b573267..8c7383604235 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_rotate_subscription_key.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 7ad4d363-7984-4215-b5ac-4a8bda5a5be9 + - 48d9f768-5f96-4fdf-9ad4-7207163e572b content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '19' + - '22' status: code: 200 message: OK @@ -49,7 +49,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -59,9 +59,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -71,7 +71,7 @@ interactions: content-length: - '224' date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT status: code: 401 message: PermissionDenied @@ -82,7 +82,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -92,21 +92,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 87848571-95b8-4913-9c27-18e9948ae0b2 + - 6edeef77-c6f7-4d62-8d8f-eccd409dbc25 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -114,7 +114,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '22' + - '21' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_show_stats_and_model_version.yaml index 29d560d86b2f..0d05e229c819 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_show_stats_and_model_version.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"0","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"19","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"1","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid @@ -26,13 +26,13 @@ interactions: text is empty."}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 4a1c7b65-8307-4589-9aab-5cbf2c6f4e0a + - a6a5e386-d8a6-432c-a358-6c447833db44 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '18' + - '15' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..4c837457848f --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '75' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/entities/linking?showStats=false + response: + body: + string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' + headers: + apim-request-id: + - b25d8803-ed8c-4f99-8fd3-d9a558e7c483 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Thu, 27 Aug 2020 19:32:16 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '22' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_too_many_documents.yaml index 7624f2e43fdf..60f87840d352 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_too_many_documents.yaml @@ -6,7 +6,7 @@ interactions: "en"}, {"id": "5", "text": "Six", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,20 +16,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - 54eb3dbe-d893-488f-bd4c-7836003a4a01 + - b54773e8-55b7-4802-bece-ba1d2bdc6400 content-type: - application/json; charset=utf-8 date: - - Tue, 04 Aug 2020 21:24:47 GMT + - Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '5' + - '4' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_user_agent.yaml index d6a2345d9dca..8d8b9909db44 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_user_agent.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 58643084-7b61-4e27-b8eb-3d22d4ccfcc6 + - c6b1d713-4e19-4631-97db-247c2e89a782 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_dont_use_language_hint.yaml index 509f22dce9c8..df35eac1a144 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - c9c49a5a-3366-4063-8620-8c2d9d27580a + - 95eafb45-0575-4b3c-934e-acb71b6ec472 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:13 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '19' + - '23' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint.yaml index b69363e4c942..00ad2c15d0cc 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid @@ -30,11 +30,11 @@ interactions: language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - fc5cfbb4-cc8b-4fdd-80b7-364697293a7b + - 24ebfa33-9f2b-4a9e-9c5d-051046ec8ef1 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '1' + - '2' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index 96a5d19f6c58..b1c4a22644e0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - 65d883bb-fea9-4e90-82cb-3356318d9bb0 + - d586834c-e4a2-4146-8dcf-787c9941c1cd content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:14 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '17' + - '18' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_obj_input.yaml index ccf0d2918aaa..0f68c7ebd6c3 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,7 +6,7 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -30,11 +30,11 @@ interactions: language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - eb99cec2-70e8-47d0-922e-a897d2f9dea5 + - fad6b34c-e6cf-4c9f-9164-d9743a6948b8 content-type: - application/json; charset=utf-8 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index d69172a02a62..0f79bb46f6ba 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: apim-request-id: - - f4c781bb-17f4-4015-9e6b-9db07f45f60d + - 253f81b6-e653-405b-a92a-65d8d2d330bb content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Fri, 24 Jul 2020 16:32:53 GMT + - Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '20' + - '19' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_all_successful_passing_dict.yaml index 20c88ee25b33..230d81984d12 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_all_successful_passing_dict.yaml @@ -5,15 +5,15 @@ interactions: por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '200' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":2,"validDocumentsCount":2,"erroneousDocumentsCount":0,"transactionsCount":2},"documents":[{"id":"1","statistics":{"charactersCount":50,"transactionsCount":1},"entities":[{"name":"Bill @@ -26,10 +26,10 @@ interactions: Allen","matches":[{"text":"Paul Allen","offset":39,"length":10,"confidenceScore":0.9}],"language":"es","id":"Paul Allen","url":"https://es.wikipedia.org/wiki/Paul_Allen","dataSource":"Wikipedia"},{"name":"Microsoft","matches":[{"text":"Microsoft","offset":0,"length":9,"confidenceScore":0.38}],"language":"es","id":"Microsoft","url":"https://es.wikipedia.org/wiki/Microsoft","dataSource":"Wikipedia"}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: fd94c924-ab60-44f2-93e3-b10acccde0d5 + apim-request-id: 44767714-6a4c-424a-924c-2281ebd644a9 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=2 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -37,5 +37,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_all_successful_passing_text_document_input.yaml index 726f4d4ebb69..96ae9022483e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_all_successful_passing_text_document_input.yaml @@ -5,15 +5,15 @@ interactions: por Bill Gates y Paul Allen", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '200' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[{"name":"Bill Gates","matches":[{"text":"Bill @@ -26,16 +26,16 @@ interactions: Allen","matches":[{"text":"Paul Allen","offset":39,"length":10,"confidenceScore":0.55}],"language":"en","id":"Paul Allen","url":"https://en.wikipedia.org/wiki/Paul_Allen","dataSource":"Wikipedia"},{"name":"Microsoft","matches":[{"text":"Microsoft","offset":0,"length":9,"confidenceScore":0.49}],"language":"en","id":"Microsoft","url":"https://en.wikipedia.org/wiki/Microsoft","dataSource":"Wikipedia"}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 025755c7-b02e-47c8-9a7d-9bc05b057cc3 + apim-request-id: bb8696f3-516f-4e16-968c-806f4976bbd7 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=2 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '20' + x-envoy-upstream-service-time: '22' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_bad_credentials.yaml index f6eb4a8b8c7b..f7547cf9bae6 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_bad_credentials.yaml @@ -4,15 +4,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -20,9 +20,9 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:16 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_bad_model_version_error.yaml index 1ed7dca17f7a..ca9b99fbbe94 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_bad_model_version_error.yaml @@ -4,29 +4,29 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '101' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=bad&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2020-02-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-02-01"}}}' headers: - apim-request-id: 7249675b-85f5-4e8d-9419-edbce42d40d7 + apim-request-id: 3e856ba3-2402-4c02-b0be-da00335ca015 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '5' + x-envoy-upstream-service-time: '4' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?model-version=bad&showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_batch_size_over_limit.yaml index ef2eee9b4e86..c666ad2b67fb 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_batch_size_over_limit.yaml @@ -748,29 +748,29 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58755' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: fbca31f1-04a0-43ca-b267-d90d406db170 + apim-request-id: 19d2f5eb-5f76-41f5-951d-82b702978b80 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:18 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '10' + x-envoy-upstream-service-time: '11' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_batch_size_over_limit_error.yaml index ea4099b21f85..adfa81c01bbf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_batch_size_over_limit_error.yaml @@ -713,29 +713,29 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '55962' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: 6007033c-e14d-4fb2-ac42-b20824683b0f + apim-request-id: 22d07c20-a381-40d3-a681-05b77d5cd948 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:55 GMT + date: Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '16' + x-envoy-upstream-service-time: '12' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_client_passed_default_language_hint.yaml index 3d22cf0baafc..e037dbf92eec 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_client_passed_default_language_hint.yaml @@ -6,31 +6,31 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 469f7ac4-71a1-480a-b677-32c9cb37b495 + apim-request-id: b120bee4-b313-4ef4-917a-3baed429b68f content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:53 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '25' + x-envoy-upstream-service-time: '35' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -38,31 +38,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 50825193-f63a-4938-ac9c-474c0666b202 + apim-request-id: ecd6ee2d-ebc6-45e1-b6c2-0cf4d51bbde0 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '20' + x-envoy-upstream-service-time: '18' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "es"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -70,29 +70,29 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 22af470d-c9e3-482a-8ea1-e545a027c842 + apim-request-id: 63e51e08-7497-401b-b872-6c410d8af657 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '16' + x-envoy-upstream-service-time: '227' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_attribute_error_no_result_attribute.yaml index 277ae06a996c..27a6e317b3b7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_attribute_error_no_result_attribute.yaml @@ -3,24 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: e46f5195-cac5-4ad6-93d7-adc35e71c844 + apim-request-id: 1f12c053-2f58-40a4-9be0-72f5218376c1 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -28,5 +28,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_attribute_error_nonexistent_attribute.yaml index 73b70a3026a2..21f6483ace0a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,24 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: c7da8cc2-d67a-429e-9e7b-3ea1135082d8 + apim-request-id: c1561b9e-ab75-4847-a57c-e531ed5ccb1d content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -28,5 +28,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_errors.yaml index 98228f15b915..a07f969cc988 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_errors.yaml @@ -6,15 +6,15 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '5308' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -27,15 +27,15 @@ interactions: size to: 5120 text elements. For additional details on the data limitations see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 1efcd7ae-7817-4d9d-b7d7-4488c750ab2f + apim-request-id: 2fdae09d-20f0-4c19-a4ef-1c3e091ed1cc content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:18 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '1' + x-envoy-upstream-service-time: '5' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_warnings.yaml index 942af5ce87ee..c33bb072de8f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_document_warnings.yaml @@ -4,29 +4,29 @@ interactions: :''(", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '98' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 17bf9844-ece6-48bf-9846-ea55e0e21a9b + apim-request-id: 2e3b187d-d789-4230-9ebc-88f9c63b3c4e content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:53 GMT + date: Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '18' + x-envoy-upstream-service-time: '21' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_duplicate_ids_error.yaml index 18868d4215e6..ff52555217b7 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_duplicate_ids_error.yaml @@ -4,29 +4,29 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '150' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: - apim-request-id: 2161000b-0b54-49f5-b803-2a0aeea14b11 + apim-request-id: 4a7a2750-6002-4940-9046-eb950493df48 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '7' + x-envoy-upstream-service-time: '6' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_empty_credential_class.yaml index eb3ca2a20d64..f23c9da152aa 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_empty_credential_class.yaml @@ -4,15 +4,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -20,9 +20,9 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:53 GMT + date: Thu, 27 Aug 2020 19:32:19 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_input_with_all_errors.yaml index 80c2a8cd4708..f793fd61567f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_input_with_all_errors.yaml @@ -4,15 +4,15 @@ interactions: "Microsoft fue fundado por Bill Gates y Paul Allen", "language": "Spanish"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '155' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -21,9 +21,9 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 537d5f63-cf53-4a58-a44e-1ef5c3049ed5 + apim-request-id: eca7186d-9dd6-430e-bfbd-7ac428b1c6f2 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -31,5 +31,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_input_with_some_errors.yaml index 1c9b300eea9c..7afa82a14091 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_input_with_some_errors.yaml @@ -4,15 +4,15 @@ interactions: "Microsoft fue fundado por Bill Gates y Paul Allen", "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '150' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"2","entities":[{"name":"Bill Gates","matches":[{"text":"Bill @@ -23,16 +23,16 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: b9b8759e-0f33-43bc-8cc2-aa235472e7d0 + apim-request-id: 4bdf3ace-c34e-4543-b16a-5fb5f994435a content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:53 GMT + date: Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '15' + x-envoy-upstream-service-time: '22' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_invalid_language_hint_docs.yaml index 66f8999cda44..25c4344c241b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_invalid_language_hint_docs.yaml @@ -4,24 +4,24 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 77dfcf1f-3432-445d-8c41-2b7f61d12d66 + apim-request-id: 1f0d032f-3687-45d7-a39f-701b2e12b720 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:15 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -29,5 +29,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_invalid_language_hint_method.yaml index 800c87068757..7e1f4b944938 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_invalid_language_hint_method.yaml @@ -4,24 +4,24 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 0977ae21-8661-4ad2-b74f-aaea52b10322 + apim-request-id: 89b316e0-fee1-4533-a6e8-c6aa3c073f3d content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:55 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -29,5 +29,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_language_kwarg_spanish.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_language_kwarg_spanish.yaml index b2d8a03cb497..efd2f0a1efa9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_language_kwarg_spanish.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_language_kwarg_spanish.yaml @@ -4,15 +4,15 @@ interactions: "language": "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '93' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","statistics":{"charactersCount":35,"transactionsCount":1},"entities":[{"name":"Bill @@ -21,16 +21,16 @@ interactions: ejecutivo","matches":[{"text":"CEO","offset":18,"length":3,"confidenceScore":0.22}],"language":"es","id":"Director ejecutivo","url":"https://es.wikipedia.org/wiki/Director_ejecutivo","dataSource":"Wikipedia"}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 96d24414-61f1-45e4-b0ba-2d79ba7b7157 + apim-request-id: 69998e1a-3cb1-4dcc-bcd5-dec8224942b3 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:55 GMT + date: Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '12' + x-envoy-upstream-service-time: '17' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_out_of_order_ids.yaml index f532f47567b6..5cc645e6a054 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_out_of_order_ids.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"56","entities":[],"warnings":[]},{"id":"0","entities":[],"warnings":[]},{"id":"19","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 33247fd1-7a5b-4d05-be46-212e9d179ebb + apim-request-id: 78e6513f-4ebd-4fc3-a992-7a733a1039be content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:16 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '20' + x-envoy-upstream-service-time: '17' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_output_same_order_as_input.yaml index 56b28a32d832..7463b2868214 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_output_same_order_as_input.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]},{"id":"4","entities":[],"warnings":[]},{"id":"5","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 229ba3d2-0692-4ebd-ad22-0bdd986e7777 + apim-request-id: 9bd3fd58-ed24-4e9e-bacc-85ed6abacd90 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=5 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '17' + x-envoy-upstream-service-time: '15' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_pass_cls.yaml index a2bc3802c12f..4db9bfa7a1f3 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_pass_cls.yaml @@ -4,29 +4,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '86' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[{"name":".test","matches":[{"text":"Test","offset":0,"length":4,"confidenceScore":0.02}],"language":"en","id":".test","url":"https://en.wikipedia.org/wiki/.test","dataSource":"Wikipedia"}],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 95399e26-fec8-4c71-bf46-41c6d8344ef5 + apim-request-id: a7ab09cb-6989-4041-836d-cb6deacde0f4 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '18' + x-envoy-upstream-service-time: '20' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_passing_only_string.yaml index 5b581412c8a3..de8de4266662 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_passing_only_string.yaml @@ -6,15 +6,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '243' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[{"name":"Bill Gates","matches":[{"text":"Bill @@ -29,16 +29,16 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 6e846d7b-c38e-4e85-96d5-881a966bb493 + apim-request-id: 922d74ab-5d46-47f4-846e-b0e572eae97e content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=2 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '15' + x-envoy-upstream-service-time: '20' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_per_item_dont_use_language_hint.yaml index 2e9ba11c2b9f..6f9ab905977e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_per_item_dont_use_language_hint.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '236' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 9fe7703b-6ba0-45d5-9ec6-8ee4ecc734e0 + apim-request-id: d550fd00-a7c6-479b-83cf-b57b2c2b295c content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:55 GMT + date: Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '18' + x-envoy-upstream-service-time: '25' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_rotate_subscription_key.yaml index 05e14e2b178f..0f9e3324bc97 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_rotate_subscription_key.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 118eda7d-ce05-4319-9113-713873ef0eed + apim-request-id: 7e745c1d-5dcf-4201-9a22-2a3151a58310 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '18' + x-envoy-upstream-service-time: '28' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -38,15 +38,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -54,11 +54,11 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:21 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -66,23 +66,23 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 5c8055fc-ba3e-4a14-84be-7d445f310de1 + apim-request-id: a39330f2-e71f-4ba3-908a-c8e83da663bc content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -90,5 +90,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_show_stats_and_model_version.yaml index a9add4cab583..06e95fdb1f79 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_show_stats_and_model_version.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"0","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"19","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"1","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document text is empty."}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: be1949a7-90b0-442d-a5e4-d8f4f70183c2 + apim-request-id: 3026de3b-9e0b-4873-88cc-c256cc825472 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Fri, 24 Jul 2020 16:32:55 GMT + date: Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '17' + x-envoy-upstream-service-time: '18' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_string_index_type_not_fail_v3.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_string_index_type_not_fail_v3.yaml new file mode 100644 index 000000000000..d81f490d6dca --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_string_index_type_not_fail_v3.yaml @@ -0,0 +1,31 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "please don''t fail", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '75' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0/entities/linking?showStats=false + response: + body: + string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' + headers: + apim-request-id: 5ae1c436-117a-404c-ad53-bf5fae2c0230 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Thu, 27 Aug 2020 19:32:22 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '22' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.0/entities/linking?showStats=false +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_too_many_documents.yaml index f22ac6f8c53b..00b0a86b2d0c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_too_many_documents.yaml @@ -6,23 +6,23 @@ interactions: "en"}, {"id": "5", "text": "Six", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '295' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: f0e9e45e-7a90-4b71-8366-c5cf0c4c4d14 + apim-request-id: 9b98225e-146b-4e74-9021-703a1b2925d1 content-type: application/json; charset=utf-8 - date: Tue, 04 Aug 2020 21:24:47 GMT + date: Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -30,5 +30,5 @@ interactions: status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_user_agent.yaml index 8df745d5fa6a..f2c4763d7a3b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_user_agent.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 91c99cfb-6cff-4875-be5f-45049318de2e + apim-request-id: 3cd8f925-4259-4bfe-8a97-7cdc2b4ea786 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '21' + x-envoy-upstream-service-time: '18' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_dont_use_language_hint.yaml index d1e416480b26..298ba632d485 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_dont_use_language_hint.yaml @@ -6,29 +6,29 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '273' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 5f54fc71-e850-480b-8302-1bd53fe461ca + apim-request-id: cda36a3a-17ee-4db6-9f60-e99b1b6969e3 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:55 GMT + date: Thu, 27 Aug 2020 19:32:18 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '22' + x-envoy-upstream-service-time: '36' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint.yaml index db0d67dcd685..c9a02c533968 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint.yaml @@ -6,15 +6,15 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '279' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid @@ -25,9 +25,9 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 4793450f-091a-4a73-8e00-cef2601a1ee0 + apim-request-id: 2bbc5dea-18cb-4d86-8bba-6835a4f405f2 content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:18 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -35,5 +35,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index c59970badac2..f730e51e3622 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: d6f10f38-8662-4984-9298-5280bd55065d + apim-request-id: 359f535a-68d6-43ed-aa62-ec3c808145ea content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:55 GMT + date: Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '17' + x-envoy-upstream-service-time: '43' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_obj_input.yaml index cd927bfed930..2143745774fd 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,15 +6,15 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -25,9 +25,9 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en,es"}}}],"modelVersion":"2020-02-01"}' headers: - apim-request-id: 0e8b861c-c482-4948-8f86-06a2bd59819d + apim-request-id: 24c36bec-7d81-4a3e-befc-a8ce6822caad content-type: application/json; charset=utf-8 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -35,5 +35,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index b4fc91911f52..854da5018d79 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_linked_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-02-01"}' headers: - apim-request-id: a0737de8-e4ad-40d1-9709-404d4bf77a13 + apim-request-id: d0d3be60-07d3-4012-b1ad-2ec83fb0deac content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Fri, 24 Jul 2020 16:32:54 GMT + date: Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '28' + x-envoy-upstream-service-time: '16' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/linking?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_all_successful_passing_dict.yaml index 6115f8866337..23f1707bcc7b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_all_successful_passing_dict.yaml @@ -6,7 +6,7 @@ interactions: "3", "text": "Is 998.214.865-68 your Brazilian CPF number?", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,25 +16,27 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":3,"validDocumentsCount":3,"erroneousDocumentsCount":0,"transactionsCount":3},"documents":[{"id":"1","statistics":{"charactersCount":22,"transactionsCount":1},"entities":[{"text":"859-98-0987","category":"U.S. Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]},{"id":"2","statistics":{"charactersCount":105,"transactionsCount":1},"entities":[{"text":"111000025","category":"Phone Number","offset":18,"length":9,"confidenceScore":0.8},{"text":"111000025","category":"ABA - Routing Number","offset":18,"length":9,"confidenceScore":0.75}],"warnings":[]},{"id":"3","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil - CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + Routing Number","offset":18,"length":9,"confidenceScore":0.75},{"text":"111000025","category":"New + Zealand Social Welfare Number","offset":18,"length":9,"confidenceScore":0.65},{"text":"111000025","category":"Portugal + Tax Identification Number","offset":18,"length":9,"confidenceScore":0.65}],"warnings":[]},{"id":"3","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil + CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 13864f85-984d-4a9b-8df3-c1409f0731b2 + - 9b77a7ab-96b7-4649-9237-a9adf10127db content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:42 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '155' + - '132' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_all_successful_passing_text_document_input.yaml index 83aef7498df7..f0ed93b6f3a8 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_all_successful_passing_text_document_input.yaml @@ -6,7 +6,7 @@ interactions: "3", "text": "Is 998.214.865-68 your Brazilian CPF number?", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,25 +16,27 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":3,"validDocumentsCount":3,"erroneousDocumentsCount":0,"transactionsCount":3},"documents":[{"id":"1","statistics":{"charactersCount":22,"transactionsCount":1},"entities":[{"text":"859-98-0987","category":"U.S. Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]},{"id":"2","statistics":{"charactersCount":105,"transactionsCount":1},"entities":[{"text":"111000025","category":"Phone Number","offset":18,"length":9,"confidenceScore":0.8},{"text":"111000025","category":"ABA - Routing Number","offset":18,"length":9,"confidenceScore":0.75}],"warnings":[]},{"id":"3","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil - CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + Routing Number","offset":18,"length":9,"confidenceScore":0.75},{"text":"111000025","category":"New + Zealand Social Welfare Number","offset":18,"length":9,"confidenceScore":0.65},{"text":"111000025","category":"Portugal + Tax Identification Number","offset":18,"length":9,"confidenceScore":0.65}],"warnings":[]},{"id":"3","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil + CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 276ffd38-55e9-4b8a-b4c8-a4af7c8286d9 + - a609f561-bb88-4571-84e7-478a670d3549 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:42 GMT + - Thu, 27 Aug 2020 19:32:17 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '116' + - '135' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_bad_credentials.yaml index 43251cb00dd4..d698307d3de4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_bad_credentials.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Thu, 23 Jul 2020 17:18:42 GMT + - Thu, 27 Aug 2020 19:32:18 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_bad_model_version_error.yaml index f1724aa7e308..eb606c30a01c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_bad_model_version_error.yaml @@ -4,7 +4,7 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=bad&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2020-04-01,2019-10-01,2020-02-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-02-01,2020-04-01,2020-07-01"}}}' headers: apim-request-id: - - c999c1e5-ba3b-4351-b65d-4356362357c6 + - e8d6a18a-53f3-4404-a8a0-0bfbc08aaf97 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:43 GMT + - Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '4' + - '5' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_batch_size_over_limit.yaml index e6d9bfac4ea9..33e113dd9160 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_batch_size_over_limit.yaml @@ -748,7 +748,7 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -758,20 +758,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - e5020bb3-4385-4907-a1b3-61723f79cc79 + - 25a33acf-f793-4c69-bb97-46449d3fe853 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:44 GMT + - Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -779,7 +779,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '12' + - '13' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_batch_size_over_limit_error.yaml index 6df091febc9b..9665c85dc1d9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_batch_size_over_limit_error.yaml @@ -713,7 +713,7 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -723,20 +723,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - 6218bc52-cde1-4519-8dc8-4b4092efdf08 + - 2ea55982-d5ac-4b50-97d5-7c373c7d0081 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:44 GMT + - Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_client_passed_default_language_hint.yaml index 3c9c62ee0c6a..554b5dc6d544 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_client_passed_default_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -27,14 +27,14 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - e517622a-4ba2-4b27-8be3-ffd90abfb08a + - f7cd8364-9393-4ee6-8164-1df9cda01c70 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:44 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -53,7 +53,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -63,21 +63,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 8e0ca8ea-a7f1-4d04-842d-754d62659c85 + - a1ed5ef1-4fea-46ed-b836-659475a32277 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:46 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -85,7 +85,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '105' + - '109' status: code: 200 message: OK @@ -96,7 +96,7 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -106,9 +106,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -117,14 +117,14 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - e78f6c84-2db5-49ed-8225-d4cde4b86ffe + - ef15bf35-0343-4aa5-8d12-97b1af5243ec content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:46 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -132,7 +132,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_attribute_error_no_result_attribute.yaml index 0bb07ba438d7..35988a577216 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_attribute_error_no_result_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,21 +13,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 4dba7af2-29bb-432a-9178-13ef624f7d00 + - bbdd91e0-cdc9-4708-8d20-d4d5be6a4aff content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:45 GMT + - Thu, 27 Aug 2020 19:32:18 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -35,7 +35,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_attribute_error_nonexistent_attribute.yaml index bf373a45aa29..32c5b23e32da 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,7 +3,7 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -13,21 +13,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 166e1ed8-b99e-4510-b4d1-5d75ea2f8657 + - 40338d13-59a7-41fc-bf9f-39bcbe3030a6 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:46 GMT + - Thu, 27 Aug 2020 19:32:18 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_errors.yaml index 33172475a45f..15f50d6385f4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_errors.yaml @@ -6,7 +6,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -29,14 +29,14 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations - see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-04-01"}' + see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 860c6f8f-a447-4ec6-9b05-97c5608db3be + - 1d7d7f7e-12f7-4e26-a0f1-358dd5e68859 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:47 GMT + - Thu, 27 Aug 2020 19:32:18 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -44,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '3' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_warnings.yaml index b71ea37404f9..8b88801be515 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_document_warnings.yaml @@ -4,7 +4,7 @@ interactions: :''(", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - ae9db402-9b0d-4553-b16c-253ece9ed33d + - 2c9c52d3-850e-442f-9d59-1e8e4265f60a content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 23 Jul 2020 17:18:47 GMT + - Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '89' + - '127' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_duplicate_ids_error.yaml index a99d43e7817f..6b059da4371e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_duplicate_ids_error.yaml @@ -4,7 +4,7 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,20 +14,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: apim-request-id: - - 30ffe8c5-5001-4d47-800f-eaabba1d0476 + - 7168cdaf-4b84-476d-9ef2-7bd8136feb81 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:47 GMT + - Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_empty_credential_class.yaml index e1b1c1696e6d..ae282bef6b3c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_empty_credential_class.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -26,7 +26,7 @@ interactions: content-length: - '224' date: - - Thu, 23 Jul 2020 17:18:47 GMT + - Thu, 27 Aug 2020 19:32:19 GMT status: code: 401 message: PermissionDenied diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_input_with_all_errors.yaml index 2cb6dac5da50..888e6ed8f939 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_input_with_all_errors.yaml @@ -4,7 +4,7 @@ interactions: "Hola", "language": "Spanish"}, {"id": "3", "text": "", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,9 +14,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -25,14 +25,14 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 7fe78d0f-6593-4b2f-9ae1-b60130cd536e + - a0bdd2e2-4d69-4df9-a295-a95b4f0377fc content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:48 GMT + - Thu, 27 Aug 2020 19:32:19 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_input_with_some_errors.yaml index 8919d3d7bcdb..076de6808107 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_input_with_some_errors.yaml @@ -5,7 +5,7 @@ interactions: CPF number?", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -15,9 +15,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"3","entities":[{"text":"998.214.865-68","category":"Brazil @@ -25,16 +25,16 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 51708468-566e-4842-8040-bba767c70b62 + - 120bc6cc-6db4-41ef-928e-66bf40ee61ed content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 23 Jul 2020 17:18:49 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '81' + - '75' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_invalid_language_hint_docs.yaml index 9aab4df07b0d..cb0650e058ba 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_invalid_language_hint_docs.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 12a8aace-0a2e-4d2f-8f8f-eda36292b9c4 + - 7744a13d-caf7-490e-91c1-2ed98b6aabfa content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:48 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_invalid_language_hint_method.yaml index e12d677551cf..21761d6ee661 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_invalid_language_hint_method.yaml @@ -4,7 +4,7 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 091a3f26-8289-46b5-84e9-53e768af8099 + - 1b0f61a4-f15f-42c4-99b7-19607b852cb1 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:49 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_korean_nfc.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_korean_nfc.yaml new file mode 100644 index 000000000000..ab64d71e8c5c --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_korean_nfc.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\uc544\uac00 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - bc6a9e60-774c-443a-9c35-6cbffa210d22 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Thu, 27 Aug 2020 19:32:21 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '72' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_korean_nfd.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_korean_nfd.yaml new file mode 100644 index 000000000000..cf88fbd01eea --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_korean_nfd.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\uc544\uac00 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 3362c6da-0e2e-49be-a661-2c55332f2928 + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Thu, 27 Aug 2020 19:32:21 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '68' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_language_kwarg_english.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_language_kwarg_english.yaml index 630dc3868ef0..740f8adf3d90 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_language_kwarg_english.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_language_kwarg_english.yaml @@ -4,7 +4,7 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,22 +14,22 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","statistics":{"charactersCount":35,"transactionsCount":1},"entities":[{"text":"Bill - Gates","category":"Person","offset":0,"length":10,"confidenceScore":0.81},{"text":"Microsoft","category":"Organization","offset":25,"length":9,"confidenceScore":0.64}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + Gates","category":"Person","offset":0,"length":10,"confidenceScore":0.81},{"text":"Microsoft","category":"Organization","offset":25,"length":9,"confidenceScore":0.64}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 985c402a-0b74-4e08-99b6-c3e7bd65cb6c + - 30a05f6a-9222-4173-9391-94cbc884ebf5 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 23 Jul 2020 17:18:50 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_out_of_order_ids.yaml index 915900cec00e..1671cad6e853 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_out_of_order_ids.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"56","entities":[],"warnings":[]},{"id":"0","entities":[],"warnings":[]},{"id":"19","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - f418d976-9a1d-470a-bf54-f651eae438f4 + - a3493dae-85d1-49d4-a577-6576413cf439 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Thu, 23 Jul 2020 17:18:51 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '71' + - '64' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_output_same_order_as_input.yaml index 52010d6d45cd..c07f6e0572e1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_output_same_order_as_input.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]},{"id":"4","entities":[],"warnings":[]},{"id":"5","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]},{"id":"4","entities":[],"warnings":[]},{"id":"5","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - b73d414c-77b4-4732-985f-8429761f6f6e + - 90ba8b73-da3b-4018-9991-c3116fb36f3f content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=5 date: - - Thu, 23 Jul 2020 17:18:51 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '64' + - '74' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_pass_cls.yaml index 8a11ff62aa8b..14cebef2d0f0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_pass_cls.yaml @@ -4,7 +4,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -14,21 +14,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 610f90f1-6b0e-4da9-b901-a49a0446cb6d + - 8a8147fd-2fc8-4042-a01f-eb9bba5c40fc content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 23 Jul 2020 17:18:52 GMT + - Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -36,7 +36,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '77' + - '74' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_passing_only_string.yaml index caf22991e8a1..e0dbd2187485 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_passing_only_string.yaml @@ -7,7 +7,7 @@ interactions: {"id": "3", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -17,27 +17,29 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":4,"validDocumentsCount":3,"erroneousDocumentsCount":1,"transactionsCount":3},"documents":[{"id":"0","statistics":{"charactersCount":22,"transactionsCount":1},"entities":[{"text":"859-98-0987","category":"U.S. Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]},{"id":"1","statistics":{"charactersCount":105,"transactionsCount":1},"entities":[{"text":"111000025","category":"Phone Number","offset":18,"length":9,"confidenceScore":0.8},{"text":"111000025","category":"ABA - Routing Number","offset":18,"length":9,"confidenceScore":0.75}],"warnings":[]},{"id":"2","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil + Routing Number","offset":18,"length":9,"confidenceScore":0.75},{"text":"111000025","category":"New + Zealand Social Welfare Number","offset":18,"length":9,"confidenceScore":0.65},{"text":"111000025","category":"Portugal + Tax Identification Number","offset":18,"length":9,"confidenceScore":0.65}],"warnings":[]},{"id":"2","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 09bb7695-a0b3-4468-8dde-4be27d7a2b82 + - 0e9b80e1-e74f-449b-b08a-771e48bb9c07 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:52 GMT + - Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -45,7 +47,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '110' + - '137' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_per_item_dont_use_language_hint.yaml index 4f1f295bfaab..5a16a3611d43 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_per_item_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - f3aaa4c2-89dd-49e8-9da7-df2a929da79d + - bb48ee12-770a-4d71-a2a7-ea30caa599a9 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:53 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '78' + - '82' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_rotate_subscription_key.yaml index 16bc09074252..89deb9f049d2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_rotate_subscription_key.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 62420b86-ba2f-4072-8b84-a38812d95461 + - 67817078-fcf6-483e-b95f-23140828b574 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:53 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '77' + - '96' status: code: 200 message: OK @@ -49,7 +49,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -59,9 +59,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -71,7 +71,7 @@ interactions: content-length: - '224' date: - - Thu, 23 Jul 2020 17:18:53 GMT + - Thu, 27 Aug 2020 19:32:21 GMT status: code: 401 message: PermissionDenied @@ -82,7 +82,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -92,21 +92,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 88eb6c1d-7ae6-4cde-b702-c5b9c966fa0d + - 6913efd8-0834-4e52-8e4a-6302c7979d9c content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:53 GMT + - Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -114,7 +114,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '73' + - '152' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_show_stats_and_model_version.yaml index a479942ee575..1682bfa127c6 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_show_stats_and_model_version.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,23 +16,23 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"0","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"19","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"1","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 8b7f87bf-9f61-49a9-8922-df3b7eae9483 + - c94b7e10-ee0b-434e-af07-5054b39c87c1 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=4 date: - - Thu, 23 Jul 2020 17:18:54 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -40,7 +40,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '61' + - '62' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_too_many_documents.yaml index 71e25ea034c5..b53195935671 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_too_many_documents.yaml @@ -6,7 +6,7 @@ interactions: "en"}, {"id": "5", "text": "Six", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,20 +16,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 5 records are permitted."}}}' headers: apim-request-id: - - a4ca5330-0c19-4f05-b0f1-340a4811f13f + - 5bdd7340-d5c5-41b6-ac2d-18533938d933 content-type: - application/json; charset=utf-8 date: - - Tue, 04 Aug 2020 21:24:47 GMT + - Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -37,7 +37,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '6' + - '5' status: code: 400 message: Bad Request diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_user_agent.yaml index 8c49dbc2c0ba..5f1f3a6d13f5 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_user_agent.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 739b9ff6-e3f2-4041-b78b-c2d390ca9ed6 + - 45f74f51-713a-4dc0-adf4-b80ba0f9a268 content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:54 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '77' + - '93' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_dont_use_language_hint.yaml index ebedb39b5cbb..22257016f01d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_dont_use_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,21 +16,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 0f25d1cb-0166-4738-8795-84c423d91cea + - d60ce436-4886-404e-be9b-f313e803a85b content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=3 date: - - Thu, 23 Jul 2020 17:18:55 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -38,7 +38,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '89' + - '127' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint.yaml index 3662a1b3e496..4d088496d67b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint.yaml @@ -6,7 +6,7 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid @@ -27,14 +27,14 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - cb56e9a0-cd4c-4993-8dfd-73de11e11b05 + - b95c1ece-3f2e-42d3-871c-5ba5c0cdcc84 content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:55 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '1' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index 4ae9d2f8c7b1..77e7fefa2b5f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,25 +16,25 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"3","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 1fbd838e-78e4-4f31-82ab-a938eadcc52a + - 79decd0f-84e6-4041-b6be-3e9c1357a2ed content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 23 Jul 2020 17:18:55 GMT + - Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '68' + - '70' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_obj_input.yaml index ce527caa8a66..2a5d05e6dead 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,7 +6,7 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,9 +16,9 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -27,14 +27,14 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - bd493308-10ac-4a0c-a559-9f7a74ac4850 + - 933a1b16-a91d-4a42-8ca2-3b36645d3dba content-type: - application/json; charset=utf-8 date: - - Thu, 23 Jul 2020 17:18:56 GMT + - Thu, 27 Aug 2020 19:32:20 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '2' + - '5' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index c1da00e77783..fa5f1b115182 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,7 +6,7 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate Connection: @@ -16,25 +16,25 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"3","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: apim-request-id: - - 29a834cb-81ac-47dd-951a-5662f273892f + - a233480b-7b8f-4f17-a2a1-660c7604c3ed content-type: - application/json; charset=utf-8 csp-billing-usage: - CognitiveServices.TextAnalytics.BatchScoring=1 date: - - Thu, 23 Jul 2020 17:18:56 GMT + - Thu, 27 Aug 2020 19:32:21 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-envoy-upstream-service-time: - - '60' + - '56' status: code: 200 message: OK diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_all_successful_passing_dict.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_all_successful_passing_dict.yaml index 04a4bc7abfd3..f90b091090ba 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_all_successful_passing_dict.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_all_successful_passing_dict.yaml @@ -6,33 +6,35 @@ interactions: "3", "text": "Is 998.214.865-68 your Brazilian CPF number?", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '315' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":3,"validDocumentsCount":3,"erroneousDocumentsCount":0,"transactionsCount":3},"documents":[{"id":"1","statistics":{"charactersCount":22,"transactionsCount":1},"entities":[{"text":"859-98-0987","category":"U.S. Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]},{"id":"2","statistics":{"charactersCount":105,"transactionsCount":1},"entities":[{"text":"111000025","category":"Phone Number","offset":18,"length":9,"confidenceScore":0.8},{"text":"111000025","category":"ABA - Routing Number","offset":18,"length":9,"confidenceScore":0.75}],"warnings":[]},{"id":"3","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil - CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + Routing Number","offset":18,"length":9,"confidenceScore":0.75},{"text":"111000025","category":"New + Zealand Social Welfare Number","offset":18,"length":9,"confidenceScore":0.65},{"text":"111000025","category":"Portugal + Tax Identification Number","offset":18,"length":9,"confidenceScore":0.65}],"warnings":[]},{"id":"3","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil + CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: c4e0391d-522b-418c-a87e-f72c6c97f98b + apim-request-id: 57420848-7e2e-4cc5-9b35-b09e33f63963 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:44 GMT + date: Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '108' + x-envoy-upstream-service-time: '101' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_all_successful_passing_text_document_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_all_successful_passing_text_document_input.yaml index 6d1ee80da1d7..8ac00eb32803 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_all_successful_passing_text_document_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_all_successful_passing_text_document_input.yaml @@ -6,33 +6,35 @@ interactions: "3", "text": "Is 998.214.865-68 your Brazilian CPF number?", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '315' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":3,"validDocumentsCount":3,"erroneousDocumentsCount":0,"transactionsCount":3},"documents":[{"id":"1","statistics":{"charactersCount":22,"transactionsCount":1},"entities":[{"text":"859-98-0987","category":"U.S. Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]},{"id":"2","statistics":{"charactersCount":105,"transactionsCount":1},"entities":[{"text":"111000025","category":"Phone Number","offset":18,"length":9,"confidenceScore":0.8},{"text":"111000025","category":"ABA - Routing Number","offset":18,"length":9,"confidenceScore":0.75}],"warnings":[]},{"id":"3","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil - CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + Routing Number","offset":18,"length":9,"confidenceScore":0.75},{"text":"111000025","category":"New + Zealand Social Welfare Number","offset":18,"length":9,"confidenceScore":0.65},{"text":"111000025","category":"Portugal + Tax Identification Number","offset":18,"length":9,"confidenceScore":0.65}],"warnings":[]},{"id":"3","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil + CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 4d0ae1a3-25c0-4790-ab39-081afa0a43a3 + apim-request-id: ee5ca9b1-9705-4a35-b4b8-b06f85d2ca02 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:45 GMT + date: Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '109' + x-envoy-upstream-service-time: '102' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_bad_credentials.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_bad_credentials.yaml index 96d6c3d4a0b8..a023c3c9a13a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_bad_credentials.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_bad_credentials.yaml @@ -4,15 +4,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -20,9 +20,9 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Thu, 23 Jul 2020 17:19:45 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_bad_model_version_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_bad_model_version_error.yaml index 4e1306e98bde..293c2488b3b9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_bad_model_version_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_bad_model_version_error.yaml @@ -4,23 +4,23 @@ interactions: at.", "language": "english"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '101' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=bad&showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid Request.","innererror":{"code":"ModelVersionIncorrect","message":"Invalid - model version. Possible values are: latest,2020-04-01,2019-10-01,2020-02-01"}}}' + model version. Possible values are: latest,2019-10-01,2020-02-01,2020-04-01,2020-07-01"}}}' headers: - apim-request-id: ba42b7a5-d3b0-4c87-a0f5-0436156f76b1 + apim-request-id: 43bedb24-bd9c-44ae-90c5-460a32119809 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:45 GMT + date: Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -28,5 +28,5 @@ interactions: status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=bad&showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=bad&showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_batch_size_over_limit.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_batch_size_over_limit.yaml index 0fe34da57c2b..4d10c69255dc 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_batch_size_over_limit.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_batch_size_over_limit.yaml @@ -748,29 +748,29 @@ interactions: {"id": "1049", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58755' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: 995c6d23-0bc5-4396-b3af-96c997a2e97c + apim-request-id: 37da7e75-6c21-445a-aaa6-b55d2da0905d content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:46 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '11' + x-envoy-upstream-service-time: '12' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_batch_size_over_limit_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_batch_size_over_limit_error.yaml index 3f1f1d23f729..0f6d3efba8cf 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_batch_size_over_limit_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_batch_size_over_limit_error.yaml @@ -713,29 +713,29 @@ interactions: "1000", "text": "hello world", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '55962' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch - request contains too many records. Max 1000 records are permitted."}}}' + request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: aa9589a7-7057-4899-8853-64e9a9a4588e + apim-request-id: 81161f83-2b34-4eb4-b8ba-49cc40e927df content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:47 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '10' + x-envoy-upstream-service-time: '14' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_client_passed_default_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_client_passed_default_language_hint.yaml index 5669a1da3adb..e33bfab35515 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_client_passed_default_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_client_passed_default_language_hint.yaml @@ -6,15 +6,15 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,19 +23,19 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 63a32671-e4f1-4ecf-b8dd-5c58051ebda9 + apim-request-id: 72900d93-a5ad-4ef6-b515-25221980fad3 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:47 GMT + date: Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '2' + x-envoy-upstream-service-time: '1' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -43,31 +43,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 272a4c80-6b40-476f-9d05-701c2a54ea72 + apim-request-id: c999cf14-f1fa-4a82-9cad-5e6c137a84c3 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:47 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '92' + x-envoy-upstream-service-time: '83' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "es"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -75,15 +75,15 @@ interactions: "es"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -92,11 +92,11 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: f344bd29-a1d2-4109-8499-fc1817740a61 + apim-request-id: 87d50a97-692b-478f-ae4c-ecc742ddc8f2 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:47 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -104,5 +104,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_diacritics_nfc.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_diacritics_nfc.yaml new file mode 100644 index 000000000000..c47f7647102c --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_diacritics_nfc.yaml @@ -0,0 +1,28 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "a\u00f1o SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '83' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"error":{"code":"401","message":"Access denied due to invalid subscription + key or wrong API endpoint. Make sure to provide a valid key for an active + subscription and use a correct regional API endpoint for your resource."}}' + headers: + content-length: '224' + date: Fri, 28 Aug 2020 16:56:28 GMT + status: + code: 401 + message: PermissionDenied + url: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_diacritics_nfd.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_diacritics_nfd.yaml new file mode 100644 index 000000000000..ae26beef9a99 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_diacritics_nfd.yaml @@ -0,0 +1,28 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "an\u0303o SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '84' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"error":{"code":"401","message":"Access denied due to invalid subscription + key or wrong API endpoint. Make sure to provide a valid key for an active + subscription and use a correct regional API endpoint for your resource."}}' + headers: + content-length: '224' + date: Fri, 28 Aug 2020 16:56:28 GMT + status: + code: 401 + message: PermissionDenied + url: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_attribute_error_no_result_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_attribute_error_no_result_attribute.yaml index 8fe2598fc88b..63e7992456c0 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_attribute_error_no_result_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_attribute_error_no_result_attribute.yaml @@ -3,24 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 2d1f109a-17ed-4b83-b1aa-ee11406f4c72 + apim-request-id: c62dcb0e-de00-4c1f-bfeb-4a757297665b content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:48 GMT + date: Thu, 27 Aug 2020 19:32:22 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -28,5 +28,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_attribute_error_nonexistent_attribute.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_attribute_error_nonexistent_attribute.yaml index 032e12b2f14b..888ba222d32b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_attribute_error_nonexistent_attribute.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_attribute_error_nonexistent_attribute.yaml @@ -3,24 +3,24 @@ interactions: body: '{"documents": [{"id": "1", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '58' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: f363c9a3-910b-4437-95f5-b3bfb7d1038c + apim-request-id: 7555b158-b4fd-48db-b80e-907817c236f2 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:48 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -28,5 +28,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_errors.yaml index ca234b3ee88c..5a5683622b6d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_errors.yaml @@ -6,15 +6,15 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '5308' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -25,17 +25,17 @@ interactions: document in request.","innererror":{"code":"InvalidDocument","message":"A document within the request was too large to be processed. Limit document size to: 5120 text elements. For additional details on the data limitations - see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-04-01"}' + see https://aka.ms/text-analytics-data-limits"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: f7e35a3b-dfe2-494c-82b7-f3ab5759b8c3 + apim-request-id: bdccbcd2-f4aa-4a08-a823-ee11d6a7e98a content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:49 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '4' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_warnings.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_warnings.yaml index 164878ac9be1..df39201ee93d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_warnings.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_document_warnings.yaml @@ -4,29 +4,29 @@ interactions: :''(", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '98' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: c4071053-3e6e-4bfa-bc65-6a85f13e053f + apim-request-id: 1174b12d-1b69-4ca0-99c8-dc8720bcc910 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 23 Jul 2020 17:19:49 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '79' + x-envoy-upstream-service-time: '102' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_duplicate_ids_error.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_duplicate_ids_error.yaml index b5208e4b463e..a256cdda166f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_duplicate_ids_error.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_duplicate_ids_error.yaml @@ -4,23 +4,23 @@ interactions: "1", "text": "I did not like the hotel we stayed at.", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '150' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."}}}' headers: - apim-request-id: eb8ac9bb-71d3-4895-925d-be0bd9e70da7 + apim-request-id: e67e8d7d-d60e-4925-b11e-87454e545736 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:50 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -28,5 +28,5 @@ interactions: status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji.yaml new file mode 100644 index 000000000000..cdb44d9ae10e --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji.yaml @@ -0,0 +1,28 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"error":{"code":"401","message":"Access denied due to invalid subscription + key or wrong API endpoint. Make sure to provide a valid key for an active + subscription and use a correct regional API endpoint for your resource."}}' + headers: + content-length: '224' + date: Fri, 28 Aug 2020 16:56:27 GMT + status: + code: 401 + message: PermissionDenied + url: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_family.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_family.yaml new file mode 100644 index 000000000000..48ddda9d21a8 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_family.yaml @@ -0,0 +1,28 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67 + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '141' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"error":{"code":"401","message":"Access denied due to invalid subscription + key or wrong API endpoint. Make sure to provide a valid key for an active + subscription and use a correct regional API endpoint for your resource."}}' + headers: + content-length: '224' + date: Fri, 28 Aug 2020 16:56:28 GMT + status: + code: 401 + message: PermissionDenied + url: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_family_with_skin_tone_modifier.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_family_with_skin_tone_modifier.yaml new file mode 100644 index 000000000000..1cfa26f6a7f2 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_family_with_skin_tone_modifier.yaml @@ -0,0 +1,28 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\ud83c\udffb\u200d\ud83d\udc69\ud83c\udffd\u200d\ud83d\udc67\ud83c\udffe\u200d\ud83d\udc66\ud83c\udfff + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '189' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"error":{"code":"401","message":"Access denied due to invalid subscription + key or wrong API endpoint. Make sure to provide a valid key for an active + subscription and use a correct regional API endpoint for your resource."}}' + headers: + content-length: '224' + date: Fri, 28 Aug 2020 16:56:28 GMT + status: + code: 401 + message: PermissionDenied + url: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_with_skin_tone_modifier.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_with_skin_tone_modifier.yaml new file mode 100644 index 000000000000..85a8b4c68348 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_emoji_with_skin_tone_modifier.yaml @@ -0,0 +1,28 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\ud83d\udc69\ud83c\udffb SSN: 859-98-0987", + "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '99' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"error":{"code":"401","message":"Access denied due to invalid subscription + key or wrong API endpoint. Make sure to provide a valid key for an active + subscription and use a correct regional API endpoint for your resource."}}' + headers: + content-length: '224' + date: Fri, 28 Aug 2020 16:56:28 GMT + status: + code: 401 + message: PermissionDenied + url: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_empty_credential_class.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_empty_credential_class.yaml index 0fcb79963484..a023c3c9a13a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_empty_credential_class.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_empty_credential_class.yaml @@ -4,15 +4,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '85' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -20,9 +20,9 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Thu, 23 Jul 2020 17:19:49 GMT + date: Thu, 27 Aug 2020 19:32:23 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_input_with_all_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_input_with_all_errors.yaml index 0bbd383679e5..2b2f0220f383 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_input_with_all_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_input_with_all_errors.yaml @@ -4,15 +4,15 @@ interactions: "Hola", "language": "Spanish"}, {"id": "3", "text": "", "language": "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '153' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -21,11 +21,11 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 04aae24c-cda5-46df-82d8-d00ce1b997e0 + apim-request-id: 7c0d7dc0-d0c1-41fb-9e65-70d574e289b6 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:50 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff @@ -33,5 +33,5 @@ interactions: status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_input_with_some_errors.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_input_with_some_errors.yaml index a1bd4c36a655..1bd044ee937d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_input_with_some_errors.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_input_with_some_errors.yaml @@ -5,15 +5,15 @@ interactions: CPF number?", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '192' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"3","entities":[{"text":"998.214.865-68","category":"Brazil @@ -21,18 +21,18 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: b41905c9-2f2d-40ee-821e-2482d4882b61 + apim-request-id: 99992683-434e-48e9-8201-3f7adeb81f56 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 23 Jul 2020 17:19:50 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '79' + x-envoy-upstream-service-time: '80' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_invalid_language_hint_docs.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_invalid_language_hint_docs.yaml index 07bf4a04c6db..c70b9fe8f0b9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_invalid_language_hint_docs.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_invalid_language_hint_docs.yaml @@ -4,30 +4,30 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: a77e3fea-6c23-477f-8a72-3885cb74e89f + apim-request-id: f6023f95-fa23-444a-8eb2-63a3738839f8 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:51 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '2' + x-envoy-upstream-service-time: '3' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_invalid_language_hint_method.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_invalid_language_hint_method.yaml index ab4b47342a6b..3242cf343967 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_invalid_language_hint_method.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_invalid_language_hint_method.yaml @@ -4,30 +4,30 @@ interactions: in an invalid language hint", "language": "notalanguage"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '134' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 439917d9-3122-42b3-923f-f45d5927a520 + apim-request-id: 3ec87b00-53b7-4a4e-8e81-918ae5c25aa3 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:51 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '2' + x-envoy-upstream-service-time: '1' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_korean_nfc.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_korean_nfc.yaml new file mode 100644 index 000000000000..906c950775e9 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_korean_nfc.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\uc544\uac00 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: f7cdcc8b-eb6f-4a04-8e6d-77d2eaeaf8f9 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Thu, 27 Aug 2020 19:32:24 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '68' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_korean_nfd.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_korean_nfd.yaml new file mode 100644 index 000000000000..52e339150f69 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_korean_nfd.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "\uc544\uac00 SSN: 859-98-0987", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '87' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":8,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: 297a6648-784e-4424-8019-1085237d7a5d + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Thu, 27 Aug 2020 19:32:24 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '62' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_language_kwarg_english.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_language_kwarg_english.yaml index 4c931318f80b..66e98bebbf33 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_language_kwarg_english.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_language_kwarg_english.yaml @@ -4,30 +4,30 @@ interactions: "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '93' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":1,"validDocumentsCount":1,"erroneousDocumentsCount":0,"transactionsCount":1},"documents":[{"id":"0","statistics":{"charactersCount":35,"transactionsCount":1},"entities":[{"text":"Bill - Gates","category":"Person","offset":0,"length":10,"confidenceScore":0.81},{"text":"Microsoft","category":"Organization","offset":25,"length":9,"confidenceScore":0.64}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + Gates","category":"Person","offset":0,"length":10,"confidenceScore":0.81},{"text":"Microsoft","category":"Organization","offset":25,"length":9,"confidenceScore":0.64}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e612f043-5b57-4974-ac8f-8eaca05cdffe + apim-request-id: 5ad422ee-f8c3-47f5-b78c-b23eea574c45 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 23 Jul 2020 17:19:52 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '72' + x-envoy-upstream-service-time: '68' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_out_of_order_ids.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_out_of_order_ids.yaml index 8854aaac4d1a..857d88682d61 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_out_of_order_ids.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_out_of_order_ids.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"56","entities":[],"warnings":[]},{"id":"0","entities":[],"warnings":[]},{"id":"19","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: d2c34707-fd54-46d1-afcb-6428d916171f + apim-request-id: 3cafa2e1-fbcd-44c7-ab11-726dd74bcdf4 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Thu, 23 Jul 2020 17:19:52 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '65' + x-envoy-upstream-service-time: '61' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_output_same_order_as_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_output_same_order_as_input.yaml index 5f4753385eab..2d35ef44ed90 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_output_same_order_as_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_output_same_order_as_input.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '249' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]},{"id":"4","entities":[],"warnings":[]},{"id":"5","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]},{"id":"4","entities":[],"warnings":[]},{"id":"5","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 10d501bf-1bf5-48be-85bd-818a8a4d6bb3 + apim-request-id: a9661dd9-24be-4466-ac59-8898ad3661f8 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=5 - date: Thu, 23 Jul 2020 17:19:53 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '75' + x-envoy-upstream-service-time: '78' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_pass_cls.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_pass_cls.yaml index 61672923a812..7aefaccbeec8 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_pass_cls.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_pass_cls.yaml @@ -4,29 +4,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '86' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"0","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 6ab92cde-4042-45d2-913b-d6dad6184a02 + apim-request-id: 55a5b072-c151-49b2-9852-54c9133df269 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 23 Jul 2020 17:19:53 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '67' + x-envoy-upstream-service-time: '66' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_passing_only_string.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_passing_only_string.yaml index 49919db5c1a5..6ec3272c4573 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_passing_only_string.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_passing_only_string.yaml @@ -7,35 +7,37 @@ interactions: {"id": "3", "text": "", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '358' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":4,"validDocumentsCount":3,"erroneousDocumentsCount":1,"transactionsCount":3},"documents":[{"id":"0","statistics":{"charactersCount":22,"transactionsCount":1},"entities":[{"text":"859-98-0987","category":"U.S. Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]},{"id":"1","statistics":{"charactersCount":105,"transactionsCount":1},"entities":[{"text":"111000025","category":"Phone Number","offset":18,"length":9,"confidenceScore":0.8},{"text":"111000025","category":"ABA - Routing Number","offset":18,"length":9,"confidenceScore":0.75}],"warnings":[]},{"id":"2","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil + Routing Number","offset":18,"length":9,"confidenceScore":0.75},{"text":"111000025","category":"New + Zealand Social Welfare Number","offset":18,"length":9,"confidenceScore":0.65},{"text":"111000025","category":"Portugal + Tax Identification Number","offset":18,"length":9,"confidenceScore":0.65}],"warnings":[]},{"id":"2","statistics":{"charactersCount":44,"transactionsCount":1},"entities":[{"text":"998.214.865-68","category":"Brazil CPF Number","offset":3,"length":14,"confidenceScore":0.85}],"warnings":[]}],"errors":[{"id":"3","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 21f124c4-b892-42b9-be5e-3a0e28bc5a7b + apim-request-id: b251a5b4-7fef-4e29-9983-f3f5bd7cdd63 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:54 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '138' + x-envoy-upstream-service-time: '161' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_per_item_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_per_item_dont_use_language_hint.yaml index 41c33df290da..41c7c0931bed 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_per_item_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_per_item_dont_use_language_hint.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '236' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 6fa308e2-4146-49ac-8ce0-0a2e16abfe4b + apim-request-id: 1a93da83-85eb-4aac-8926-e1ca29043a33 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:55 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '76' + x-envoy-upstream-service-time: '114' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_rotate_subscription_key.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_rotate_subscription_key.yaml index 7240fb83ad83..197e7a7b620f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_rotate_subscription_key.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_rotate_subscription_key.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e2afbde5-c8c3-449e-a0e2-bb5614441303 + apim-request-id: f2635c08-1d74-485b-8b1c-514cd9c61542 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:54 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '89' + x-envoy-upstream-service-time: '90' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -38,15 +38,15 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"401","message":"Access denied due to invalid subscription @@ -54,11 +54,11 @@ interactions: subscription and use a correct regional API endpoint for your resource."}}' headers: content-length: '224' - date: Thu, 23 Jul 2020 17:19:54 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT status: code: 401 message: PermissionDenied - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint - request: body: '{"documents": [{"id": "1", "text": "I will go to the park.", "language": "en"}, {"id": "2", "text": "I did not like the hotel we stayed at.", "language": @@ -66,29 +66,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 2b14ce51-9676-4d12-9b44-097d78573dfb + apim-request-id: aeb55f41-e114-480a-a2ba-7e5250f22f08 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:55 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '93' + x-envoy-upstream-service-time: '73' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_show_stats_and_model_version.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_show_stats_and_model_version.yaml index 84d162bbfe7c..9977aacfda81 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_show_stats_and_model_version.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_show_stats_and_model_version.yaml @@ -6,31 +6,31 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '241' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint response: body: string: '{"statistics":{"documentsCount":5,"validDocumentsCount":4,"erroneousDocumentsCount":1,"transactionsCount":4},"documents":[{"id":"56","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"0","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"19","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]},{"id":"1","statistics":{"charactersCount":2,"transactionsCount":1},"entities":[],"warnings":[]}],"errors":[{"id":"22","error":{"code":"InvalidArgument","message":"Invalid document in request.","innererror":{"code":"InvalidDocument","message":"Document - text is empty."}}}],"modelVersion":"2020-04-01"}' + text is empty."}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 78db8b35-0650-43b1-a905-2cd921c8d718 + apim-request-id: d5e8fa24-c0ea-446c-82ce-465afd420a54 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=4 - date: Thu, 23 Jul 2020 17:19:55 GMT + date: Thu, 27 Aug 2020 19:32:24 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '66' + x-envoy-upstream-service-time: '63' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?model-version=latest&showStats=true&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_too_many_documents.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_too_many_documents.yaml index c7dc13663aca..56706be0ec8f 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_too_many_documents.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_too_many_documents.yaml @@ -6,29 +6,29 @@ interactions: "en"}, {"id": "5", "text": "Six", "language": "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '295' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/5.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"error":{"code":"InvalidRequest","message":"Invalid document in request.","innererror":{"code":"InvalidDocumentBatch","message":"Batch request contains too many records. Max 5 records are permitted."}}}' headers: - apim-request-id: 1cf45e2b-3522-4d49-9607-067c075b1345 + apim-request-id: 8525f819-bc0c-4ff5-9a0f-52759fb16d7f content-type: application/json; charset=utf-8 - date: Tue, 04 Aug 2020 21:24:48 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '6' + x-envoy-upstream-service-time: '4' status: code: 400 message: Bad Request - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_user_agent.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_user_agent.yaml index d8f59385c858..fdc25f6346ba 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_user_agent.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_user_agent.yaml @@ -6,29 +6,29 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]},{"id":"3","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 0893dd3a-bf7e-41d4-bcab-e428b9b5d47d + apim-request-id: 39ee2ff0-2d84-4625-9124-3cc5685c1bc6 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:57 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '83' + x-envoy-upstream-service-time: '97' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_dont_use_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_dont_use_language_hint.yaml index 621a498dac4e..5e701f52db69 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_dont_use_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_dont_use_language_hint.yaml @@ -6,29 +6,29 @@ interactions: was not as good as I hoped.", "language": ""}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '273' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: - string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}' + string: '{"documents":[{"id":"0","entities":[],"warnings":[]},{"id":"1","entities":[],"warnings":[]},{"id":"2","entities":[],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 5bb21583-5cc7-4ab1-a81e-b7fcf1236fad + apim-request-id: 127e5be5-8c8e-45da-a6ec-e30c204e9999 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=3 - date: Thu, 23 Jul 2020 17:19:58 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '131' + x-envoy-upstream-service-time: '115' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint.yaml index afb081801c19..2d0224ebfafe 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint.yaml @@ -6,15 +6,15 @@ interactions: was not as good as I hoped.", "language": "fr"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '279' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"0","error":{"code":"InvalidArgument","message":"Invalid @@ -23,17 +23,17 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: e8eae430-8838-4fda-9dd5-ae283cbdd325 + apim-request-id: c0c5352c-a4ec-42b1-a305-152abfb9eb50 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:58 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '3' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml index 57c8e5b5bf65..0853da6e78e2 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_dict_per_item_hints.yaml @@ -6,33 +6,33 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '240' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"3","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 79b03f0e-bebb-4096-8010-14fb8734dadd + apim-request-id: dbf6df1e-c572-4af1-8b8b-1c99573fbc50 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 23 Jul 2020 17:19:57 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '80' + x-envoy-upstream-service-time: '92' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_obj_input.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_obj_input.yaml index d94542bb0494..560f9f00effe 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_obj_input.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_obj_input.yaml @@ -6,15 +6,15 @@ interactions: "de"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid @@ -23,17 +23,17 @@ interactions: Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"3","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: c6aa447e-1084-4062-965a-ad3db86ab494 + apim-request-id: b8a22188-a7ee-4271-9b97-8ac6d0d94087 content-type: application/json; charset=utf-8 - date: Thu, 23 Jul 2020 17:19:59 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '1' + x-envoy-upstream-service-time: '2' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml index b6435020ea8f..55daf2e0fd94 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_whole_batch_language_hint_and_obj_per_item_hints.yaml @@ -6,33 +6,33 @@ interactions: "en"}]}' headers: Accept: - - application/json + - application/json, text/json Content-Length: - '253' Content-Type: - application/json User-Agent: - - azsdk-python-ai-textanalytics/1.0.1 Python/3.7.7 (Darwin-17.7.0-x86_64-i386-64bit) + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) method: POST - uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint response: body: string: '{"documents":[{"id":"3","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid language code. Supported languages: en"}}},{"id":"2","error":{"code":"InvalidArgument","message":"Invalid Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid - language code. Supported languages: en"}}}],"modelVersion":"2020-04-01"}' + language code. Supported languages: en"}}}],"modelVersion":"2020-07-01"}' headers: - apim-request-id: 718b9664-7ee9-49ed-8d15-243f632afe44 + apim-request-id: fa6a6003-0b1f-41a1-be65-36b4407fd016 content-type: application/json; charset=utf-8 csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 - date: Thu, 23 Jul 2020 17:19:58 GMT + date: Thu, 27 Aug 2020 19:32:25 GMT strict-transport-security: max-age=31536000; includeSubDomains; preload transfer-encoding: chunked x-content-type-options: nosniff - x-envoy-upstream-service-time: '64' + x-envoy-upstream-service-time: '58' status: code: 200 message: OK - url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_zalgo_text.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_zalgo_text.yaml new file mode 100644 index 000000000000..4adce716edfe --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_zalgo_text.yaml @@ -0,0 +1,28 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "o\u0335\u0308\u0307\u0312\u0303\u034b\u0307\u0305\u035b\u030b\u035b\u030e\u0341\u0351\u0304\u0310\u0302\u030e\u031b\u0357\u035d\u0333\u0318\u0318\u0355\u0354\u0355\u0327\u032d\u0327\u031f\u0319\u034e\u0348\u031e\u0322\u0354m\u0335\u035d\u0315\u0304\u030f\u0360\u034c\u0302\u0311\u033d\u034d\u0349\u0317g\u0335\u030b\u0352\u0344\u0360\u0313\u0312\u0308\u030d\u030c\u0343\u0305\u0351\u0312\u0343\u0305\u0305\u0352\u033f\u030f\u0301\u0357\u0300\u0307\u035b\u030f\u0300\u031b\u0344\u0300\u030a\u033e\u0340\u035d\u0314\u0349\u0322\u031e\u0321\u032f\u0320\u0324\u0323\u0355\u0322\u031f\u032b\u032b\u033c\u0330\u0353\u0345\u0321\u0328\u0326\u0321\u0356\u035c\u0327\u0323\u0323\u034e + SSN: 859-98-0987", "language": "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '750' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"error":{"code":"401","message":"Access denied due to invalid subscription + key or wrong API endpoint. Make sure to provide a valid key for an active + subscription and use a correct regional API endpoint for your resource."}}' + headers: + content-length: '224' + date: Fri, 28 Aug 2020 16:56:28 GMT + status: + code: 401 + message: PermissionDenied + url: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_sentiment.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_sentiment.py index 27f8b6466927..65f8b45aead6 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_sentiment.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_sentiment.py @@ -16,7 +16,7 @@ TextAnalyticsClient, TextDocumentInput, VERSION, - TextAnalyticsApiVersion + TextAnalyticsApiVersion, ) # pre-apply the client_cls positional argument so it needn't be explicitly passed below @@ -665,3 +665,11 @@ def test_opinion_mining_v3(self, client): client.analyze_sentiment(["will fail"], show_opinion_mining=True) assert "'show_opinion_mining' is only available for API version v3.1-preview.1 and up" in str(excinfo.value) + + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + client.analyze_sentiment(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_sentiment_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_sentiment_async.py index 77320c796ffc..ea2ebe62f3fa 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_sentiment_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_sentiment_async.py @@ -17,7 +17,7 @@ VERSION, DetectLanguageInput, TextDocumentInput, - TextAnalyticsApiVersion + TextAnalyticsApiVersion, ) from testcase import GlobalTextAnalyticsAccountPreparer @@ -681,3 +681,10 @@ async def test_opinion_mining_v3(self, client): await client.analyze_sentiment(["will fail"], show_opinion_mining=True) assert "'show_opinion_mining' is only available for API version v3.1-preview.1 and up" in str(excinfo.value) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + async def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + await client.analyze_sentiment(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_detect_language.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_detect_language.py index 2a25dea3f3e0..abc85d1358fa 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_detect_language.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_detect_language.py @@ -16,7 +16,8 @@ DetectLanguageInput, TextAnalyticsClient, DetectLanguageInput, - VERSION + VERSION, + TextAnalyticsApiVersion, ) # pre-apply the client_cls positional argument so it needn't be explicitly passed below @@ -590,3 +591,10 @@ def callback(pipeline_response, deserialized, _): cls=callback ) assert res == "cls result" + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + client.detect_language(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_detect_language_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_detect_language_async.py index 5c8c0cc2aaad..cfd7965b517a 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_detect_language_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_detect_language_async.py @@ -16,7 +16,8 @@ from azure.ai.textanalytics import ( VERSION, DetectLanguageInput, - DetectLanguageInput + DetectLanguageInput, + TextAnalyticsApiVersion, ) from testcase import GlobalTextAnalyticsAccountPreparer @@ -603,3 +604,10 @@ def callback(pipeline_response, deserialized, _): cls=callback ) assert res == "cls result" + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + async def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + await client.detect_language(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_encoding.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_encoding.py new file mode 100644 index 000000000000..f7494d6fdcbe --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_encoding.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +import pytest +import platform +import functools + +from azure.core.exceptions import HttpResponseError, ClientAuthenticationError +from azure.core.credentials import AzureKeyCredential +from testcase import TextAnalyticsTest, GlobalTextAnalyticsAccountPreparer +from testcase import TextAnalyticsClientPreparer as _TextAnalyticsClientPreparer +from azure.ai.textanalytics import TextAnalyticsClient + +# pre-apply the client_cls positional argument so it needn't be explicitly passed below +# the first one +TextAnalyticsClientPreparer = functools.partial(_TextAnalyticsClientPreparer, TextAnalyticsClient) + +# TODO: add back offset and length checks throughout this test once I add them + +class TestEncoding(TextAnalyticsTest): + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_emoji(self, client): + result = client.recognize_pii_entities(["👩 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 7) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_emoji_with_skin_tone_modifier(self, client): + result = client.recognize_pii_entities(["👩🏻 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 8) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_emoji_family(self, client): + result = client.recognize_pii_entities(["👩‍👩‍👧‍👧 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 13) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_emoji_family_with_skin_tone_modifier(self, client): + result = client.recognize_pii_entities(["👩🏻‍👩🏽‍👧🏾‍👦🏿 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 17) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_diacritics_nfc(self, client): + result = client.recognize_pii_entities(["año SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 9) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_diacritics_nfd(self, client): + result = client.recognize_pii_entities(["año SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 10) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_korean_nfc(self, client): + result = client.recognize_pii_entities(["아가 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 8) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_korean_nfd(self, client): + result = client.recognize_pii_entities(["아가 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 8) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_zalgo_text(self, client): + result = client.recognize_pii_entities(["ơ̵̧̧̢̳̘̘͕͔͕̭̟̙͎͈̞͔̈̇̒̃͋̇̅͛̋͛̎́͑̄̐̂̎͗͝m̵͍͉̗̄̏͌̂̑̽̕͝͠g̵̢̡̢̡̨̡̧̛͉̞̯̠̤̣͕̟̫̫̼̰͓̦͖̣̣͎̋͒̈́̓̒̈̍̌̓̅͑̒̓̅̅͒̿̏́͗̀̇͛̏̀̈́̀̊̾̀̔͜͠͝ͅ SSN: 859-98-0987"]) + + + self.assertEqual(result[0].entities[0].offset, 121) + self.assertEqual(result[0].entities[0].length, 11) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_encoding_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_encoding_async.py new file mode 100644 index 000000000000..83868cb5d4d1 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_encoding_async.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +import pytest +import platform +import functools + +from azure.core.exceptions import HttpResponseError, ClientAuthenticationError +from azure.core.credentials import AzureKeyCredential +from testcase import GlobalTextAnalyticsAccountPreparer +from asynctestcase import AsyncTextAnalyticsTest +from testcase import TextAnalyticsClientPreparer as _TextAnalyticsClientPreparer +from azure.ai.textanalytics.aio import TextAnalyticsClient + +# pre-apply the client_cls positional argument so it needn't be explicitly passed below +# the first one +TextAnalyticsClientPreparer = functools.partial(_TextAnalyticsClientPreparer, TextAnalyticsClient) + +# TODO: add back offset and length checks throughout this test once I add them + +class TestEncoding(AsyncTextAnalyticsTest): + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_emoji(self, client): + result = await client.recognize_pii_entities(["👩 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 7) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_emoji_with_skin_tone_modifier(self, client): + result = await client.recognize_pii_entities(["👩🏻 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 8) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_emoji_family(self, client): + result = await client.recognize_pii_entities(["👩‍👩‍👧‍👧 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 13) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_emoji_family_with_skin_tone_modifier(self, client): + result = await client.recognize_pii_entities(["👩🏻‍👩🏽‍👧🏾‍👦🏿 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 17) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_diacritics_nfc(self, client): + result = await client.recognize_pii_entities(["año SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 9) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_diacritics_nfd(self, client): + result = await client.recognize_pii_entities(["año SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 10) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_korean_nfc(self, client): + result = await client.recognize_pii_entities(["아가 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 8) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_korean_nfd(self, client): + result = await client.recognize_pii_entities(["아가 SSN: 859-98-0987"]) + self.assertEqual(result[0].entities[0].offset, 8) + self.assertEqual(result[0].entities[0].length, 11) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_zalgo_text(self, client): + result = await client.recognize_pii_entities(["ơ̵̧̧̢̳̘̘͕͔͕̭̟̙͎͈̞͔̈̇̒̃͋̇̅͛̋͛̎́͑̄̐̂̎͗͝m̵͍͉̗̄̏͌̂̑̽̕͝͠g̵̢̡̢̡̨̡̧̛͉̞̯̠̤̣͕̟̫̫̼̰͓̦͖̣̣͎̋͒̈́̓̒̈̍̌̓̅͑̒̓̅̅͒̿̏́͗̀̇͛̏̀̈́̀̊̾̀̔͜͠͝ͅ SSN: 859-98-0987"]) + + + self.assertEqual(result[0].entities[0].offset, 121) + self.assertEqual(result[0].entities[0].length, 11) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_extract_key_phrases.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_extract_key_phrases.py index bf59db3bc4cb..a8f843e9e409 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_extract_key_phrases.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_extract_key_phrases.py @@ -15,7 +15,8 @@ from azure.ai.textanalytics import ( TextAnalyticsClient, TextDocumentInput, - VERSION + VERSION, + TextAnalyticsApiVersion, ) # pre-apply the client_cls positional argument so it needn't be explicitly passed below @@ -527,3 +528,10 @@ def callback(pipeline_response, deserialized, _): cls=callback ) assert res == "cls result" + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + client.extract_key_phrases(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_extract_key_phrases_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_extract_key_phrases_async.py index e9ac995b87b3..b9a7b9960e59 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_extract_key_phrases_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_extract_key_phrases_async.py @@ -16,7 +16,8 @@ from azure.ai.textanalytics import ( VERSION, DetectLanguageInput, - TextDocumentInput + TextDocumentInput, + TextAnalyticsApiVersion, ) from testcase import GlobalTextAnalyticsAccountPreparer @@ -542,3 +543,10 @@ def callback(pipeline_response, deserialized, _): cls=callback ) assert res == "cls result" + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + async def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + await client.extract_key_phrases(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_entities.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_entities.py index 02833c8926ae..2130ad81d838 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_entities.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_entities.py @@ -15,7 +15,8 @@ from azure.ai.textanalytics import ( TextAnalyticsClient, TextDocumentInput, - VERSION + VERSION, + TextAnalyticsApiVersion, ) # pre-apply the client_cls positional argument so it needn't be explicitly passed below @@ -543,3 +544,10 @@ def callback(pipeline_response, deserialized, _): cls=callback ) assert res == "cls result" + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + client.recognize_entities(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_entities_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_entities_async.py index fb2c3dc10d13..56c929e84eaa 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_entities_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_entities_async.py @@ -16,7 +16,8 @@ from azure.ai.textanalytics import ( VERSION, DetectLanguageInput, - TextDocumentInput + TextDocumentInput, + TextAnalyticsApiVersion, ) from testcase import GlobalTextAnalyticsAccountPreparer @@ -562,3 +563,10 @@ def callback(pipeline_response, deserialized, _): cls=callback ) assert res == "cls result" + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + async def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + await client.recognize_entities(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_linked_entities.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_linked_entities.py index 2eb8989c066e..a81ce2708847 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_linked_entities.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_linked_entities.py @@ -15,7 +15,8 @@ from azure.ai.textanalytics import ( TextAnalyticsClient, TextDocumentInput, - VERSION + VERSION, + TextAnalyticsApiVersion, ) # pre-apply the client_cls positional argument so it needn't be explicitly passed below @@ -545,3 +546,10 @@ def callback(pipeline_response, deserialized, _): cls=callback ) assert res == "cls result" + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + client.recognize_linked_entities(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_linked_entities_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_linked_entities_async.py index c3aa9c522a68..e6c68702a514 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_linked_entities_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_linked_entities_async.py @@ -16,7 +16,8 @@ from azure.ai.textanalytics import ( VERSION, DetectLanguageInput, - TextDocumentInput + TextDocumentInput, + TextAnalyticsApiVersion, ) from testcase import GlobalTextAnalyticsAccountPreparer @@ -581,3 +582,10 @@ def callback(pipeline_response, deserialized, _): cls=callback ) assert res == "cls result" + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + async def test_string_index_type_not_fail_v3(self, client): + # make sure that the addition of the string_index_type kwarg for v3.1-preview.1 doesn't + # cause v3.0 calls to fail + await client.recognize_linked_entities(["please don't fail"]) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py index ed046172df38..736f75cd46d5 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py @@ -15,7 +15,8 @@ from azure.ai.textanalytics import ( TextAnalyticsClient, TextDocumentInput, - VERSION + VERSION, + TextAnalyticsApiVersion, ) # pre-apply the client_cls positional argument so it needn't be explicitly passed below @@ -85,13 +86,6 @@ def test_all_successful_passing_text_document_input(self, client): self.assertNotEqual(entity.length, 0) self.assertIsNotNone(entity.confidence_score) - @GlobalTextAnalyticsAccountPreparer() - @TextAnalyticsClientPreparer() - def test_length_with_emoji(self, client): - result = client.recognize_pii_entities(["👩 SSN: 859-98-0987"]) - self.assertEqual(result[0].entities[0].offset, 7) - self.assertEqual(result[0].entities[0].length, 11) - @GlobalTextAnalyticsAccountPreparer() @TextAnalyticsClientPreparer() def test_passing_only_string(self, client): @@ -572,3 +566,11 @@ def callback(response): language="en", raw_response_hook=callback ) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + def test_recognize_pii_entities_v3(self, client): + with pytest.raises(NotImplementedError) as excinfo: + client.recognize_pii_entities(["this should fail"]) + + assert "'recognize_pii_entities' endpoint is only available for API version v3.1-preview.1 and up" in str(excinfo.value) \ No newline at end of file diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py index 361ef60bd42c..fb2d67bcdcb9 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py @@ -17,6 +17,7 @@ from azure.ai.textanalytics import ( TextDocumentInput, VERSION, + TextAnalyticsApiVersion, ) # pre-apply the client_cls positional argument so it needn't be explicitly passed below @@ -83,13 +84,6 @@ async def test_all_successful_passing_text_document_input(self, client): self.assertIsNotNone(entity.length) self.assertIsNotNone(entity.confidence_score) - @GlobalTextAnalyticsAccountPreparer() - @TextAnalyticsClientPreparer() - async def test_length_with_emoji(self, client): - result = await client.recognize_pii_entities(["👩 SSN: 859-98-0987"]) - self.assertEqual(result[0].entities[0].offset, 7) - self.assertEqual(result[0].entities[0].length, 11) - @GlobalTextAnalyticsAccountPreparer() @TextAnalyticsClientPreparer() async def test_passing_only_string(self, client): @@ -570,3 +564,11 @@ def callback(response): language="en", raw_response_hook=callback ) + + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={"api_version": TextAnalyticsApiVersion.V3_0}) + async def test_recognize_pii_entities_v3(self, client): + with pytest.raises(NotImplementedError) as excinfo: + await client.recognize_pii_entities(["this should fail"]) + + assert "'recognize_pii_entities' endpoint is only available for API version v3.1-preview.1 and up" in str(excinfo.value) diff --git a/sdk/textanalytics/ci.yml b/sdk/textanalytics/ci.yml index 6e43364cfcce..00842af2116b 100644 --- a/sdk/textanalytics/ci.yml +++ b/sdk/textanalytics/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -34,4 +33,4 @@ extends: - name: azure_ai_textanalytics safeName: azureaitextanalytics - name: azure_ai_nspkg - safeName: azureainspkg \ No newline at end of file + safeName: azureainspkg diff --git a/sdk/timeseriesinsights/ci.yml b/sdk/timeseriesinsights/ci.yml index a7320505b217..c1aa0f2f3d3a 100644 --- a/sdk/timeseriesinsights/ci.yml +++ b/sdk/timeseriesinsights/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: timeseriesinsights Artifacts: - name: azure_mgmt_timeseriesinsights - safeName: azuremgmttimeseriesinsights \ No newline at end of file + safeName: azuremgmttimeseriesinsights diff --git a/sdk/trafficmanager/ci.yml b/sdk/trafficmanager/ci.yml index d5c6ea8abb88..903dc59851cd 100644 --- a/sdk/trafficmanager/ci.yml +++ b/sdk/trafficmanager/ci.yml @@ -1,5 +1,4 @@ -# DO NOT EDIT THIS FILE -# This file is generated automatically and any changes will be lost. +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: branches: @@ -30,4 +29,4 @@ extends: ServiceDirectory: trafficmanager Artifacts: - name: azure_mgmt_trafficmanager - safeName: azuremgmttrafficmanager \ No newline at end of file + safeName: azuremgmttrafficmanager diff --git a/shared_requirements.txt b/shared_requirements.txt index 4cd58d2e5a4f..9ff3c816582d 100644 --- a/shared_requirements.txt +++ b/shared_requirements.txt @@ -97,7 +97,7 @@ futures mock typing typing-extensions -msal<2.0.0,>=1.3.0 +msal<1.5.0,>=1.3.0 msal-extensions~=0.2.2 msrest>=0.5.0 msrestazure<2.0.0,>=0.4.32 @@ -119,12 +119,14 @@ isodate>=0.6.0 #override azure-cosmos azure-core<2.0.0,>=1.0.0 #override azure-eventhub azure-core<2.0.0,>=1.5.0 #override azure-identity azure-core<2.0.0,>=1.0.0 +#override azure-keyvault-administration msrest>=0.6.0 #override azure-keyvault-certificates msrest>=0.6.0 #override azure-keyvault-keys msrest>=0.6.0 #override azure-keyvault-secrets msrest>=0.6.0 #override azure-keyvault-certificates azure-core<2.0.0,>=1.7.0 #override azure-keyvault-keys azure-core<2.0.0,>=1.7.0 #override azure-keyvault-secrets azure-core<2.0.0,>=1.7.0 +#override azure-keyvault-administration azure-core<2.0.0,>=1.7.0 #override azure-ai-textanalytics msrest>=0.6.0 #override azure-ai-textanalytics azure-core<2.0.0,>=1.4.0 #override azure-search-documents azure-core<2.0.0,>=1.4.0 @@ -138,7 +140,7 @@ isodate>=0.6.0 #override azure-storage-file-share msrest>=0.6.10 #override azure-storage-file-datalake azure-core<2.0.0,>=1.6.0 #override azure-storage-file-datalake msrest>=0.6.10 -#override azure-storage-file-datalake azure-storage-blob>=12.3.1 +#override azure-storage-file-datalake azure-storage-blob~=12.4.0 opencensus>=0.6.0 opencensus-ext-threading opencensus-ext-azure>=0.3.1 @@ -152,7 +154,9 @@ opentelemetry-api==0.10b0 #override azure-servicebus msrest>=0.6.17,<2.0.0 #override azure-servicebus azure-core<2.0.0,>=1.6.0 #override azure-search-documents msrest>=0.6.10 +#override azure-eventgrid azure-core<2.0.0,>=1.7.0 #override azure-synapse-accesscontrol azure-core>=1.6.0,<2.0.0 #override azure-synapse-spark azure-core>=1.6.0,<2.0.0 #override azure-synapse-artifacts azure-core>=1.6.0,<2.0.0 -#override azure-data-tables msrest>=0.6.10 \ No newline at end of file +#override azure-data-tables msrest>=0.6.10 +#override azure-ai-anomalydetector azure-core>=1.6.0,<2.0.0