From 4fbe2089edb0ca938536880c18e7521f8a316e9a Mon Sep 17 00:00:00 2001 From: Charles Lowell Date: Wed, 7 Jul 2021 17:32:06 -0700 Subject: [PATCH 01/13] Credentials accept tenant_id argument to get_token (#19602) --- .../azure/identity/_constants.py | 1 + .../identity/_credentials/app_service.py | 4 +- .../identity/_credentials/application.py | 4 + .../_credentials/authorization_code.py | 28 ++- .../azure/identity/_credentials/azure_arc.py | 4 +- .../azure/identity/_credentials/azure_cli.py | 20 +- .../identity/_credentials/azure_powershell.py | 31 ++- .../azure/identity/_credentials/browser.py | 13 +- .../identity/_credentials/certificate.py | 19 +- .../identity/_credentials/client_secret.py | 13 +- .../identity/_credentials/cloud_shell.py | 4 +- .../azure/identity/_credentials/default.py | 20 +- .../identity/_credentials/device_code.py | 33 +-- .../identity/_credentials/environment.py | 8 + .../azure/identity/_credentials/imds.py | 4 +- .../identity/_credentials/service_fabric.py | 4 +- .../identity/_credentials/shared_cache.py | 46 ++-- .../identity/_credentials/user_password.py | 20 +- .../azure/identity/_credentials/vscode.py | 9 +- .../azure/identity/_internal/__init__.py | 25 ++ .../azure/identity/_internal/aad_client.py | 8 +- .../identity/_internal/aad_client_base.py | 85 ++++--- .../_internal/client_credential_base.py | 12 +- .../identity/_internal/get_token_mixin.py | 16 +- .../azure/identity/_internal/interactive.py | 36 +-- .../identity/_internal/msal_credentials.py | 55 ++-- .../identity/aio/_credentials/app_service.py | 2 +- .../identity/aio/_credentials/application.py | 4 + .../aio/_credentials/authorization_code.py | 24 +- .../identity/aio/_credentials/azure_arc.py | 2 +- .../identity/aio/_credentials/azure_cli.py | 18 +- .../aio/_credentials/azure_powershell.py | 14 +- .../identity/aio/_credentials/certificate.py | 7 +- .../aio/_credentials/client_secret.py | 7 +- .../identity/aio/_credentials/cloud_shell.py | 2 +- .../identity/aio/_credentials/default.py | 18 +- .../identity/aio/_credentials/environment.py | 8 + .../azure/identity/aio/_credentials/imds.py | 2 +- .../aio/_credentials/service_fabric.py | 2 +- .../identity/aio/_credentials/shared_cache.py | 9 +- .../azure/identity/aio/_credentials/vscode.py | 13 +- .../identity/aio/_internal/aad_client.py | 8 +- .../identity/aio/_internal/get_token_mixin.py | 14 +- sdk/identity/azure-identity/tests/helpers.py | 8 +- .../azure-identity/tests/test_aad_client.py | 79 +++++- .../tests/test_aad_client_async.py | 77 +++++- .../azure-identity/tests/test_auth_code.py | 78 +++++- .../tests/test_auth_code_async.py | 75 +++++- .../tests/test_certificate_credential.py | 81 ++++++ .../test_certificate_credential_async.py | 79 +++++- .../tests/test_cli_credential.py | 78 ++++++ .../tests/test_cli_credential_async.py | 78 ++++++ .../tests/test_client_secret_credential.py | 72 +++++- .../test_client_secret_credential_async.py | 66 +++++ .../azure-identity/tests/test_default.py | 43 +++- .../tests/test_default_async.py | 34 ++- .../tests/test_interactive_credential.py | 139 ++++++++--- .../tests/test_powershell_credential.py | 73 ++++++ .../tests/test_powershell_credential_async.py | 74 ++++++ .../tests/test_shared_cache_credential.py | 234 ++++++++++++++++-- .../test_shared_cache_credential_async.py | 86 ++++++- .../tests/test_vscode_credential.py | 67 +++++ .../tests/test_vscode_credential_async.py | 79 +++++- 63 files changed, 1965 insertions(+), 311 deletions(-) diff --git a/sdk/identity/azure-identity/azure/identity/_constants.py b/sdk/identity/azure-identity/azure/identity/_constants.py index ec443a38acb0..8fce2c892eda 100644 --- a/sdk/identity/azure-identity/azure/identity/_constants.py +++ b/sdk/identity/azure-identity/azure/identity/_constants.py @@ -44,4 +44,5 @@ class EnvironmentVariables: MSI_SECRET = "MSI_SECRET" AZURE_AUTHORITY_HOST = "AZURE_AUTHORITY_HOST" + AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION = "AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION" AZURE_REGIONAL_AUTHORITY_NAME = "AZURE_REGIONAL_AUTHORITY_NAME" diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/app_service.py b/sdk/identity/azure-identity/azure/identity/_credentials/app_service.py index f32dbce5face..4c2663cd5d88 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/app_service.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/app_service.py @@ -38,8 +38,8 @@ def get_token(self, *scopes, **kwargs): ) return super(AppServiceCredential, self).get_token(*scopes, **kwargs) - def _acquire_token_silently(self, *scopes): - # type: (*str) -> Optional[AccessToken] + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] return self._client.get_cached_token(*scopes) def _request_token(self, *scopes, **kwargs): diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/application.py b/sdk/identity/azure-identity/azure/identity/_credentials/application.py index 137ab6fdcbc1..c8412ac82014 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/application.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/application.py @@ -48,6 +48,10 @@ class AzureApplicationCredential(ChainedTokenCredential): `_ for an overview of managed identities. + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application or user is registered in. When False, which is the default, the credential will acquire tokens + only from the tenant specified by **AZURE_TENANT_ID**. This argument doesn't apply to managed identity + authentication. :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 when no value is given for this keyword argument or environment variable AZURE_AUTHORITY_HOST. :class:`~azure.identity.AzureAuthorityHosts` defines authorities for diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/authorization_code.py b/sdk/identity/azure-identity/azure/identity/_credentials/authorization_code.py index 0017991e70d4..ce7b33f117f2 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/authorization_code.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/authorization_code.py @@ -10,25 +10,29 @@ if TYPE_CHECKING: # pylint:disable=unused-import,ungrouped-imports - from typing import Any, Iterable, Optional + from typing import Any, Optional from azure.core.credentials import AccessToken class AuthorizationCodeCredential(GetTokenMixin): """Authenticates by redeeming an authorization code previously obtained from Azure Active Directory. - See https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow for more information + See `Azure Active Directory documentation + `_ for more information about the authentication flow. - :param str tenant_id: ID of the application's Azure Active Directory tenant. Also called its 'directory' ID. + :param str tenant_id: ID of the application's Azure Active Directory tenant. Also called its "directory" ID. :param str client_id: the application's client ID :param str authorization_code: the authorization code from the user's log-in :param str redirect_uri: The application's redirect URI. Must match the URI used to request the authorization code. - :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 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 str client_secret: One of the application's client secrets. Required only for web apps and web APIs. + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant or the tenant specified by **tenant_id**. """ def __init__(self, tenant_id, client_id, authorization_code, redirect_uri, **kwargs): @@ -51,16 +55,20 @@ def get_token(self, *scopes, **kwargs): redeeming the authorization code. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :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. """ - return super(AuthorizationCodeCredential, self).get_token(*scopes) + # pylint:disable=useless-super-delegation + return super(AuthorizationCodeCredential, self).get_token(*scopes, **kwargs) - def _acquire_token_silently(self, *scopes): - # type: (*str) -> Optional[AccessToken] - return self._client.get_cached_access_token(scopes) + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] + return self._client.get_cached_access_token(scopes, **kwargs) def _request_token(self, *scopes, **kwargs): # type: (*str, **Any) -> AccessToken diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/azure_arc.py b/sdk/identity/azure-identity/azure/identity/_credentials/azure_arc.py index a827744917fa..03e07ed59d32 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/azure_arc.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/azure_arc.py @@ -58,8 +58,8 @@ def get_token(self, *scopes, **kwargs): ) return super(AzureArcCredential, self).get_token(*scopes, **kwargs) - def _acquire_token_silently(self, *scopes): - # type: (*str) -> Optional[AccessToken] + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] return self._client.get_cached_token(*scopes) def _request_token(self, *scopes, **kwargs): diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/azure_cli.py b/sdk/identity/azure-identity/azure/identity/_credentials/azure_cli.py index c8f5cc8bd18a..111856a3a090 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/azure_cli.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/azure_cli.py @@ -18,7 +18,7 @@ from azure.core.exceptions import ClientAuthenticationError from .. import CredentialUnavailableError -from .._internal import _scopes_to_resource +from .._internal import _scopes_to_resource, resolve_tenant from .._internal.decorators import log_get_token if TYPE_CHECKING: @@ -35,10 +35,17 @@ class AzureCliCredential(object): """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. + + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the identity logged in to the Azure CLI is registered in. When False, which is the default, the credential will + acquire tokens only from the tenant of the Azure CLI's active subscription. """ + def __init__(self, **kwargs): + self._allow_multitenant = kwargs.get("allow_multitenant_authentication", False) + @log_get_token("AzureCliCredential") - def get_token(self, *scopes, **kwargs): # pylint:disable=no-self-use,unused-argument + def get_token(self, *scopes, **kwargs): # type: (*str, **Any) -> AccessToken """Request an access token for `scopes`. @@ -46,6 +53,9 @@ def get_token(self, *scopes, **kwargs): # pylint:disable=no-self-use,unused-arg also handle token caching because this credential doesn't cache the tokens it acquires. :param str scopes: desired scope for the access token. This credential allows only one scope per request. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` :raises ~azure.identity.CredentialUnavailableError: the credential was unable to invoke the Azure CLI. @@ -54,7 +64,11 @@ def get_token(self, *scopes, **kwargs): # pylint:disable=no-self-use,unused-arg """ resource = _scopes_to_resource(*scopes) - output = _run_command(COMMAND_LINE.format(resource)) + command = COMMAND_LINE.format(resource) + tenant = resolve_tenant("", self._allow_multitenant, **kwargs) + if tenant: + command += " --tenant " + tenant + output = _run_command(command) token = parse_token(output) if not token: diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/azure_powershell.py b/sdk/identity/azure-identity/azure/identity/_credentials/azure_powershell.py index ded72457b1e5..ed3befb14462 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/azure_powershell.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/azure_powershell.py @@ -16,7 +16,7 @@ from .azure_cli import get_safe_working_dir from .. import CredentialUnavailableError -from .._internal import _scopes_to_resource +from .._internal import _scopes_to_resource, resolve_tenant from .._internal.decorators import log_get_token if TYPE_CHECKING: @@ -41,7 +41,7 @@ exit }} -$token = Get-AzAccessToken -ResourceUrl '{}' +$token = Get-AzAccessToken -ResourceUrl '{}'{} Write-Output "`nazsdk%$($token.Token)%$($token.ExpiresOn.ToUnixTimeSeconds())`n" """ @@ -51,10 +51,18 @@ class AzurePowerShellCredential(object): """Authenticates by requesting a token from Azure PowerShell. This requires previously logging in to Azure via "Connect-AzAccount", and will use the currently logged in identity. + + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the identity logged in to Azure PowerShell is registered in. When False, which is the default, the credential + will acquire tokens only from the tenant of Azure PowerShell's active subscription. """ + def __init__(self, **kwargs): + # type: (**Any) -> None + self._allow_multitenant = kwargs.get("allow_multitenant_authentication", False) + @log_get_token("AzurePowerShellCredential") - def get_token(self, *scopes, **kwargs): # pylint:disable=no-self-use,unused-argument + def get_token(self, *scopes, **kwargs): # type: (*str, **Any) -> AccessToken """Request an access token for `scopes`. @@ -62,6 +70,9 @@ def get_token(self, *scopes, **kwargs): # pylint:disable=no-self-use,unused-arg also handle token caching because this credential doesn't cache the tokens it acquires. :param str scopes: desired scope for the access token. This credential allows only one scope per request. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` :raises ~azure.identity.CredentialUnavailableError: the credential was unable to invoke Azure PowerShell, or @@ -69,8 +80,8 @@ def get_token(self, *scopes, **kwargs): # pylint:disable=no-self-use,unused-arg :raises ~azure.core.exceptions.ClientAuthenticationError: the credential invoked Azure PowerShell but didn't receive an access token """ - - command_line = get_command_line(scopes) + tenant_id = resolve_tenant("", self._allow_multitenant, **kwargs) + command_line = get_command_line(scopes, tenant_id) output = run_command_line(command_line) token = parse_token(output) return token @@ -128,10 +139,14 @@ def parse_token(output): raise ClientAuthenticationError(message='Unexpected output from Get-AzAccessToken: "{}"'.format(output)) -def get_command_line(scopes): - # type: (Tuple) -> List[str] +def get_command_line(scopes, tenant_id): + # type: (Tuple, str) -> List[str] + if tenant_id: + tenant_argument = " -TenantId " + tenant_id + else: + tenant_argument = "" resource = _scopes_to_resource(*scopes) - script = SCRIPT.format(NO_AZ_ACCOUNT_MODULE, resource) + script = SCRIPT.format(NO_AZ_ACCOUNT_MODULE, resource, tenant_argument) encoded_script = base64.b64encode(script.encode("utf-16-le")).decode() command = "pwsh -NonInteractive -EncodedCommand " + encoded_script diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/browser.py b/sdk/identity/azure-identity/azure/identity/_credentials/browser.py index a8e025fb2f3e..6aead5b26f47 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/browser.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/browser.py @@ -31,10 +31,10 @@ class InteractiveBrowserCredential(InteractiveCredential): :func:`~get_token` opens a browser to a login URL provided by Azure Active Directory and authenticates a user there with the authorization code flow, using PKCE (Proof Key for Code Exchange) internally to protect the code. - :keyword str authority: Authority of an Azure Active Directory endpoint, for example 'login.microsoftonline.com', + :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 str tenant_id: an Azure Active Directory tenant ID. Defaults to the 'organizations' tenant, which can + :keyword str tenant_id: an Azure Active Directory tenant ID. Defaults to the "organizations" tenant, which can authenticate work or school accounts. :keyword str client_id: Client ID of the Azure Active Directory application users will sign in to. If unspecified, users will authenticate to an Azure development application. @@ -42,7 +42,7 @@ class InteractiveBrowserCredential(InteractiveCredential): may still log in with a different username. :keyword str redirect_uri: a redirect URI for the application identified by `client_id` as configured in Azure Active Directory, for example "http://localhost:8400". This is only required when passing a value for - `client_id`, and must match a redirect URI in the application's registration. The credential must be able to + **client_id**, and must match a redirect URI in the application's registration. The credential must be able to bind a socket to this URI. :keyword AuthenticationRecord authentication_record: :class:`AuthenticationRecord` returned by :func:`authenticate` :keyword bool disable_automatic_authentication: if True, :func:`get_token` will raise @@ -51,7 +51,10 @@ class InteractiveBrowserCredential(InteractiveCredential): will cache tokens in memory. :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions :keyword int timeout: seconds to wait for the user to complete authentication. Defaults to 300 (5 minutes). - :raises ValueError: invalid `redirect_uri` + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant or the tenant specified by **tenant_id**. + :raises ValueError: invalid **redirect_uri** """ def __init__(self, **kwargs): @@ -97,7 +100,7 @@ def _request_token(self, *scopes, **kwargs): # get the url the user must visit to authenticate scopes = list(scopes) # type: ignore claims = kwargs.get("claims") - app = self._get_app() + app = self._get_app(**kwargs) flow = app.initiate_auth_code_flow( scopes, redirect_uri=redirect_uri, diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/certificate.py b/sdk/identity/azure-identity/azure/identity/_credentials/certificate.py index db4a15c09d0f..0b04a93d4582 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/certificate.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/certificate.py @@ -26,23 +26,26 @@ class CertificateCredential(ClientCredentialBase): `_ for more information on configuring certificate authentication. - :param str tenant_id: ID of the service principal's tenant. Also called its 'directory' ID. + :param str tenant_id: ID of the service principal's tenant. Also called its "directory" ID. :param str client_id: the service principal's client ID :param str certificate_path: path to a PEM-encoded certificate file including the private key. If not provided, - `certificate_data` is required. + **certificate_data** is required. :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. + the authority for Azure Public Cloud (which is the default). :class:`~azure.identity.AzureAuthorityHosts` + defines authorities for other clouds. :keyword bytes certificate_data: the bytes of a certificate in PEM format, including the private key :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. + requires a different encoding, pass appropriately encoded bytes instead. :paramtype password: str or bytes + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application is registered in. When False, which is the default, the credential will acquire tokens only from + the tenant specified by **tenant_id**. :keyword bool send_certificate_chain: if True, the credential will send the public certificate chain in the x5c - header of each token request's JWT. This is required for Subject Name/Issuer (SNI) authentication. Defaults - to False. + header of each token request's JWT. This is required for Subject Name/Issuer (SNI) authentication. Defaults to + False. :keyword cache_persistence_options: configuration for persistent token caching. If unspecified, the credential - will cache tokens in memory. + will cache tokens in memory. :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions :keyword ~azure.identity.RegionalAuthority regional_authority: a :class:`~azure.identity.RegionalAuthority` to which the credential will authenticate. This argument should be used only by applications deployed to Azure 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 1a46955d8224..9623b0ef8b1d 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/client_secret.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/client_secret.py @@ -14,15 +14,18 @@ class ClientSecretCredential(ClientCredentialBase): """Authenticates as a service principal using a client secret. - :param str tenant_id: ID of the service principal's tenant. Also called its 'directory' ID. + :param str tenant_id: ID of the service principal's tenant. Also called its "directory" ID. :param str client_id: the service principal's client ID :param str client_secret: one of the service principal's client secrets - :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 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 allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application is registered in. When False, which is the default, the credential will acquire tokens only from + the tenant specified by **tenant_id**. :keyword cache_persistence_options: configuration for persistent token caching. If unspecified, the credential - will cache tokens in memory. + will cache tokens in memory. :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions :keyword ~azure.identity.RegionalAuthority regional_authority: a :class:`~azure.identity.RegionalAuthority` to which the credential will authenticate. This argument should be used only by applications deployed to Azure diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/cloud_shell.py b/sdk/identity/azure-identity/azure/identity/_credentials/cloud_shell.py index b58b4fa4a3f4..17e10feec6d9 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/cloud_shell.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/cloud_shell.py @@ -41,8 +41,8 @@ def get_token(self, *scopes, **kwargs): ) return super(CloudShellCredential, self).get_token(*scopes, **kwargs) - def _acquire_token_silently(self, *scopes): - # type: (*str) -> Optional[AccessToken] + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] return self._client.get_cached_token(*scopes) def _request_token(self, *scopes, **kwargs): diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/default.py b/sdk/identity/azure-identity/azure/identity/_credentials/default.py index e163c5befa1b..bc74b37ecc89 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/default.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/default.py @@ -47,9 +47,12 @@ class DefaultAzureCredential(ChainedTokenCredential): This default behavior is configurable with keyword arguments. + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application is registered in. When False, which is the default, the credential will acquire tokens only from + its configured tenant. This argument doesn't apply to managed identity authentication. :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. Managed identities ignore this because they reside in a single cloud. + the authority for Azure Public Cloud (which is the default). :class:`~azure.identity.AzureAuthorityHosts` + defines authorities for other clouds. Managed identities ignore this because they reside in a single cloud. :keyword bool exclude_cli_credential: Whether to exclude the Azure CLI from the credential. Defaults to **False**. :keyword bool exclude_environment_credential: Whether to exclude a service principal configured by environment variables from the credential. Defaults to **False**. @@ -84,7 +87,7 @@ def __init__(self, **kwargs): vscode_tenant_id = kwargs.pop( "visual_studio_code_tenant_id", os.environ.get(EnvironmentVariables.AZURE_TENANT_ID) ) - vscode_args = {} + vscode_args = dict(kwargs) if authority: vscode_args["authority"] = authority if vscode_tenant_id: @@ -130,11 +133,11 @@ def __init__(self, **kwargs): if not exclude_visual_studio_code_credential: credentials.append(VisualStudioCodeCredential(**vscode_args)) if not exclude_cli_credential: - credentials.append(AzureCliCredential()) + credentials.append(AzureCliCredential(**kwargs)) if not exclude_powershell_credential: - credentials.append(AzurePowerShellCredential()) + credentials.append(AzurePowerShellCredential(**kwargs)) if not exclude_interactive_browser_credential: - credentials.append(InteractiveBrowserCredential(tenant_id=interactive_browser_tenant_id)) + credentials.append(InteractiveBrowserCredential(tenant_id=interactive_browser_tenant_id, **kwargs)) super(DefaultAzureCredential, self).__init__(*credentials) @@ -145,6 +148,11 @@ def get_token(self, *scopes, **kwargs): This method is called automatically by Azure SDK clients. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + + :rtype: :class:`azure.core.credentials.AccessToken` + :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The exception has a `message` attribute listing each authentication attempt and its error message. """ 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 dec7303b334c..657bd5eb5568 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/device_code.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/device_code.py @@ -32,29 +32,32 @@ class DeviceCodeCredential(InteractiveCredential): convenient because it automatically opens a browser to the login page. :param str client_id: client ID of the application users will authenticate to. When not specified users will - authenticate to an Azure development application. + authenticate to an Azure development application. - :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 str tenant_id: an Azure Active Directory tenant ID. Defaults to the 'organizations' tenant, which can - authenticate work or school accounts. **Required for single-tenant applications.** + :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 str tenant_id: an Azure Active Directory tenant ID. Defaults to the "organizations" tenant, which can + authenticate work or school accounts. **Required for single-tenant applications.** :keyword int timeout: seconds to wait for the user to authenticate. Defaults to the validity period of the - device code as set by Azure Active Directory, which also prevails when ``timeout`` is longer. + device code as set by Azure Active Directory, which also prevails when **timeout** is longer. :keyword prompt_callback: A callback enabling control of how authentication - instructions are presented. Must accept arguments (``verification_uri``, ``user_code``, ``expires_on``): + instructions are presented. Must accept arguments (``verification_uri``, ``user_code``, ``expires_on``): - - ``verification_uri`` (str) the URL the user must visit - - ``user_code`` (str) the code the user must enter there - - ``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. + - ``verification_uri`` (str) the URL the user must visit + - ``user_code`` (str) the code the user must enter there + - ``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. + :class:`AuthenticationRequiredError` when user interaction is required to acquire a token. Defaults to False. :keyword cache_persistence_options: configuration for persistent token caching. If unspecified, the credential - will cache tokens in memory. + will cache tokens in memory. :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant or the tenant specified by **tenant_id**. """ def __init__(self, client_id=DEVELOPER_SIGN_ON_CLIENT_ID, **kwargs): @@ -70,7 +73,7 @@ def _request_token(self, *scopes, **kwargs): # MSAL requires scopes be a list scopes = list(scopes) # type: ignore - app = self._get_app() + app = self._get_app(**kwargs) flow = app.initiate_device_flow(scopes) if "error" in flow: raise ClientAuthenticationError( diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/environment.py b/sdk/identity/azure-identity/azure/identity/_credentials/environment.py index 538e454392a1..97aecf8c03f1 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/environment.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/environment.py @@ -52,6 +52,10 @@ class EnvironmentCredential(object): - **AZURE_TENANT_ID**: (optional) ID of the service principal's tenant. Also called its 'directory' ID. If not provided, defaults to the 'organizations' tenant, which supports only Azure Active Directory work or school accounts. + + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application or user is registered in. When False, which is the default, the credential will acquire tokens + only from the tenant specified by **AZURE_TENANT_ID**. """ def __init__(self, **kwargs): @@ -105,7 +109,11 @@ def get_token(self, *scopes, **kwargs): # pylint:disable=unused-argument This method is called automatically by Azure SDK clients. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises ~azure.identity.CredentialUnavailableError: environment variable configuration is incomplete """ if not self._credential: diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/imds.py b/sdk/identity/azure-identity/azure/identity/_credentials/imds.py index 8983d120fda3..4380c38d899f 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/imds.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/imds.py @@ -51,8 +51,8 @@ def __init__(self, **kwargs): self._error_message = None # type: Optional[str] self._user_assigned_identity = "client_id" in kwargs or "identity_config" in kwargs - def _acquire_token_silently(self, *scopes): - # type: (*str) -> Optional[AccessToken] + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] return self._client.get_cached_token(*scopes) def _request_token(self, *scopes, **kwargs): # pylint:disable=unused-argument diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/service_fabric.py b/sdk/identity/azure-identity/azure/identity/_credentials/service_fabric.py index 942a8d02bfaf..0594a06f84ac 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/service_fabric.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/service_fabric.py @@ -38,8 +38,8 @@ def get_token(self, *scopes, **kwargs): ) return super(ServiceFabricCredential, self).get_token(*scopes, **kwargs) - def _acquire_token_silently(self, *scopes): - # type: (*str) -> Optional[AccessToken] + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] return self._client.get_cached_token(*scopes) def _request_token(self, *scopes, **kwargs): 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 4ebb45a226c5..b4f7c8e2460e 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/shared_cache.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/shared_cache.py @@ -12,7 +12,7 @@ from .. import CredentialUnavailableError from .._constants import DEVELOPER_SIGN_ON_CLIENT_ID -from .._internal import AadClient, validate_tenant_id +from .._internal import AadClient, resolve_tenant, validate_tenant_id from .._internal.decorators import log_get_token, wrap_exceptions from .._internal.msal_client import MsalClient from .._internal.shared_token_cache import NO_TOKEN, SharedTokenCacheBase @@ -24,7 +24,7 @@ if TYPE_CHECKING: # pylint:disable=unused-import,ungrouped-imports - from typing import Any, Optional + from typing import Any, Dict, Optional from .. import AuthenticationRecord from .._internal import AadClientBase @@ -46,6 +46,10 @@ class SharedTokenCacheCredential(SharedTokenCacheBase): :keyword cache_persistence_options: configuration for persistent token caching. If not provided, the credential will use the persistent cache shared by Microsoft development applications :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant or, if a value was given for **authentication_record**, the tenant specified by the + :class:`AuthenticationRecord`. """ def __init__(self, username=None, **kwargs): @@ -56,9 +60,10 @@ def __init__(self, username=None, **kwargs): # authenticate in the tenant that produced the record unless "tenant_id" specifies another self._tenant_id = kwargs.pop("tenant_id", None) or self._auth_record.tenant_id validate_tenant_id(self._tenant_id) + self._allow_multitenant = kwargs.pop("allow_multitenant_authentication", False) self._cache = kwargs.pop("_cache", None) - self._app = None - self._client_kwargs = kwargs + self._client_applications = {} # type: Dict[str, PublicClientApplication] + self._msal_client = MsalClient(**kwargs) self._initialized = False else: super(SharedTokenCacheCredential, self).__init__(username=username, **kwargs) @@ -101,7 +106,7 @@ def get_token(self, *scopes, **kwargs): # pylint:disable=unused-argument # try each refresh token, returning the first access token acquired for refresh_token in self._get_refresh_tokens(account): - token = self._client.obtain_token_by_refresh_token(scopes, refresh_token) + token = self._client.obtain_token_by_refresh_token(scopes, refresh_token, **kwargs) return token raise CredentialUnavailableError(message=NO_TOKEN.format(account.get("username"))) @@ -119,34 +124,35 @@ def _initialize(self): return self._load_cache() - if self._cache: - if "AZURE_IDENTITY_DISABLE_CP1" in os.environ: - capabilities = None - else: - capabilities = ["CP1"] # able to handle CAE claims challenges - self._app = PublicClientApplication( + self._initialized = True + + def _get_client_application(self, **kwargs): + tenant_id = resolve_tenant(self._tenant_id, self._allow_multitenant, **kwargs) + if tenant_id not in self._client_applications: + # CP1 = can handle claims challenges (CAE) + capabilities = None if "AZURE_IDENTITY_DISABLE_CP1" in os.environ else ["CP1"] + self._client_applications[tenant_id] = PublicClientApplication( client_id=self._auth_record.client_id, - authority="https://{}/{}".format(self._auth_record.authority, self._tenant_id), + authority="https://{}/{}".format(self._auth_record.authority, tenant_id), token_cache=self._cache, - http_client=MsalClient(**self._client_kwargs), + http_client=self._msal_client, client_capabilities=capabilities ) - - self._initialized = True + return self._client_applications[tenant_id] @wrap_exceptions def _acquire_token_silent(self, *scopes, **kwargs): # type: (*str, **Any) -> AccessToken """Silently acquire a token from MSAL. Requires an AuthenticationRecord.""" - # self._auth_record and ._app will not be None when this method is called by get_token - # but should either be None anyway (and to satisfy mypy) we raise - if self._app is None or self._auth_record is None: + # this won't be None when this method is called by get_token but we check anyway to satisfy mypy + if self._auth_record is None: raise CredentialUnavailableError("Initialization failed") result = None - accounts_for_user = self._app.get_accounts(username=self._auth_record.username) + client_application = self._get_client_application(**kwargs) + accounts_for_user = client_application.get_accounts(username=self._auth_record.username) if not accounts_for_user: raise CredentialUnavailableError("The cache contains no account matching the given AuthenticationRecord.") @@ -155,7 +161,7 @@ def _acquire_token_silent(self, *scopes, **kwargs): continue now = int(time.time()) - result = self._app.acquire_token_silent_with_error( + result = client_application.acquire_token_silent_with_error( list(scopes), account=account, claims_challenge=kwargs.get("claims") ) if result and "access_token" in result and "expires_in" in result: 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 99e5c9b1955a..77281a185e6e 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/user_password.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/user_password.py @@ -21,21 +21,25 @@ class UsernamePasswordCredential(InteractiveCredential): a directory admin. This credential can only authenticate work and school accounts; Microsoft accounts are not supported. - See this document for more information about account types: - https://docs.microsoft.com/azure/active-directory/fundamentals/sign-up-organization + See `Azure Active Directory documentation + `_ for more information about + account types. :param str client_id: the application's client ID :param str username: the user's username (usually an email address) :param str password: the user's password - :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 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 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. + "organizations" tenant, which supports only Azure Active Directory work or school accounts. :keyword cache_persistence_options: configuration for persistent token caching. If unspecified, the credential - will cache tokens in memory. + will cache tokens in memory. :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant or the tenant specified by **tenant_id**. """ def __init__(self, client_id, username, password, **kwargs): @@ -53,7 +57,7 @@ def __init__(self, client_id, username, password, **kwargs): @wrap_exceptions def _request_token(self, *scopes, **kwargs): # type: (*str, **Any) -> dict - app = self._get_app() + app = self._get_app(**kwargs) return app.acquire_token_by_username_password( username=self._username, password=self._password, diff --git a/sdk/identity/azure-identity/azure/identity/_credentials/vscode.py b/sdk/identity/azure-identity/azure/identity/_credentials/vscode.py index db54a33bf18f..904766782bf7 100644 --- a/sdk/identity/azure-identity/azure/identity/_credentials/vscode.py +++ b/sdk/identity/azure-identity/azure/identity/_credentials/vscode.py @@ -120,6 +120,9 @@ class VisualStudioCodeCredential(_VSCodeCredentialBase, GetTokenMixin): :keyword str tenant_id: ID of the tenant the credential should authenticate in. Defaults to the "Azure: Tenant" setting in VS Code's user settings or, when that setting has no value, the "organizations" tenant, which supports only Azure Active Directory work or school accounts. + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant or the tenant configured by **tenant_id** or VS Code's user settings. """ def get_token(self, *scopes, **kwargs): @@ -137,10 +140,10 @@ def get_token(self, *scopes, **kwargs): raise CredentialUnavailableError(message=self._unavailable_reason) return super(VisualStudioCodeCredential, self).get_token(*scopes, **kwargs) - def _acquire_token_silently(self, *scopes): - # type: (*str) -> Optional[AccessToken] + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] self._client = cast(AadClient, self._client) - return self._client.get_cached_access_token(scopes) + return self._client.get_cached_access_token(scopes, **kwargs) def _request_token(self, *scopes, **kwargs): # type: (*str, **Any) -> AccessToken diff --git a/sdk/identity/azure-identity/azure/identity/_internal/__init__.py b/sdk/identity/azure-identity/azure/identity/_internal/__init__.py index 39f554bc47a7..93e032cbb829 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/__init__.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/__init__.py @@ -3,11 +3,17 @@ # Licensed under the MIT License. # ------------------------------------ import os +from typing import TYPE_CHECKING from six.moves.urllib_parse import urlparse +from azure.core.exceptions import ClientAuthenticationError + from .._constants import EnvironmentVariables, KnownAuthorities +if TYPE_CHECKING: + from typing import Any, Optional + def normalize_authority(authority): # type: (str) -> str @@ -43,6 +49,24 @@ def validate_tenant_id(tenant_id): ) +def resolve_tenant(default_tenant, allow_multitenant, tenant_id=None, **_): + # type: (str, bool, Optional[str], **Any) -> str + """Returns the correct tenant for a token request given a credential's configuration""" + if ( + tenant_id is None + or tenant_id == default_tenant + or os.environ.get(EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION) + ): + return default_tenant + + if not allow_multitenant: + raise ClientAuthenticationError( + 'The specified tenant for this token request, "{}", does not match'.format(tenant_id) + + ' the configured tenant, and "allow_multitenant_authentication" is False.' + ) + return tenant_id + + # pylint:disable=wrong-import-position from .aad_client import AadClient from .aad_client_base import AadClientBase @@ -74,5 +98,6 @@ def _scopes_to_resource(*scopes): "get_default_authority", "InteractiveCredential", "normalize_authority", + "resolve_tenant", "wrap_exceptions", ] diff --git a/sdk/identity/azure-identity/azure/identity/_internal/aad_client.py b/sdk/identity/azure-identity/azure/identity/_internal/aad_client.py index fb0fecc108a8..93b877afd667 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/aad_client.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/aad_client.py @@ -34,7 +34,7 @@ class AadClient(AadClientBase): def obtain_token_by_authorization_code(self, scopes, code, redirect_uri, client_secret=None, **kwargs): # type: (Iterable[str], str, str, Optional[str], **Any) -> AccessToken request = self._get_auth_code_request( - scopes=scopes, code=code, redirect_uri=redirect_uri, client_secret=client_secret + scopes=scopes, code=code, redirect_uri=redirect_uri, client_secret=client_secret, **kwargs ) now = int(time.time()) response = self._pipeline.run(request, stream=False, retry_on_methods=self._POST, **kwargs) @@ -42,21 +42,21 @@ def obtain_token_by_authorization_code(self, scopes, code, redirect_uri, client_ def obtain_token_by_client_certificate(self, scopes, certificate, **kwargs): # type: (Iterable[str], AadClientCertificate, **Any) -> AccessToken - request = self._get_client_certificate_request(scopes, certificate) + request = self._get_client_certificate_request(scopes, certificate, **kwargs) now = int(time.time()) response = self._pipeline.run(request, stream=False, retry_on_methods=self._POST, **kwargs) return self._process_response(response, now) def obtain_token_by_client_secret(self, scopes, secret, **kwargs): # type: (Iterable[str], str, **Any) -> AccessToken - request = self._get_client_secret_request(scopes, secret) + request = self._get_client_secret_request(scopes, secret, **kwargs) now = int(time.time()) response = self._pipeline.run(request, stream=False, retry_on_methods=self._POST, **kwargs) return self._process_response(response, now) def obtain_token_by_refresh_token(self, scopes, refresh_token, **kwargs): # type: (Iterable[str], str, **Any) -> AccessToken - request = self._get_refresh_token_request(scopes, refresh_token) + request = self._get_refresh_token_request(scopes, refresh_token, **kwargs) now = int(time.time()) response = self._pipeline.run(request, stream=False, retry_on_methods=self._POST, **kwargs) return self._process_response(response, now) diff --git a/sdk/identity/azure-identity/azure/identity/_internal/aad_client_base.py b/sdk/identity/azure-identity/azure/identity/_internal/aad_client_base.py index 511b05982a72..ed2d0161e443 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/aad_client_base.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/aad_client_base.py @@ -16,7 +16,7 @@ from azure.core.credentials import AccessToken from azure.core.exceptions import ClientAuthenticationError from . import get_default_authority, normalize_authority -from .._constants import DEFAULT_TOKEN_REFRESH_RETRY_DELAY, DEFAULT_REFRESH_OFFSET +from .._internal import resolve_tenant try: from typing import TYPE_CHECKING @@ -44,20 +44,27 @@ class AadClientBase(ABC): _POST = ["POST"] - def __init__(self, tenant_id, client_id, authority=None, cache=None, **kwargs): - # type: (str, str, Optional[str], Optional[TokenCache], **Any) -> None - authority = normalize_authority(authority) if authority else get_default_authority() - self._token_endpoint = "/".join((authority, tenant_id, "oauth2/v2.0/token")) + def __init__( + self, tenant_id, client_id, authority=None, cache=None, allow_multitenant_authentication=False, **kwargs + ): + # type: (str, str, Optional[str], Optional[TokenCache], bool, **Any) -> None + self._authority = normalize_authority(authority) if authority else get_default_authority() + + self._tenant_id = tenant_id + self._allow_multitenant = allow_multitenant_authentication + self._cache = cache or TokenCache() self._client_id = client_id self._pipeline = self._build_pipeline(**kwargs) - self._token_refresh_retry_delay = DEFAULT_TOKEN_REFRESH_RETRY_DELAY - self._token_refresh_offset = DEFAULT_REFRESH_OFFSET - self._last_refresh_time = 0 - def get_cached_access_token(self, scopes, query=None): - # type: (Iterable[str], Optional[dict]) -> Optional[AccessToken] - tokens = self._cache.find(TokenCache.CredentialType.ACCESS_TOKEN, target=list(scopes), query=query) + def get_cached_access_token(self, scopes, **kwargs): + # type: (Iterable[str], **Any) -> Optional[AccessToken] + tenant = resolve_tenant(self._tenant_id, self._allow_multitenant, **kwargs) + tokens = self._cache.find( + TokenCache.CredentialType.ACCESS_TOKEN, + target=list(scopes), + query={"client_id": self._client_id, "realm": tenant}, + ) for token in tokens: expires_on = int(token["expires_on"]) if expires_on > int(time.time()): @@ -91,8 +98,6 @@ def _build_pipeline(self, config=None, policies=None, transport=None, **kwargs): def _process_response(self, response, request_time): # type: (PipelineResponse, int) -> AccessToken - self._last_refresh_time = request_time # no matter succeed or not, update the last refresh time - content = ContentDecodePolicy.deserialize_from_http_generics(response.http_response) if response.http_request.body.get("grant_type") == "refresh_token": @@ -133,17 +138,18 @@ def _process_response(self, response, request_time): # caching is the final step because 'add' mutates 'content' self._cache.add( event={ + "client_id": self._client_id, "response": content, "scope": response.http_request.body["scope"].split(), - "client_id": self._client_id, + "token_endpoint": response.http_request.url, }, now=request_time, ) return token - def _get_auth_code_request(self, scopes, code, redirect_uri, client_secret=None): - # type: (Iterable[str], str, str, Optional[str]) -> HttpRequest + def _get_auth_code_request(self, scopes, code, redirect_uri, client_secret=None, **kwargs): + # type: (Iterable[str], str, str, Optional[str], **Any) -> HttpRequest data = { "client_id": self._client_id, "code": code, @@ -154,14 +160,13 @@ def _get_auth_code_request(self, scopes, code, redirect_uri, client_secret=None) if client_secret: data["client_secret"] = client_secret - request = HttpRequest( - "POST", self._token_endpoint, headers={"Content-Type": "application/x-www-form-urlencoded"}, data=data - ) + request = self._post(data, **kwargs) return request - def _get_client_certificate_request(self, scopes, certificate): - # type: (Iterable[str], AadClientCertificate) -> HttpRequest - assertion = self._get_jwt_assertion(certificate) + def _get_client_certificate_request(self, scopes, certificate, **kwargs): + # type: (Iterable[str], AadClientCertificate, **Any) -> HttpRequest + audience = self._get_token_url(**kwargs) + assertion = self._get_jwt_assertion(certificate, audience) data = { "client_assertion": assertion, "client_assertion_type": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer", @@ -170,26 +175,22 @@ def _get_client_certificate_request(self, scopes, certificate): "scope": " ".join(scopes), } - request = HttpRequest( - "POST", self._token_endpoint, headers={"Content-Type": "application/x-www-form-urlencoded"}, data=data - ) + request = self._post(data, **kwargs) return request - def _get_client_secret_request(self, scopes, secret): - # type: (Iterable[str], str) -> HttpRequest + def _get_client_secret_request(self, scopes, secret, **kwargs): + # type: (Iterable[str], str, **Any) -> HttpRequest data = { "client_id": self._client_id, "client_secret": secret, "grant_type": "client_credentials", "scope": " ".join(scopes), } - request = HttpRequest( - "POST", self._token_endpoint, headers={"Content-Type": "application/x-www-form-urlencoded"}, data=data - ) + request = self._post(data, **kwargs) return request - def _get_jwt_assertion(self, certificate): - # type: (AadClientCertificate) -> str + def _get_jwt_assertion(self, certificate, audience): + # type: (AadClientCertificate, str) -> str now = int(time.time()) header = six.ensure_binary( json.dumps({"typ": "JWT", "alg": "RS256", "x5t": certificate.thumbprint}), encoding="utf-8" @@ -198,7 +199,7 @@ def _get_jwt_assertion(self, certificate): json.dumps( { "jti": str(uuid4()), - "aud": self._token_endpoint, + "aud": audience, "iss": self._client_id, "sub": self._client_id, "nbf": now, @@ -213,8 +214,8 @@ def _get_jwt_assertion(self, certificate): return jwt_bytes.decode("utf-8") - def _get_refresh_token_request(self, scopes, refresh_token): - # type: (Iterable[str], str) -> HttpRequest + def _get_refresh_token_request(self, scopes, refresh_token, **kwargs): + # type: (Iterable[str], str, **Any) -> HttpRequest data = { "grant_type": "refresh_token", "refresh_token": refresh_token, @@ -222,11 +223,19 @@ def _get_refresh_token_request(self, scopes, refresh_token): "client_id": self._client_id, "client_info": 1, # request AAD include home_account_id in its response } - request = HttpRequest( - "POST", self._token_endpoint, headers={"Content-Type": "application/x-www-form-urlencoded"}, data=data - ) + request = self._post(data, **kwargs) return request + def _get_token_url(self, **kwargs): + # type: (**Any) -> str + tenant = resolve_tenant(self._tenant_id, self._allow_multitenant, **kwargs) + return "/".join((self._authority, tenant, "oauth2/v2.0/token")) + + def _post(self, data, **kwargs): + # type: (dict, **Any) -> HttpRequest + url = self._get_token_url(**kwargs) + return HttpRequest("POST", url, data=data, headers={"Content-Type": "application/x-www-form-urlencoded"}) + def _scrub_secrets(response): # type: (dict) -> None 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 index 9b6d9186f49b..2798776ac196 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/client_credential_base.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/client_credential_base.py @@ -5,8 +5,6 @@ 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 @@ -24,7 +22,7 @@ class ClientCredentialBase(MsalCredential, GetTokenMixin): @wrap_exceptions def _acquire_token_silently(self, *scopes, **kwargs): # type: (*str, **Any) -> Optional[AccessToken] - app = self._get_app() + app = self._get_app(**kwargs) 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: @@ -34,7 +32,7 @@ def _acquire_token_silently(self, *scopes, **kwargs): @wrap_exceptions def _request_token(self, *scopes, **kwargs): # type: (*str, **Any) -> Optional[AccessToken] - app = self._get_app() + app = self._get_app(**kwargs) request_time = int(time.time()) result = app.acquire_token_for_client(list(scopes)) if "access_token" not in result: @@ -42,9 +40,3 @@ def _request_token(self, *scopes, **kwargs): 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/get_token_mixin.py b/sdk/identity/azure-identity/azure/identity/_internal/get_token_mixin.py index c927504d2bd3..d605e92e765e 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/get_token_mixin.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/get_token_mixin.py @@ -31,8 +31,8 @@ def __init__(self, *args, **kwargs): super(GetTokenMixin, self).__init__(*args, **kwargs) # type: ignore @abc.abstractmethod - def _acquire_token_silently(self, *scopes): - # type: (*str) -> Optional[AccessToken] + def _acquire_token_silently(self, *scopes, **kwargs): + # type: (*str, **Any) -> Optional[AccessToken] """Attempt to acquire an access token from a cache or by redeeming a refresh token""" @abc.abstractmethod @@ -56,20 +56,24 @@ def get_token(self, *scopes, **kwargs): This method is called automatically by Azure SDK clients. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises CredentialUnavailableError: the credential is unable to attempt authentication because it lacks - required data, state, or platform support + required data, state, or platform support :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` - attribute gives a reason. + attribute gives a reason. """ if not scopes: raise ValueError('"get_token" requires at least one scope') try: - token = self._acquire_token_silently(*scopes) + token = self._acquire_token_silently(*scopes, **kwargs) if not token: self._last_request_time = int(time.time()) - token = self._request_token(*scopes) + token = self._request_token(*scopes, **kwargs) elif self._should_refresh(token): try: self._last_request_time = int(time.time()) diff --git a/sdk/identity/azure-identity/azure/identity/_internal/interactive.py b/sdk/identity/azure-identity/azure/identity/_internal/interactive.py index 2eb9653900e9..a095c783c595 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/interactive.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/interactive.py @@ -8,11 +8,9 @@ import base64 import json import logging -import os import time from typing import TYPE_CHECKING -import msal import six from azure.core.credentials import AccessToken from azure.core.exceptions import ClientAuthenticationError @@ -23,6 +21,11 @@ from .._exceptions import AuthenticationRequiredError, CredentialUnavailableError from .._internal import wrap_exceptions +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 @@ -81,7 +84,7 @@ def _build_auth_record(response): six.raise_from(auth_error, ex) -class InteractiveCredential(MsalCredential): +class InteractiveCredential(MsalCredential, ABC): 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] @@ -106,13 +109,17 @@ def get_token(self, *scopes, **kwargs): :param str scopes: desired scopes for the access token. This method requires at least one scope. :keyword str claims: additional claims required in the token, such as those returned in a resource provider's claims challenge following an authorization failure + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises CredentialUnavailableError: the credential is unable to attempt authentication because it lacks - required data, state, or platform support + required data, state, or platform support :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` - attribute gives a reason. + 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. + configured not to begin this automatically. Call :func:`authenticate` to begin interactive authentication. """ if not scopes: message = "'get_token' requires at least one scope" @@ -148,7 +155,10 @@ def get_token(self, *scopes, **kwargs): self._auth_record = _build_auth_record(result) except Exception as ex: # pylint:disable=broad-except _LOGGER.warning( - "%s.get_token failed: %s", self.__class__.__name__, ex, exc_info=_LOGGER.isEnabledFor(logging.DEBUG), + "%s.get_token failed: %s", + self.__class__.__name__, + ex, + exc_info=_LOGGER.isEnabledFor(logging.DEBUG), ) raise @@ -188,7 +198,7 @@ def _acquire_token_silent(self, *scopes, **kwargs): result = None claims = kwargs.get("claims") if self._auth_record: - app = self._get_app() + app = self._get_app(**kwargs) for account in app.get_accounts(username=self._auth_record.username): if account.get("home_account_id") != self._auth_record.home_account_id: continue @@ -204,16 +214,6 @@ def _acquire_token_silent(self, *scopes, **kwargs): raise AuthenticationRequiredError(scopes, claims=claims, response=response) raise AuthenticationRequiredError(scopes, claims=claims) - def _get_app(self): - # type: () -> msal.PublicClientApplication - if not self._msal_app: - if "AZURE_IDENTITY_DISABLE_CP1" in os.environ: - capabilities = None - else: - capabilities = ["CP1"] # able to handle CAE claims challenges - self._msal_app = self._create_app(msal.PublicClientApplication, client_capabilities=capabilities) - return self._msal_app - @abc.abstractmethod def _request_token(self, *scopes, **kwargs): pass 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 a03209e935fb..3732f1595313 100644 --- a/sdk/identity/azure-identity/azure/identity/_internal/msal_credentials.py +++ b/sdk/identity/azure-identity/azure/identity/_internal/msal_credentials.py @@ -2,21 +2,15 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import abc import os import msal from .msal_client import MsalClient from .._constants import EnvironmentVariables -from .._internal import get_default_authority, normalize_authority, validate_tenant_id +from .._internal import get_default_authority, normalize_authority, resolve_tenant, validate_tenant_id from .._persistent_cache import _load_persistent_cache -try: - ABC = abc.ABC -except AttributeError: # Python 2.7, abc exists, but not ABC - ABC = abc.ABCMeta("ABC", (object,), {"__slots__": ()}) # type: ignore - try: from typing import TYPE_CHECKING except ImportError: @@ -24,14 +18,14 @@ if TYPE_CHECKING: # pylint:disable=ungrouped-imports,unused-import - from typing import Any, Optional, Type, Union + from typing import Any, Dict, Optional, Union -class MsalCredential(ABC): +class MsalCredential(object): """Base class for credentials wrapping MSAL applications""" def __init__(self, client_id, client_credential=None, **kwargs): - # type: (str, Optional[Union[str, dict]], **Any) -> None + # type: (str, Optional[Union[str, Dict]], **Any) -> None authority = kwargs.pop("authority", None) self._authority = normalize_authority(authority) if authority else get_default_authority() self._regional_authority = kwargs.pop( @@ -39,7 +33,10 @@ def __init__(self, client_id, client_credential=None, **kwargs): ) self._tenant_id = kwargs.pop("tenant_id", None) or "organizations" validate_tenant_id(self._tenant_id) + self._allow_multitenant = kwargs.pop("allow_multitenant_authentication", False) + self._client = MsalClient(**kwargs) + self._client_applications = {} # type: Dict[str, msal.ClientApplication] self._client_credential = client_credential self._client_id = client_id @@ -51,27 +48,23 @@ def __init__(self, client_id, client_credential=None, **kwargs): else: self._cache = msal.TokenCache() - self._client = MsalClient(**kwargs) - - # postpone creating the wrapped application because its initializer uses the network - self._msal_app = None # type: Optional[msal.ClientApplication] super(MsalCredential, self).__init__() - @abc.abstractmethod - def _get_app(self): - # type: () -> msal.ClientApplication - pass - - def _create_app(self, cls, **kwargs): - # type: (Type[msal.ClientApplication], **Any) -> msal.ClientApplication - app = cls( - client_id=self._client_id, - client_credential=self._client_credential, - authority="{}/{}".format(self._authority, self._tenant_id), - azure_region=self._regional_authority, - token_cache=self._cache, - http_client=self._client, - **kwargs - ) + def _get_app(self, **kwargs): + # type: (**Any) -> msal.ClientApplication + tenant_id = resolve_tenant(self._tenant_id, self._allow_multitenant, **kwargs) + if tenant_id not in self._client_applications: + # CP1 = can handle claims challenges (CAE) + capabilities = None if "AZURE_IDENTITY_DISABLE_CP1" in os.environ else ["CP1"] + cls = msal.ConfidentialClientApplication if self._client_credential else msal.PublicClientApplication + self._client_applications[tenant_id] = cls( + client_id=self._client_id, + client_credential=self._client_credential, + client_capabilities=capabilities, + authority="{}/{}".format(self._authority, tenant_id), + azure_region=self._regional_authority, + token_cache=self._cache, + http_client=self._client, + ) - return app + return self._client_applications[tenant_id] 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 index de7703c7e570..e09f35006c1e 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/app_service.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/app_service.py @@ -42,7 +42,7 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": return await super().get_token(*scopes, **kwargs) - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": return self._client.get_cached_token(*scopes) async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/application.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/application.py index c8a8f01d8787..484abbb9f871 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/application.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/application.py @@ -48,6 +48,10 @@ class AzureApplicationCredential(ChainedTokenCredential): `_ for an overview of managed identities. + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application or user is registered in. When False, which is the default, the credential will acquire tokens + only from the tenant specified by **AZURE_TENANT_ID**. This argument doesn't apply to managed identity + authentication. :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 when no value is given for this keyword argument or environment variable AZURE_AUTHORITY_HOST. :class:`~azure.identity.AzureAuthorityHosts` defines authorities for 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 d80f59a9e973..225fbe434d94 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 @@ -10,25 +10,29 @@ if TYPE_CHECKING: # pylint:disable=unused-import,ungrouped-imports - from typing import Any, Iterable, Optional + from typing import Any, Optional from azure.core.credentials import AccessToken class AuthorizationCodeCredential(AsyncContextManager, GetTokenMixin): """Authenticates by redeeming an authorization code previously obtained from Azure Active Directory. - See https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow for more information + See `Azure Active Directory documentation + `_ for more information about the authentication flow. - :param str tenant_id: ID of the application's Azure Active Directory tenant. Also called its 'directory' ID. + :param str tenant_id: ID of the application's Azure Active Directory tenant. Also called its "directory" ID. :param str client_id: the application's client ID :param str authorization_code: the authorization code from the user's log-in :param str redirect_uri: The application's redirect URI. Must match the URI used to request the authorization code. - :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 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 str client_secret: One of the application's client secrets. Required only for web apps and web APIs. + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant or the tenant specified by **tenant_id**. """ async def __aenter__(self): @@ -62,15 +66,19 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": redeeming the authorization code. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :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. """ return await super().get_token(*scopes, **kwargs) - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": - return self._client.get_cached_access_token(scopes) + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": + return self._client.get_cached_access_token(scopes, **kwargs) async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": if self._authorization_code: diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_arc.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_arc.py index 2445a678bb74..cb5c14bb26d4 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_arc.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_arc.py @@ -64,7 +64,7 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": return await super().get_token(*scopes, **kwargs) - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": return self._client.get_cached_token(*scopes) async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": 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 2db249d9f750..d01a3619462d 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 @@ -20,7 +20,7 @@ parse_token, sanitize_output, ) -from ..._internal import _scopes_to_resource +from ..._internal import _scopes_to_resource, resolve_tenant if TYPE_CHECKING: from typing import Any @@ -31,8 +31,15 @@ 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. + + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the identity logged in to the Azure CLI is registered in. When False, which is the default, the credential will + acquire tokens only from the tenant of the Azure CLI's active subscription. """ + def __init__(self, **kwargs: "Any") -> None: + self._allow_multitenant = kwargs.get("allow_multitenant_authentication", False) + @log_get_token_async async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": """Request an access token for `scopes`. @@ -41,6 +48,9 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": also handle token caching because this credential doesn't cache the tokens it acquires. :param str scopes: desired scope for the access token. This credential allows only one scope per request. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` :raises ~azure.identity.CredentialUnavailableError: the credential was unable to invoke the Azure CLI. @@ -52,7 +62,11 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": return _SyncAzureCliCredential().get_token(*scopes, **kwargs) resource = _scopes_to_resource(*scopes) - output = await _run_command(COMMAND_LINE.format(resource)) + command = COMMAND_LINE.format(resource) + tenant = resolve_tenant("", self._allow_multitenant, **kwargs) + if tenant: + command += " --tenant " + tenant + output = await _run_command(command) token = parse_token(output) if not token: diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_powershell.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_powershell.py index 8ce2976e29a5..c99433bb13d4 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_powershell.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/azure_powershell.py @@ -16,6 +16,7 @@ raise_for_error, parse_token, ) +from ..._internal import resolve_tenant if TYPE_CHECKING: # pylint:disable=ungrouped-imports @@ -27,8 +28,15 @@ class AzurePowerShellCredential(AsyncContextManager): """Authenticates by requesting a token from Azure PowerShell. This requires previously logging in to Azure via "Connect-AzAccount", and will use the currently logged in identity. + + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the identity logged in to Azure PowerShell is registered in. When False, which is the default, the credential + will acquire tokens only from the tenant of Azure PowerShell's active subscription. """ + def __init__(self, **kwargs: "Any") -> None: + self._allow_multitenant = kwargs.get("allow_multitenant_authentication", False) + @log_get_token_async async def get_token( self, *scopes: str, **kwargs: "Any" @@ -39,6 +47,9 @@ async def get_token( also handle token caching because this credential doesn't cache the tokens it acquires. :param str scopes: desired scope for the access token. This credential allows only one scope per request. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` :raises ~azure.identity.CredentialUnavailableError: the credential was unable to invoke Azure PowerShell, or @@ -50,7 +61,8 @@ async def get_token( if sys.platform.startswith("win") and not isinstance(asyncio.get_event_loop(), asyncio.ProactorEventLoop): return _SyncCredential().get_token(*scopes, **kwargs) - command_line = get_command_line(scopes) + tenant_id = resolve_tenant("", self._allow_multitenant, **kwargs) + command_line = get_command_line(scopes, tenant_id) output = await run_command_line(command_line) token = parse_token(output) return token 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 db78d7e263ae..a78b9b790eac 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/certificate.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/certificate.py @@ -40,6 +40,9 @@ class CertificateCredential(AsyncContextManager, GetTokenMixin): :keyword cache_persistence_options: configuration for persistent token caching. If unspecified, the credential will cache tokens in memory. :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application is registered in. When False, which is the default, the credential will acquire tokens only from + the tenant specified by **tenant_id**. """ def __init__(self, tenant_id, client_id, certificate_path=None, **kwargs): @@ -71,8 +74,8 @@ async def close(self): await self._client.__aexit__() - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": - return self._client.get_cached_access_token(scopes, query={"client_id": self._client_id}) + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": + return self._client.get_cached_access_token(scopes, **kwargs) async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": return await self._client.obtain_token_by_client_certificate(scopes, self._certificate, **kwargs) 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 d77ecc1030a8..676e0b15e790 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 @@ -29,6 +29,9 @@ class ClientSecretCredential(AsyncContextManager, GetTokenMixin): :keyword cache_persistence_options: configuration for persistent token caching. If unspecified, the credential will cache tokens in memory. :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application is registered in. When False, which is the default, the credential will acquire tokens only from + the tenant specified by **tenant_id**. """ def __init__(self, tenant_id: str, client_id: str, client_secret: str, **kwargs: "Any") -> None: @@ -62,8 +65,8 @@ async def close(self): await self._client.__aexit__() - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": - return self._client.get_cached_access_token(scopes, query={"client_id": self._client_id}) + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": + return self._client.get_cached_access_token(scopes, **kwargs) async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": return await self._client.obtain_token_by_client_secret(scopes, self._secret, **kwargs) diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/cloud_shell.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/cloud_shell.py index 9685d5acce32..512fc621a21b 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/cloud_shell.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/cloud_shell.py @@ -47,7 +47,7 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": ) return await super(CloudShellCredential, self).get_token(*scopes, **kwargs) - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": return self._client.get_cached_token(*scopes) async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/default.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/default.py index cf5085556b9e..8888e5d28874 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/default.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/default.py @@ -42,9 +42,12 @@ class DefaultAzureCredential(ChainedTokenCredential): This default behavior is configurable with keyword arguments. + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application is registered in. When False, which is the default, the credential will acquire tokens only from + its configured tenant. This argument doesn't apply to managed identity authentication. :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. Managed identities ignore this because they reside in a single cloud. + the authority for Azure Public Cloud (which is the default). :class:`~azure.identity.AzureAuthorityHosts` + defines authorities for other clouds. Managed identities ignore this because they reside in a single cloud. :keyword bool exclude_cli_credential: Whether to exclude the Azure CLI from the credential. Defaults to **False**. :keyword bool exclude_environment_credential: Whether to exclude a service principal configured by environment variables from the credential. Defaults to **False**. @@ -73,7 +76,7 @@ def __init__(self, **kwargs: "Any") -> None: vscode_tenant_id = kwargs.pop( "visual_studio_code_tenant_id", os.environ.get(EnvironmentVariables.AZURE_TENANT_ID) ) - vscode_args = {} + vscode_args = dict(kwargs) if authority: vscode_args["authority"] = authority if vscode_tenant_id: @@ -118,9 +121,9 @@ def __init__(self, **kwargs: "Any") -> None: if not exclude_visual_studio_code_credential: credentials.append(VisualStudioCodeCredential(**vscode_args)) if not exclude_cli_credential: - credentials.append(AzureCliCredential()) + credentials.append(AzureCliCredential(**kwargs)) if not exclude_powershell_credential: - credentials.append(AzurePowerShellCredential()) + credentials.append(AzurePowerShellCredential(**kwargs)) super().__init__(*credentials) @@ -130,6 +133,11 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": This method is called automatically by Azure SDK clients. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + + :rtype: :class:`azure.core.credentials.AccessToken` + :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The exception has a `message` attribute listing each authentication attempt and its error message. """ 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 ac6951d9b9d8..a1e84100b005 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/environment.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/environment.py @@ -37,6 +37,10 @@ class EnvironmentCredential(AsyncContextManager): - **AZURE_CLIENT_ID**: the service principal's client ID - **AZURE_CLIENT_CERTIFICATE_PATH**: path to a PEM-encoded certificate file including the private key. The certificate must not be password-protected. + + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the application or user is registered in. When False, which is the default, the credential will acquire tokens + only from the tenant specified by **AZURE_TENANT_ID**. """ def __init__(self, **kwargs: "Any") -> None: @@ -87,7 +91,11 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": This method is called automatically by Azure SDK clients. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises ~azure.identity.CredentialUnavailableError: environment variable configuration is incomplete """ if not self._credential: diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/imds.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/imds.py index a562ac1d46a6..9274adf6aea5 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/imds.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/imds.py @@ -38,7 +38,7 @@ async def __aenter__(self): async def close(self) -> None: await self._client.close() - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": return self._client.get_cached_token(*scopes) async def _request_token(self, *scopes, **kwargs: "Any") -> "AccessToken": # pylint:disable=unused-argument diff --git a/sdk/identity/azure-identity/azure/identity/aio/_credentials/service_fabric.py b/sdk/identity/azure-identity/azure/identity/aio/_credentials/service_fabric.py index 53e476d6b171..5e8de07d763e 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/service_fabric.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/service_fabric.py @@ -42,7 +42,7 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": return await super().get_token(*scopes, **kwargs) - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": return self._client.get_cached_token(*scopes) async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": 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 30f50b937d44..b663f16623af 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 @@ -32,6 +32,9 @@ class SharedTokenCacheCredential(SharedTokenCacheBase, AsyncContextManager): :keyword cache_persistence_options: configuration for persistent token caching. If not provided, the credential will use the persistent cache shared by Microsoft development applications :paramtype cache_persistence_options: ~azure.identity.TokenCachePersistenceOptions + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant. """ async def __aenter__(self): @@ -54,7 +57,11 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": # py This method is called automatically by Azure SDK clients. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises ~azure.identity.CredentialUnavailableError: the cache is unavailable or contains insufficient user information :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` @@ -78,7 +85,7 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": # py # try each refresh token, returning the first access token acquired for refresh_token in self._get_refresh_tokens(account): - token = await self._client.obtain_token_by_refresh_token(scopes, refresh_token) + token = await self._client.obtain_token_by_refresh_token(scopes, refresh_token, **kwargs) return token raise CredentialUnavailableError(message=NO_TOKEN.format(account.get("username"))) 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 e180090d40d8..586354f8ff30 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_credentials/vscode.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_credentials/vscode.py @@ -26,6 +26,9 @@ class VisualStudioCodeCredential(_VSCodeCredentialBase, AsyncContextManager, Get :keyword str tenant_id: ID of the tenant the credential should authenticate in. Defaults to the "Azure: Tenant" setting in VS Code's user settings or, when that setting has no value, the "organizations" tenant, which supports only Azure Active Directory work or school accounts. + :keyword bool allow_multitenant_authentication: when True, enables the credential to acquire tokens from any tenant + the user is registered in. When False, which is the default, the credential will acquire tokens only from the + user's home tenant or the tenant configured by **tenant_id** or VS Code's user settings. """ async def __aenter__(self) -> "VisualStudioCodeCredential": @@ -45,9 +48,13 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": This method is called automatically by Azure SDK clients. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises ~azure.identity.CredentialUnavailableError: the credential cannot retrieve user details from Visual - Studio Code + Studio Code """ if self._unavailable_reason: raise CredentialUnavailableError(message=self._unavailable_reason) @@ -56,9 +63,9 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": return await super().get_token(*scopes, **kwargs) - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": self._client = cast(AadClient, self._client) - return self._client.get_cached_access_token(scopes) + return self._client.get_cached_access_token(scopes, **kwargs) async def _request_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": refresh_token = self._get_refresh_token() diff --git a/sdk/identity/azure-identity/azure/identity/aio/_internal/aad_client.py b/sdk/identity/azure-identity/azure/identity/aio/_internal/aad_client.py index 9237eb4ef855..76c8c8af5bab 100644 --- a/sdk/identity/azure-identity/azure/identity/aio/_internal/aad_client.py +++ b/sdk/identity/azure-identity/azure/identity/aio/_internal/aad_client.py @@ -52,7 +52,7 @@ async def obtain_token_by_authorization_code( **kwargs: "Any" ) -> "AccessToken": request = self._get_auth_code_request( - scopes=scopes, code=code, redirect_uri=redirect_uri, client_secret=client_secret + scopes=scopes, code=code, redirect_uri=redirect_uri, client_secret=client_secret, **kwargs ) now = int(time.time()) response = await self._pipeline.run(request, retry_on_methods=self._POST, **kwargs) @@ -60,7 +60,7 @@ async def obtain_token_by_authorization_code( async def obtain_token_by_client_certificate(self, scopes, certificate, **kwargs): # type: (Iterable[str], AadClientCertificate, **Any) -> AccessToken - request = self._get_client_certificate_request(scopes, certificate) + request = self._get_client_certificate_request(scopes, certificate, **kwargs) now = int(time.time()) response = await self._pipeline.run(request, stream=False, retry_on_methods=self._POST, **kwargs) return self._process_response(response, now) @@ -68,7 +68,7 @@ async def obtain_token_by_client_certificate(self, scopes, certificate, **kwargs async def obtain_token_by_client_secret( self, scopes: "Iterable[str]", secret: str, **kwargs: "Any" ) -> "AccessToken": - request = self._get_client_secret_request(scopes, secret) + request = self._get_client_secret_request(scopes, secret, **kwargs) now = int(time.time()) response = await self._pipeline.run(request, retry_on_methods=self._POST, **kwargs) return self._process_response(response, now) @@ -76,7 +76,7 @@ async def obtain_token_by_client_secret( async def obtain_token_by_refresh_token( self, scopes: "Iterable[str]", refresh_token: str, **kwargs: "Any" ) -> "AccessToken": - request = self._get_refresh_token_request(scopes, refresh_token) + request = self._get_refresh_token_request(scopes, refresh_token, **kwargs) now = int(time.time()) response = await self._pipeline.run(request, retry_on_methods=self._POST, **kwargs) return self._process_response(response, now) 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 index 204cffff1d6d..5da662f4e2b4 100644 --- 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 @@ -25,7 +25,7 @@ def __init__(self, *args: "Any", **kwargs: "Any") -> None: super(GetTokenMixin, self).__init__(*args, **kwargs) # type: ignore @abc.abstractmethod - async def _acquire_token_silently(self, *scopes: str) -> "Optional[AccessToken]": + async def _acquire_token_silently(self, *scopes: str, **kwargs: "Any") -> "Optional[AccessToken]": """Attempt to acquire an access token from a cache or by redeeming a refresh token""" @abc.abstractmethod @@ -46,20 +46,24 @@ async def get_token(self, *scopes: str, **kwargs: "Any") -> "AccessToken": This method is called automatically by Azure SDK clients. :param str scopes: desired scopes for the access token. This method requires at least one scope. + :keyword str tenant_id: optional tenant to include in the token request. If **allow_multitenant_authentication** + is False, specifying a tenant with this argument may raise an exception. + :rtype: :class:`azure.core.credentials.AccessToken` + :raises CredentialUnavailableError: the credential is unable to attempt authentication because it lacks - required data, state, or platform support + required data, state, or platform support :raises ~azure.core.exceptions.ClientAuthenticationError: authentication failed. The error's ``message`` - attribute gives a reason. + attribute gives a reason. """ if not scopes: raise ValueError('"get_token" requires at least one scope') try: - token = await self._acquire_token_silently(*scopes) + token = await self._acquire_token_silently(*scopes, **kwargs) if not token: self._last_request_time = int(time.time()) - token = await self._request_token(*scopes) + token = await self._request_token(*scopes, **kwargs) elif self._should_refresh(token): try: self._last_request_time = int(time.time()) diff --git a/sdk/identity/azure-identity/tests/helpers.py b/sdk/identity/azure-identity/tests/helpers.py index 2805c54f3135..b1be22602c72 100644 --- a/sdk/identity/azure-identity/tests/helpers.py +++ b/sdk/identity/azure-identity/tests/helpers.py @@ -153,8 +153,14 @@ def mock_response(status_code=200, headers=None, json_payload=None): def get_discovery_response(endpoint="https://a/b"): + """Get a mock response containing the values MSAL requires from tenant and instance discovery. + + The response is incomplete and its values aren't necessarily valid, particularly for instance discovery, but it's + sufficient. MSAL will send token requests to "{endpoint}/oauth2/v2.0/token_endpoint" after receiving a tenant + discovery response created by this method. + """ aad_metadata_endpoint_names = ("authorization_endpoint", "token_endpoint", "tenant_discovery_endpoint") - payload = {name: endpoint for name in aad_metadata_endpoint_names} + payload = {name: endpoint + "/oauth2/v2.0/" + name for name in aad_metadata_endpoint_names} payload["metadata"] = "" return mock_response(json_payload=payload) diff --git a/sdk/identity/azure-identity/tests/test_aad_client.py b/sdk/identity/azure-identity/tests/test_aad_client.py index 4a313608a3b1..9f798d50c4fe 100644 --- a/sdk/identity/azure-identity/tests/test_aad_client.py +++ b/sdk/identity/azure-identity/tests/test_aad_client.py @@ -56,7 +56,11 @@ def test_exceptions_do_not_expose_secrets(): fns = [ functools.partial(client.obtain_token_by_authorization_code, "code", "uri", "scope"), - functools.partial(client.obtain_token_by_refresh_token, "refresh token", ("scope"),), + functools.partial( + client.obtain_token_by_refresh_token, + "refresh token", + ("scope"), + ), ] def assert_secrets_not_exposed(): @@ -233,3 +237,76 @@ def test_retries_token_requests(): client.obtain_token_by_refresh_token("", "") assert transport.send.call_count > 1 transport.send.reset_mock() + + +def test_shared_cache(): + """The client should return only tokens associated with its own client_id""" + + client_id_a = "client-id-a" + client_id_b = "client-id-b" + scope = "scope" + expected_token = "***" + tenant_id = "tenant" + authority = "https://localhost/" + tenant_id + + cache = TokenCache() + cache.add( + { + "response": build_aad_response(access_token=expected_token), + "client_id": client_id_a, + "scope": [scope], + "token_endpoint": "/".join((authority, tenant_id, "oauth2/v2.0/token")), + } + ) + + common_args = dict(authority=authority, cache=cache, tenant_id=tenant_id) + client_a = AadClient(client_id=client_id_a, **common_args) + client_b = AadClient(client_id=client_id_b, **common_args) + + # A has a cached token + token = client_a.get_cached_access_token([scope]) + assert token.token == expected_token + + # which B shouldn't return + assert client_b.get_cached_access_token([scope]) is None + + +def test_multitenant_cache(): + client_id = "client-id" + scope = "scope" + expected_token = "***" + tenant_a = "tenant-a" + tenant_b = "tenant-b" + tenant_c = "tenant-c" + authority = "https://localhost/" + tenant_a + + cache = TokenCache() + cache.add( + { + "response": build_aad_response(access_token=expected_token), + "client_id": client_id, + "scope": [scope], + "token_endpoint": "/".join((authority, tenant_a, "oauth2/v2.0/token")), + } + ) + + common_args = dict(authority=authority, cache=cache, client_id=client_id) + client_a = AadClient(tenant_id=tenant_a, **common_args) + client_b = AadClient(tenant_id=tenant_b, **common_args) + + # A has a cached token + token = client_a.get_cached_access_token([scope]) + assert token.token == expected_token + + # which B shouldn't return + assert client_b.get_cached_access_token([scope]) is None + + # but C allows multitenant auth and should therefore return the token from tenant_a when appropriate + client_c = AadClient(tenant_id=tenant_c, allow_multitenant_authentication=True, **common_args) + assert client_c.get_cached_access_token([scope]) is None + token = client_c.get_cached_access_token([scope], tenant_id=tenant_a) + assert token.token == expected_token + with patch.dict( + "os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}, clear=True + ): + assert client_c.get_cached_access_token([scope], tenant_id=tenant_a) is None diff --git a/sdk/identity/azure-identity/tests/test_aad_client_async.py b/sdk/identity/azure-identity/tests/test_aad_client_async.py index 81d3fc2d827f..64212d573e97 100644 --- a/sdk/identity/azure-identity/tests/test_aad_client_async.py +++ b/sdk/identity/azure-identity/tests/test_aad_client_async.py @@ -5,13 +5,11 @@ import functools from unittest.mock import Mock, patch from urllib.parse import urlparse -import time from azure.core.exceptions import ClientAuthenticationError, ServiceRequestError -from azure.identity._constants import EnvironmentVariables, DEFAULT_REFRESH_OFFSET, DEFAULT_TOKEN_REFRESH_RETRY_DELAY +from azure.identity._constants import EnvironmentVariables from azure.identity._internal import AadClientCertificate from azure.identity.aio._internal.aad_client import AadClient -from azure.core.credentials import AccessToken from msal import TokenCache import pytest @@ -241,3 +239,76 @@ async def test_retries_token_requests(): await client.obtain_token_by_refresh_token("", "") assert transport.send.call_count > 1 transport.send.reset_mock() + + +async def test_shared_cache(): + """The client should return only tokens associated with its own client_id""" + + client_id_a = "client-id-a" + client_id_b = "client-id-b" + scope = "scope" + expected_token = "***" + tenant_id = "tenant" + authority = "https://localhost/" + tenant_id + + cache = TokenCache() + cache.add( + { + "response": build_aad_response(access_token=expected_token), + "client_id": client_id_a, + "scope": [scope], + "token_endpoint": "/".join((authority, tenant_id, "oauth2/v2.0/token")), + } + ) + + common_args = dict(authority=authority, cache=cache, tenant_id=tenant_id) + client_a = AadClient(client_id=client_id_a, **common_args) + client_b = AadClient(client_id=client_id_b, **common_args) + + # A has a cached token + token = client_a.get_cached_access_token([scope]) + assert token.token == expected_token + + # which B shouldn't return + assert client_b.get_cached_access_token([scope]) is None + + +async def test_multitenant_cache(): + client_id = "client-id" + scope = "scope" + expected_token = "***" + tenant_a = "tenant-a" + tenant_b = "tenant-b" + tenant_c = "tenant-c" + authority = "https://localhost/" + tenant_a + + cache = TokenCache() + cache.add( + { + "response": build_aad_response(access_token=expected_token), + "client_id": client_id, + "scope": [scope], + "token_endpoint": "/".join((authority, tenant_a, "oauth2/v2.0/token")), + } + ) + + common_args = dict(authority=authority, cache=cache, client_id=client_id) + client_a = AadClient(tenant_id=tenant_a, **common_args) + client_b = AadClient(tenant_id=tenant_b, **common_args) + + # A has a cached token + token = client_a.get_cached_access_token([scope]) + assert token.token == expected_token + + # which B shouldn't return + assert client_b.get_cached_access_token([scope]) is None + + # but C allows multitenant auth and should therefore return the token from tenant_a when appropriate + client_c = AadClient(tenant_id=tenant_c, allow_multitenant_authentication=True, **common_args) + assert client_c.get_cached_access_token([scope]) is None + token = client_c.get_cached_access_token([scope], tenant_id=tenant_a) + assert token.token == expected_token + with patch.dict( + "os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}, clear=True + ): + assert client_c.get_cached_access_token([scope], tenant_id=tenant_a) is None diff --git a/sdk/identity/azure-identity/tests/test_auth_code.py b/sdk/identity/azure-identity/tests/test_auth_code.py index 7b6ce76a75ed..29ab3733a633 100644 --- a/sdk/identity/azure-identity/tests/test_auth_code.py +++ b/sdk/identity/azure-identity/tests/test_auth_code.py @@ -2,19 +2,21 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -from azure.core.credentials import AccessToken +from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import SansIOHTTPPolicy from azure.identity import AuthorizationCodeCredential +from azure.identity._constants import EnvironmentVariables from azure.identity._internal.user_agent import USER_AGENT import msal import pytest +from six.moves.urllib_parse import urlparse from helpers import build_aad_response, mock_response, Request, validating_transport try: - from unittest.mock import Mock + from unittest.mock import Mock, patch except ImportError: # python < 3.3 - from mock import Mock # type: ignore + from mock import Mock, patch # type: ignore def test_no_scopes(): @@ -114,3 +116,73 @@ def test_auth_code_credential(): token = credential.get_token(expected_scope) assert token.token == expected_access_token assert transport.send.call_count == 2 + + +def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + assert tenant in (first_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant) + token = first_token if tenant == first_tenant else second_token + return mock_response(json_payload=build_aad_response(access_token=token, refresh_token="**")) + + credential = AuthorizationCodeCredential( + first_tenant, + "client-id", + "authcode", + "https://localhost", + allow_multitenant_authentication=True, + transport=Mock(send=send), + ) + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + token = expected_token if tenant == expected_tenant else expected_token * 2 + return mock_response(json_payload=build_aad_response(access_token=token, refresh_token="**")) + + credential = AuthorizationCodeCredential( + expected_tenant, "client-id", "authcode", "https://localhost", transport=Mock(send=send) + ) + + token = credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_auth_code_async.py b/sdk/identity/azure-identity/tests/test_auth_code_async.py index 3b754b40a6f4..5eb55e6515cc 100644 --- a/sdk/identity/azure-identity/tests/test_auth_code_async.py +++ b/sdk/identity/azure-identity/tests/test_auth_code_async.py @@ -2,9 +2,12 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -from unittest.mock import Mock +from unittest.mock import Mock, patch +from urllib.parse import urlparse +from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import SansIOHTTPPolicy +from azure.identity._constants import EnvironmentVariables from azure.identity._internal.user_agent import USER_AGENT from azure.identity.aio import AuthorizationCodeCredential import msal @@ -137,3 +140,73 @@ async def test_auth_code_credential(): token = await credential.get_token(expected_scope) assert token.token == expected_access_token assert transport.send.call_count == 2 + + +async def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + async def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + assert tenant in (first_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant) + token = first_token if tenant == first_tenant else second_token + return mock_response(json_payload=build_aad_response(access_token=token, refresh_token="**")) + + credential = AuthorizationCodeCredential( + first_tenant, + "client-id", + "authcode", + "https://localhost", + allow_multitenant_authentication=True, + transport=Mock(send=send), + ) + token = await credential.get_token("scope") + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = await credential.get_token("scope") + assert token.token == first_token + + +async def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + async def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + token = expected_token if tenant == expected_tenant else expected_token * 2 + return mock_response(json_payload=build_aad_response(access_token=token, refresh_token="**")) + + credential = AuthorizationCodeCredential( + expected_tenant, "client-id", "authcode", "https://localhost", transport=Mock(send=send) + ) + + token = await credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = await credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + await credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = await credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_certificate_credential.py b/sdk/identity/azure-identity/tests/test_certificate_credential.py index 666cec214860..38272fdb47ec 100644 --- a/sdk/identity/azure-identity/tests/test_certificate_credential.py +++ b/sdk/identity/azure-identity/tests/test_certificate_credential.py @@ -5,6 +5,7 @@ import json import os +from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import ContentDecodePolicy, SansIOHTTPPolicy from azure.identity import CertificateCredential, RegionalAuthority, TokenCachePersistenceOptions from azure.identity._constants import EnvironmentVariables @@ -343,3 +344,83 @@ def test_certificate_arguments(): CertificateCredential("tenant-id", "client-id", certificate_path="...", certificate_data="...") message = str(ex.value) assert "certificate_data" in message and "certificate_path" in message + + +@pytest.mark.parametrize("cert_path,cert_password", BOTH_CERTS) +def test_allow_multitenant_authentication(cert_path, cert_password): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + assert tenant in (first_tenant, second_tenant, "common"), 'unexpected tenant "{}"'.format(tenant) + if "/oauth2/v2.0/token" not in parsed.path: + return get_discovery_response("https://{}/{}".format(parsed.netloc, tenant)) + + token = first_token if tenant == first_tenant else second_token + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = CertificateCredential( + first_tenant, + "client-id", + cert_path, + password=cert_password, + allow_multitenant_authentication=True, + transport=Mock(send=send), + ) + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +@pytest.mark.parametrize("cert_path,cert_password", BOTH_CERTS) +def test_multitenant_authentication_backcompat(cert_path, cert_password): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + def send(request, **_): + parsed = urlparse(request.url) + if "/oauth2/v2.0/token" not in parsed.path: + return get_discovery_response("https://{}/{}".format(parsed.netloc, expected_tenant)) + + tenant = parsed.path.split("/")[1] + token = expected_token if tenant == expected_tenant else expected_token * 2 + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = CertificateCredential( + expected_tenant, "client-id", cert_path, password=cert_password, transport=Mock(send=send) + ) + + token = credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with patch.dict( + os.environ, {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}, clear=True + ): + token = credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" 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 001308460ead..fbfaa562f157 100644 --- a/sdk/identity/azure-identity/tests/test_certificate_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_certificate_credential_async.py @@ -5,6 +5,7 @@ from unittest.mock import Mock, patch from urllib.parse import urlparse +from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import ContentDecodePolicy, SansIOHTTPPolicy from azure.identity import TokenCachePersistenceOptions from azure.identity._constants import EnvironmentVariables @@ -14,7 +15,7 @@ from msal import TokenCache import pytest -from helpers import build_aad_response, urlsafeb64_decode, mock_response, Request +from helpers import build_aad_response, mock_response, Request from helpers_async import async_validating_transport, AsyncMockTransport from test_certificate_credential import BOTH_CERTS, CERT_PATH, EC_CERT_PATH, validate_jwt @@ -265,3 +266,79 @@ def test_certificate_arguments(): CertificateCredential("tenant-id", "client-id", certificate_path="...", certificate_data="...") message = str(ex.value) assert "certificate_data" in message and "certificate_path" in message + + +@pytest.mark.asyncio +@pytest.mark.parametrize("cert_path,cert_password", BOTH_CERTS) +async def test_allow_multitenant_authentication(cert_path, cert_password): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + async def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + assert tenant in (first_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant) + token = first_token if tenant == first_tenant else second_token + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = CertificateCredential( + first_tenant, + "client-id", + cert_path, + password=cert_password, + allow_multitenant_authentication=True, + transport=Mock(send=send), + ) + token = await credential.get_token("scope") + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = await credential.get_token("scope") + assert token.token == first_token + + +@pytest.mark.asyncio +@pytest.mark.parametrize("cert_path,cert_password", BOTH_CERTS) +async def test_multitenant_authentication_backcompat(cert_path, cert_password): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + async def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + token = expected_token if tenant == expected_tenant else expected_token * 2 + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = CertificateCredential( + expected_tenant, "client-id", cert_path, password=cert_password, transport=Mock(send=send) + ) + + token = await credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = await credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + await credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with patch.dict( + "os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}, clear=True + ): + token = await credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_cli_credential.py b/sdk/identity/azure-identity/tests/test_cli_credential.py index eb0bb106125a..bac97fd4ac7c 100644 --- a/sdk/identity/azure-identity/tests/test_cli_credential.py +++ b/sdk/identity/azure-identity/tests/test_cli_credential.py @@ -4,9 +4,11 @@ # ------------------------------------ from datetime import datetime import json +import re import sys from azure.identity import AzureCliCredential, CredentialUnavailableError +from azure.identity._constants import EnvironmentVariables from azure.identity._credentials.azure_cli import CLI_NOT_FOUND, NOT_LOGGED_IN from azure.core.exceptions import ClientAuthenticationError @@ -148,3 +150,79 @@ def test_timeout(): with mock.patch(CHECK_OUTPUT, mock.Mock(side_effect=TimeoutExpired("", 42))): with pytest.raises(CredentialUnavailableError): AzureCliCredential().get_token("scope") + + +def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + default_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + def fake_check_output(command_line, **_): + match = re.search("--tenant (.*)", command_line[-1]) + tenant = match.groups()[0] if match else default_tenant + assert tenant in (default_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant) + return json.dumps( + { + "expiresOn": datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"), + "accessToken": first_token if tenant == default_tenant else second_token, + "subscription": "some-guid", + "tenant": tenant, + "tokenType": "Bearer", + } + ) + + credential = AzureCliCredential(allow_multitenant_authentication=True) + with mock.patch(CHECK_OUTPUT, fake_check_output): + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=default_tenant) + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + def fake_check_output(command_line, **_): + match = re.search("--tenant (.*)", command_line[-1]) + assert match is None or match[1] == expected_tenant + return json.dumps( + { + "expiresOn": datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"), + "accessToken": expected_token, + "subscription": "some-guid", + "tenant": expected_token, + "tokenType": "Bearer", + } + ) + + credential = AzureCliCredential() + with mock.patch(CHECK_OUTPUT, fake_check_output): + token = credential.get_token("scope") + assert token.token == expected_token + + # specifying a tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with mock.patch.dict( + "os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"} + ): + token = credential.get_token("scope", tenant_id="un" + expected_tenant) + assert ( + token.token == expected_token + ), "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_cli_credential_async.py b/sdk/identity/azure-identity/tests/test_cli_credential_async.py index 69b1f8c1d41f..d5f5885f5d1f 100644 --- a/sdk/identity/azure-identity/tests/test_cli_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_cli_credential_async.py @@ -5,11 +5,13 @@ import asyncio from datetime import datetime import json +import re import sys from unittest import mock from azure.identity import CredentialUnavailableError from azure.identity.aio import AzureCliCredential +from azure.identity._constants import EnvironmentVariables from azure.identity._credentials.azure_cli import CLI_NOT_FOUND, NOT_LOGGED_IN from azure.core.exceptions import ClientAuthenticationError import pytest @@ -181,3 +183,79 @@ async def test_timeout(): assert proc.communicate.call_count == 1 assert proc.kill.call_count == 1 + + +async def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + default_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + async def fake_exec(*args, **_): + match = re.search("--tenant (.*)", args[-1]) + tenant = match[1] if match else default_tenant + assert tenant in (default_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant) + output = json.dumps( + { + "expiresOn": datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"), + "accessToken": first_token if tenant == default_tenant else second_token, + "subscription": "some-guid", + "tenant": tenant, + "tokenType": "Bearer", + } + ).encode() + return mock.Mock(communicate=mock.Mock(return_value=get_completed_future((output, b""))), returncode=0) + + credential = AzureCliCredential(allow_multitenant_authentication=True) + with mock.patch(SUBPROCESS_EXEC, fake_exec): + token = await credential.get_token("scope") + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=default_tenant) + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = await credential.get_token("scope") + assert token.token == first_token + + +async def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + async def fake_exec(*args, **_): + match = re.search("--tenant (.*)", args[-1]) + assert match is None or match[1] == expected_tenant + output = json.dumps( + { + "expiresOn": datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"), + "accessToken": expected_token, + "subscription": "some-guid", + "tenant": expected_token, + "tokenType": "Bearer", + } + ).encode() + return mock.Mock(communicate=mock.Mock(return_value=get_completed_future((output, b""))), returncode=0) + + credential = AzureCliCredential() + with mock.patch(SUBPROCESS_EXEC, fake_exec): + token = await credential.get_token("scope") + assert token.token == expected_token + + # specifying a tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + await credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with mock.patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = await credential.get_token("scope", tenant_id="un" + expected_tenant) + assert ( + token.token == expected_token + ), "credential should ignore tenant_id kwarg when the compat switch is enabled" 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 ded3c9727e1d..854990f232b6 100644 --- a/sdk/identity/azure-identity/tests/test_client_secret_credential.py +++ b/sdk/identity/azure-identity/tests/test_client_secret_credential.py @@ -2,6 +2,7 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ +from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import ContentDecodePolicy, SansIOHTTPPolicy from azure.identity import ClientSecretCredential, RegionalAuthority, TokenCachePersistenceOptions from azure.identity._constants import EnvironmentVariables @@ -10,7 +11,7 @@ import pytest from six.moves.urllib_parse import urlparse -from helpers import build_aad_response, mock_response, msal_validating_transport, Request +from helpers import build_aad_response, get_discovery_response, mock_response, msal_validating_transport, Request try: from unittest.mock import Mock, patch @@ -208,3 +209,72 @@ def test_cache_multiple_clients(): assert transport_b.send.call_count == 3 assert len(cache.find(TokenCache.CredentialType.ACCESS_TOKEN)) == 2 + + +def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + assert tenant in (first_tenant, second_tenant, "common"), 'unexpected tenant "{}"'.format(tenant) + if "/oauth2/v2.0/token" not in parsed.path: + return get_discovery_response("https://{}/{}".format(parsed.netloc, tenant)) + + token = first_token if tenant == first_tenant else second_token + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = ClientSecretCredential( + first_tenant, "client-id", "secret", allow_multitenant_authentication=True, transport=Mock(send=send) + ) + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + def send(request, **_): + parsed = urlparse(request.url) + if "/oauth2/v2.0/token" not in parsed.path: + return get_discovery_response("https://{}/{}".format(parsed.netloc, expected_tenant)) + + tenant = parsed.path.split("/")[1] + token = expected_token if tenant == expected_tenant else expected_token * 2 + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = ClientSecretCredential(expected_tenant, "client-id", "secret", transport=Mock(send=send)) + + token = credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" 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 96d4366828d6..e20ec1317342 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 @@ -7,6 +7,7 @@ from urllib.parse import urlparse from azure.core.credentials import AccessToken +from azure.core.exceptions import ClientAuthenticationError from azure.core.pipeline.policies import ContentDecodePolicy, SansIOHTTPPolicy from azure.identity import TokenCachePersistenceOptions from azure.identity._constants import EnvironmentVariables @@ -247,3 +248,68 @@ async def test_cache_multiple_clients(): assert transport_b.send.call_count == 1 assert len(cache.find(TokenCache.CredentialType.ACCESS_TOKEN)) == 2 + + +@pytest.mark.asyncio +async def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + async def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + assert tenant in (first_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant) + token = first_token if tenant == first_tenant else second_token + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = ClientSecretCredential( + first_tenant, "client-id", "secret", allow_multitenant_authentication=True, transport=Mock(send=send) + ) + token = await credential.get_token("scope") + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = await credential.get_token("scope") + assert token.token == first_token + + +@pytest.mark.asyncio +async def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + async def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + token = expected_token if tenant == expected_tenant else expected_token * 2 + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = ClientSecretCredential(expected_tenant, "client-id", "secret", transport=Mock(send=send)) + + token = await credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = await credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + await credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = await credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_default.py b/sdk/identity/azure-identity/tests/test_default.py index 45a9519f3ee2..31c2ba1a71b4 100644 --- a/sdk/identity/azure-identity/tests/test_default.py +++ b/sdk/identity/azure-identity/tests/test_default.py @@ -314,7 +314,13 @@ def test_managed_identity_client_id(): def get_credential_for_shared_cache_test(expected_refresh_token, expected_access_token, cache, **kwargs): exclude_other_credentials = { - option: True for option in ("exclude_environment_credential", "exclude_managed_identity_credential") + option: True + for option in ( + "exclude_cli_credential", + "exclude_environment_credential", + "exclude_managed_identity_credential", + "exclude_powershell_credential", + ) } options = dict(exclude_other_credentials, **kwargs) @@ -356,3 +362,38 @@ def validate_tenant_id(credential): exclude_interactive_browser_credential=False, interactive_browser_tenant_id=tenant_id ) validate_tenant_id(mock_credential) + + +@pytest.mark.parametrize("expected_value", (True, False)) +def test_allow_multitenant_authentication(expected_value): + """the credential should pass "allow_multitenant_authentication" to the inner credentials which support it""" + + inner_credentials = { + credential: Mock() + for credential in ( + "AzureCliCredential", + "AzurePowerShellCredential", + "EnvironmentCredential", + "InteractiveBrowserCredential", + "ManagedIdentityCredential", # will ignore the argument + "SharedTokenCacheCredential", + ) + } + with patch.multiple(DefaultAzureCredential.__module__, **inner_credentials): + DefaultAzureCredential( + allow_multitenant_authentication=expected_value, exclude_interactive_browser_credential=False + ) + + for credential_name, mock_credential in inner_credentials.items(): + assert mock_credential.call_count == 1 + _, kwargs = mock_credential.call_args + + assert "allow_multitenant_authentication" in kwargs, ( + '"allow_multitenant_authentication" was not passed to ' + credential_name + ) + assert kwargs["allow_multitenant_authentication"] == expected_value + + +def test_unexpected_kwarg(): + """the credential shouldn't raise when given an unexpected keyword argument""" + DefaultAzureCredential(foo=42) diff --git a/sdk/identity/azure-identity/tests/test_default_async.py b/sdk/identity/azure-identity/tests/test_default_async.py index 1fd991244c02..0f144350640c 100644 --- a/sdk/identity/azure-identity/tests/test_default_async.py +++ b/sdk/identity/azure-identity/tests/test_default_async.py @@ -2,9 +2,7 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -from azure.identity.aio._credentials import vscode import os -from unittest import mock from unittest.mock import Mock, patch from urllib.parse import urlparse @@ -312,3 +310,35 @@ def get_credential_for_shared_cache_test(expected_refresh_token, expected_access # this credential uses a mock shared cache, so it works on all platforms with patch.object(SharedTokenCacheCredential, "supported", lambda: True): return DefaultAzureCredential(_cache=cache, transport=transport, **exclude_other_credentials, **kwargs) + + +@pytest.mark.parametrize("expected_value", (True, False)) +def test_allow_multitenant_authentication(expected_value): + """the credential should pass "allow_multitenant_authentication" to the inner credentials which support it""" + + inner_credentials = { + credential: Mock() + for credential in ( + "AzureCliCredential", + "AzurePowerShellCredential", + "EnvironmentCredential", + "ManagedIdentityCredential", # will ignore the argument + "SharedTokenCacheCredential", + ) + } + with patch.multiple(DefaultAzureCredential.__module__, **inner_credentials): + DefaultAzureCredential(allow_multitenant_authentication=expected_value) + + for credential_name, mock_credential in inner_credentials.items(): + assert mock_credential.call_count == 1 + _, kwargs = mock_credential.call_args + + assert "allow_multitenant_authentication" in kwargs, ( + '"allow_multitenant_authentication" was not passed to ' + credential_name + ) + assert kwargs["allow_multitenant_authentication"] == expected_value + + +def test_unexpected_kwarg(): + """the credential shouldn't raise when given an unexpected keyword argument""" + DefaultAzureCredential(foo=42) diff --git a/sdk/identity/azure-identity/tests/test_interactive_credential.py b/sdk/identity/azure-identity/tests/test_interactive_credential.py index d3a0c8f52881..6947dfe20d8b 100644 --- a/sdk/identity/azure-identity/tests/test_interactive_credential.py +++ b/sdk/identity/azure-identity/tests/test_interactive_credential.py @@ -10,15 +10,16 @@ CredentialUnavailableError, TokenCachePersistenceOptions, ) -from azure.identity._internal import InteractiveCredential +from azure.identity._internal import EnvironmentVariables, InteractiveCredential import pytest +from six.moves.urllib_parse import urlparse try: from unittest.mock import Mock, patch except ImportError: # python < 3.3 from mock import Mock, patch # type: ignore -from helpers import build_aad_response, build_id_token, id_token_claims +from helpers import build_aad_response, get_discovery_response, id_token_claims # fake object for tests which need to exercise request_token but don't care about its return value @@ -41,24 +42,14 @@ class MockCredential(InteractiveCredential): Default instances have an empty in-memory cache, and raise rather than send an HTTP request. """ - def __init__( - self, client_id="...", request_token=None, msal_app_factory=None, transport=None, **kwargs - ): - self._msal_app_factory = msal_app_factory + def __init__(self, client_id="...", request_token=None, transport=None, **kwargs): self._request_token_impl = request_token or Mock() transport = transport or Mock(send=Mock(side_effect=Exception("credential shouldn't send a request"))) - super(MockCredential, self).__init__( - client_id=client_id, transport=transport, **kwargs - ) + super(MockCredential, self).__init__(client_id=client_id, transport=transport, **kwargs) def _request_token(self, *scopes, **kwargs): return self._request_token_impl(*scopes, **kwargs) - def _get_app(self): - if self._msal_app_factory: - return self._create_app(self._msal_app_factory) - return super(MockCredential, self)._get_app() - def test_no_scopes(): """The credential should raise when get_token is called with no scopes""" @@ -79,14 +70,13 @@ def validate_app_parameters(authority, client_id, **_): assert client_id == record.client_id return Mock(get_accounts=Mock(return_value=[])) - app_factory = Mock(wraps=validate_app_parameters) - credential = MockCredential( - authentication_record=record, disable_automatic_authentication=True, msal_app_factory=app_factory, - ) + mock_client_application = Mock(wraps=validate_app_parameters) + credential = MockCredential(authentication_record=record, disable_automatic_authentication=True) with pytest.raises(AuthenticationRequiredError): - credential.get_token("scope") + with patch("msal.PublicClientApplication", mock_client_application): + credential.get_token("scope") - assert app_factory.call_count == 1, "credential didn't create an msal application" + assert mock_client_application.call_count == 1, "credential didn't create an msal application" def test_tenant_argument_overrides_record(): @@ -104,13 +94,11 @@ def validate_authority(authority, **_): return Mock(get_accounts=Mock(return_value=[])) credential = MockCredential( - authentication_record=record, - tenant_id=expected_tenant, - disable_automatic_authentication=True, - msal_app_factory=validate_authority, + authentication_record=record, tenant_id=expected_tenant, disable_automatic_authentication=True ) with pytest.raises(AuthenticationRequiredError): - credential.get_token("scope") + with patch("msal.PublicClientApplication", validate_authority): + credential.get_token("scope") def test_disable_automatic_authentication(): @@ -126,14 +114,14 @@ def test_disable_automatic_authentication(): credential = MockCredential( 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")), ) scope = "scope" expected_claims = "..." with pytest.raises(AuthenticationRequiredError) as ex: - credential.get_token(scope, claims=expected_claims) + with patch("msal.PublicClientApplication", lambda *_, **__: msal_app): + credential.get_token(scope, claims=expected_claims) # the exception should carry the requested scopes and claims, and any error message from AAD assert ex.value.scopes == (scope,) @@ -208,9 +196,10 @@ 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(authentication_record=record) with pytest.raises(ClientAuthenticationError) as ex: - credential.get_token("scope") + with patch("msal.PublicClientApplication", lambda *_, **__: msal_app): + credential.get_token("scope") assert expected_message in ex.value.message assert msal_app.acquire_token_silent_with_error.call_count == 1, "credential didn't attempt silent auth" @@ -291,3 +280,95 @@ def _request_token(self, *_, **__): assert record.home_account_id == subject assert record.tenant_id == tenant assert record.username == username + + +def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + def request_token(*args, **kwargs): + tenant_id = kwargs.get("tenant_id") + return build_aad_response( + access_token=second_token if tenant_id == second_tenant else first_token, + id_token_claims=id_token_claims( + aud="...", + iss="http://localhost/tenant", + sub="subject", + preferred_username="...", + tenant_id="...", + object_id="...", + ), + ) + + def send(request, **_): + assert "/oauth2/v2.0/token" not in request.url, 'mock "request_token" should prevent sending a token request' + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + return get_discovery_response("https://{}/{}".format(parsed.netloc, tenant)) + + credential = MockCredential( + tenant_id=first_tenant, + allow_multitenant_authentication=True, + request_token=request_token, + transport=Mock(send=send), + ) + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + def request_token(*_, **__): + return build_aad_response( + access_token=expected_token, + id_token_claims=id_token_claims( + aud="...", + iss="http://localhost/tenant", + sub="subject", + preferred_username="...", + tenant_id="...", + object_id="...", + ), + ) + + def send(request, **_): + assert "/oauth2/v2.0/token" not in request.url, 'mock "request_token" should prevent sending a token request' + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + return get_discovery_response("https://{}/{}".format(parsed.netloc, tenant)) + + credential = MockCredential(tenant_id=expected_tenant, transport=Mock(send=send), request_token=request_token) + + token = credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_powershell_credential.py b/sdk/identity/azure-identity/tests/test_powershell_credential.py index ec0a4ca7f23a..79a36f9a28a4 100644 --- a/sdk/identity/azure-identity/tests/test_powershell_credential.py +++ b/sdk/identity/azure-identity/tests/test_powershell_credential.py @@ -5,8 +5,10 @@ import base64 import logging from platform import python_version +import re import subprocess import sys +import time try: from unittest.mock import Mock, patch @@ -15,6 +17,7 @@ from azure.core.exceptions import ClientAuthenticationError from azure.identity import AzurePowerShellCredential, CredentialUnavailableError +from azure.identity._constants import EnvironmentVariables from azure.identity._credentials.azure_powershell import ( AZ_ACCOUNT_NOT_INSTALLED, BLOCKED_BY_EXECUTION_POLICY, @@ -87,6 +90,7 @@ def test_get_token(stderr): encoded_script = command.split()[-1] decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") + assert "TenantId" not in decoded_script assert "Get-AzAccessToken -ResourceUrl '{}'".format(scope) in decoded_script assert Popen().communicate.call_count == 1 @@ -243,3 +247,72 @@ def Popen(args, **kwargs): AzurePowerShellCredential().get_token("scope") assert Fake.calls == 2 + + +def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + def fake_Popen(command, **_): + assert command[-1].startswith("pwsh -NonInteractive -EncodedCommand ") + encoded_script = command[-1].split()[-1] + decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") + match = re.search("Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) + tenant = match.groups()[1] + + assert tenant is None or tenant == second_tenant, 'unexpected tenant "{}"'.format(tenant) + token = first_token if tenant is None else second_token + stdout = "azsdk%{}%{}".format(token, int(time.time()) + 3600) + + communicate = Mock(return_value=(stdout, "")) + return Mock(communicate=communicate, returncode=0) + + credential = AzurePowerShellCredential(allow_multitenant_authentication=True) + with patch(POPEN, fake_Popen): + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_token = "***" + + def fake_Popen(command, **_): + assert command[-1].startswith("pwsh -NonInteractive -EncodedCommand ") + encoded_script = command[-1].split()[-1] + decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") + match = re.search("Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) + tenant = match.groups()[1] + + assert tenant is None, "credential shouldn't accept an explicit tenant ID" + stdout = "azsdk%{}%{}".format(expected_token, int(time.time()) + 3600) + + communicate = Mock(return_value=(stdout, "")) + return Mock(communicate=communicate, returncode=0) + + credential = AzurePowerShellCredential() + with patch(POPEN, fake_Popen): + token = credential.get_token("scope") + assert token.token == expected_token + + # specifying a tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="some tenant") + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = credential.get_token("scope", tenant_id="some tenant") + assert ( + token.token == expected_token + ), "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_powershell_credential_async.py b/sdk/identity/azure-identity/tests/test_powershell_credential_async.py index c04484242c7c..fec0b4c013de 100644 --- a/sdk/identity/azure-identity/tests/test_powershell_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_powershell_credential_async.py @@ -5,12 +5,15 @@ import asyncio import base64 import logging +import re import sys +import time from unittest.mock import Mock, patch from azure.core.exceptions import ClientAuthenticationError from azure.identity import CredentialUnavailableError from azure.identity.aio import AzurePowerShellCredential +from azure.identity._constants import EnvironmentVariables from azure.identity._credentials.azure_powershell import ( AZ_ACCOUNT_NOT_INSTALLED, BLOCKED_BY_EXECUTION_POLICY, @@ -78,6 +81,7 @@ async def test_get_token(stderr): encoded_script = command.split()[-1] decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") + assert "TenantId" not in decoded_script assert "Get-AzAccessToken -ResourceUrl '{}'".format(scope) in decoded_script assert mock_exec().result().communicate.call_count == 1 @@ -245,3 +249,73 @@ async def mock_exec(*args, **kwargs): await credential.get_token("scope") assert calls == 2 + + +async def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + async def fake_exec(*args, **_): + command = args[2] + assert command.startswith("pwsh -NonInteractive -EncodedCommand ") + encoded_script = command.split()[-1] + decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") + match = re.search("Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) + tenant = match[2] + + assert tenant is None or tenant == second_tenant, 'unexpected tenant "{}"'.format(tenant) + token = first_token if tenant is None else second_token + stdout = "azsdk%{}%{}".format(token, int(time.time()) + 3600) + + communicate = Mock(return_value=get_completed_future((stdout.encode(), b""))) + return Mock(communicate=communicate, returncode=0) + + credential = AzurePowerShellCredential(allow_multitenant_authentication=True) + with patch(CREATE_SUBPROCESS_EXEC, fake_exec): + token = await credential.get_token("scope") + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = await credential.get_token("scope") + assert token.token == first_token + + +async def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_token = "***" + + async def fake_exec(*args, **_): + command = args[2] + assert command.startswith("pwsh -NonInteractive -EncodedCommand ") + encoded_script = command.split()[-1] + decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") + match = re.search("Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) + tenant = match[2] + + assert tenant is None, "credential shouldn't accept an explicit tenant ID" + stdout = "azsdk%{}%{}".format(expected_token, int(time.time()) + 3600) + communicate = Mock(return_value=get_completed_future((stdout.encode(), b""))) + return Mock(communicate=communicate, returncode=0) + + credential = AzurePowerShellCredential() + with patch(CREATE_SUBPROCESS_EXEC, fake_exec): + token = await credential.get_token("scope") + assert token.token == expected_token + + # specifying a tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + await credential.get_token("scope", tenant_id="some tenant") + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = await credential.get_token("scope", tenant_id="some tenant") + assert ( + token.token == expected_token + ), "credential should ignore tenant_id kwarg when the compat switch is enabled" 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 12dec789f76f..41d512631706 100644 --- a/sdk/identity/azure-identity/tests/test_shared_cache_credential.py +++ b/sdk/identity/azure-identity/tests/test_shared_cache_credential.py @@ -6,6 +6,7 @@ from azure.core.pipeline.policies import SansIOHTTPPolicy from azure.identity import ( AuthenticationRecord, + AzureAuthorityHosts, CredentialUnavailableError, SharedTokenCacheCredential, ) @@ -32,6 +33,7 @@ build_aad_response, build_id_token, get_discovery_response, + id_token_claims, mock_response, msal_validating_transport, Request, @@ -569,7 +571,10 @@ def send(request, **_): cache = populated_cache( get_account_event( - "not-" + username, "not-" + object_id, "different-" + tenant_id, client_id="not-" + client_id, + "not-" + username, + "not-" + object_id, + "different-" + tenant_id, + client_id="not-" + client_id, ), ) credential = SharedTokenCacheCredential(authentication_record=record, transport=Mock(send=send), _cache=cache) @@ -738,25 +743,28 @@ def mock_send(request, **_): def test_client_capabilities(): """the credential should configure MSAL for capability CP1 unless AZURE_IDENTITY_DISABLE_CP1 is set""" + def send(request, **_): + # expecting only the discovery requests triggered by creating an msal.PublicClientApplication + # because the cache is empty--the credential shouldn't send a token request + return get_discovery_response("https://localhost/tenant") + record = AuthenticationRecord("tenant-id", "client_id", "authority", "home_account_id", "username") - transport = Mock(send=Mock(side_effect=Exception("this test mocks MSAL, so no request should be sent"))) - credential = SharedTokenCacheCredential( - transport=transport, authentication_record=record, _cache=TokenCache() - ) + transport = Mock(send=send) + credential = SharedTokenCacheCredential(transport=transport, authentication_record=record, _cache=TokenCache()) with patch(SharedTokenCacheCredential.__module__ + ".PublicClientApplication") as PublicClientApplication: - credential._initialize() + with pytest.raises(ClientAuthenticationError): # (cache is empty) + credential.get_token("scope") assert PublicClientApplication.call_count == 1 _, kwargs = PublicClientApplication.call_args assert kwargs["client_capabilities"] == ["CP1"] - credential = SharedTokenCacheCredential( - transport=transport, authentication_record=record, _cache=TokenCache() - ) + credential = SharedTokenCacheCredential(transport=transport, authentication_record=record, _cache=TokenCache()) with patch(SharedTokenCacheCredential.__module__ + ".PublicClientApplication") as PublicClientApplication: with patch.dict("os.environ", {"AZURE_IDENTITY_DISABLE_CP1": "true"}): - credential._initialize() + with pytest.raises(ClientAuthenticationError): # (cache is empty) + credential.get_token("scope") assert PublicClientApplication.call_count == 1 _, kwargs = PublicClientApplication.call_args @@ -777,9 +785,7 @@ def test_claims_challenge(): ) transport = Mock(send=Mock(side_effect=Exception("this test mocks MSAL, so no request should be sent"))) - credential = SharedTokenCacheCredential( - transport=transport, authentication_record=record, _cache=TokenCache() - ) + credential = SharedTokenCacheCredential(transport=transport, authentication_record=record, _cache=TokenCache()) with patch(SharedTokenCacheCredential.__module__ + ".PublicClientApplication", lambda *_, **__: msal_app): credential.get_token("scope", claims=expected_claims) @@ -788,11 +794,211 @@ def test_claims_challenge(): assert kwargs["claims_challenge"] == expected_claims +def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + default_tenant = "organizations" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + def send(request, **_): + parsed = urlparse(request.url) + tenant_id = parsed.path.split("/")[1] + assert tenant_id in (default_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant_id) + return mock_response( + json_payload=build_aad_response( + access_token=second_token if tenant_id == second_tenant else first_token, + id_token_claims=id_token_claims(aud="...", iss="...", sub="..."), + ) + ) + + authority = AzureAuthorityHosts.AZURE_PUBLIC_CLOUD + expected_account = get_account_event( + "user", "object-id", "tenant-id", authority=authority, client_id="client-id", refresh_token="**" + ) + cache = populated_cache(expected_account) + + credential = SharedTokenCacheCredential( + allow_multitenant_authentication=True, authority=authority, transport=Mock(send=send), _cache=cache + ) + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=default_tenant) + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + default_tenant = "organizations" + expected_token = "***" + + def send(request, **_): + parsed = urlparse(request.url) + tenant_id = parsed.path.split("/")[1] + assert tenant_id == default_tenant + return mock_response( + json_payload=build_aad_response( + access_token=expected_token, + id_token_claims=id_token_claims(aud="...", iss="...", sub="..."), + ) + ) + + tenant_id = "tenant-id" + client_id = "client-id" + authority = "localhost" + object_id = "object-id" + username = "me" + + expected_account = get_account_event( + username, object_id, tenant_id, authority=authority, client_id=client_id, refresh_token="**" + ) + cache = populated_cache(expected_account) + + credential = SharedTokenCacheCredential(authority=authority, transport=Mock(send=send), _cache=cache) + + token = credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = credential.get_token("scope", tenant_id=default_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="some tenant") + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = credential.get_token("scope", tenant_id="some tenant") + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" + + +def test_allow_multitenant_authentication_auth_record(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + default_tenant = "organizations" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + authority = AzureAuthorityHosts.AZURE_PUBLIC_CLOUD + object_id = "object-id" + home_account_id = object_id + "." + default_tenant + record = AuthenticationRecord(default_tenant, "client-id", authority, home_account_id, "user") + + def send(request, **_): + parsed = urlparse(request.url) + tenant_id = parsed.path.split("/")[1] + if "/oauth2/v2.0/token" not in request.url: + return get_discovery_response("https://{}/{}".format(parsed.netloc, tenant_id)) + + assert tenant_id in (default_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant_id) + return mock_response( + json_payload=build_aad_response( + access_token=second_token if tenant_id == second_tenant else first_token, + id_token_claims=id_token_claims(aud="...", iss="...", sub="..."), + ) + ) + + expected_account = get_account_event( + record.username, object_id, record.tenant_id, client_id=record.client_id, refresh_token="**" + ) + cache = populated_cache(expected_account) + + credential = SharedTokenCacheCredential( + allow_multitenant_authentication=True, + authority=authority, + transport=Mock(send=send), + authentication_record=record, + _cache=cache, + ) + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=default_tenant) + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +def test_multitenant_authentication_not_allowed_authentication_record(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + default_tenant = "organizations" + expected_token = "***" + + authority = AzureAuthorityHosts.AZURE_PUBLIC_CLOUD + object_id = "object-id" + home_account_id = object_id + "." + default_tenant + record = AuthenticationRecord(default_tenant, "client-id", authority, home_account_id, "user") + + def send(request, **_): + parsed = urlparse(request.url) + tenant_id = parsed.path.split("/")[1] + if "/oauth2/v2.0/token" not in request.url: + return get_discovery_response("https://{}/{}".format(parsed.netloc, tenant_id)) + + assert tenant_id == default_tenant + return mock_response( + json_payload=build_aad_response( + access_token=expected_token, + id_token_claims=id_token_claims(aud="...", iss="...", sub="..."), + ) + ) + + expected_account = get_account_event( + record.username, + object_id, + record.tenant_id, + authority=record.authority, + client_id=record.client_id, + refresh_token="**", + ) + cache = populated_cache(expected_account) + + credential = SharedTokenCacheCredential( + authority=authority, transport=Mock(send=send), authentication_record=record, _cache=cache + ) + + token = credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = credential.get_token("scope", tenant_id=default_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="some tenant") + + # ...unless the compat switch is enabled + with patch.dict( + "os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}, clear=True + ): + token = credential.get_token("scope", tenant_id="some tenant") + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" + + def get_account_event( username, uid, utid, authority=None, client_id="client-id", refresh_token="refresh-token", scopes=None, **kwargs ): if authority: - endpoint = "https://" + "/".join((authority, utid, "path",)) + endpoint = "https://" + "/".join((authority, utid, "path")) else: endpoint = get_default_authority() + "/{}/{}".format(utid, "path") 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 ec4ca4c29153..a6d7f0d67d60 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 @@ -21,7 +21,7 @@ from msal import TokenCache import pytest -from helpers import build_aad_response, build_id_token, mock_response, Request +from helpers import build_aad_response, id_token_claims, mock_response, Request from helpers_async import async_validating_transport, AsyncMockTransport from test_shared_cache_credential import get_account_event, populated_cache @@ -603,3 +603,87 @@ async def test_initialization(): with pytest.raises(CredentialUnavailableError, match="Shared token cache unavailable"): await credential.get_token("scope") assert mock_cache_loader.call_count == 1 + + +@pytest.mark.asyncio +async def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + async def send(request, **_): + parsed = urlparse(request.url) + tenant_id = parsed.path.split("/")[1] + return mock_response( + json_payload=build_aad_response( + access_token=second_token if tenant_id == second_tenant else first_token, + id_token_claims=id_token_claims(aud="...", iss="...", sub="..."), + ) + ) + + authority = "localhost" + expected_account = get_account_event( + "user", "object-id", "tenant-id", authority=authority, client_id="client-id", refresh_token="**" + ) + cache = populated_cache(expected_account) + + credential = SharedTokenCacheCredential( + allow_multitenant_authentication=True, authority=authority, transport=Mock(send=send), _cache=cache + ) + token = await credential.get_token("scope") + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id="organizations") + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = await credential.get_token("scope") + assert token.token == first_token + + +@pytest.mark.asyncio +async def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + default_tenant = "organizations" + expected_token = "***" + + async def send(request, **_): + parsed = urlparse(request.url) + tenant_id = parsed.path.split("/")[1] + assert tenant_id == default_tenant + return mock_response( + json_payload=build_aad_response( + access_token=expected_token, + id_token_claims=id_token_claims(aud="...", iss="...", sub="..."), + ) + ) + + authority = "localhost" + expected_account = get_account_event( + "user", "object-id", "tenant-id", authority=authority, client_id="client-id", refresh_token="**" + ) + cache = populated_cache(expected_account) + + credential = SharedTokenCacheCredential(authority=authority, transport=Mock(send=send), _cache=cache) + + token = await credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = await credential.get_token("scope", tenant_id=default_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + await credential.get_token("scope", tenant_id="some tenant") + + # ...unless the compat switch is enabled + with patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = await credential.get_token("scope", tenant_id="some tenant") + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_vscode_credential.py b/sdk/identity/azure-identity/tests/test_vscode_credential.py index 0675d8da2547..ec06e41d14b4 100644 --- a/sdk/identity/azure-identity/tests/test_vscode_credential.py +++ b/sdk/identity/azure-identity/tests/test_vscode_credential.py @@ -6,6 +6,7 @@ import time from azure.core.credentials import AccessToken +from azure.core.exceptions import ClientAuthenticationError from azure.identity import AzureAuthorityHosts, CredentialUnavailableError, VisualStudioCodeCredential from azure.core.pipeline.policies import SansIOHTTPPolicy from azure.identity._constants import EnvironmentVariables @@ -265,3 +266,69 @@ def test_no_user_settings(): credential.get_token("scope") assert transport.send.call_count == 1 + + +def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + assert tenant in (first_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant) + token = first_token if tenant == first_tenant else second_token + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = get_credential( + tenant_id=first_tenant, allow_multitenant_authentication=True, transport=mock.Mock(send=send) + ) + with mock.patch(GET_REFRESH_TOKEN, lambda _: "**"): + token = credential.get_token("scope") + assert token.token == first_token + + token = credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + with mock.patch(GET_REFRESH_TOKEN, lambda _: "**"): + token = credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = credential.get_token("scope") + assert token.token == first_token + + +def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + token = expected_token if tenant == expected_tenant else expected_token * 2 + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = get_credential(tenant_id=expected_tenant, transport=mock.Mock(send=send)) + + with mock.patch(GET_REFRESH_TOKEN, lambda _: "**"): + token = credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with mock.patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" diff --git a/sdk/identity/azure-identity/tests/test_vscode_credential_async.py b/sdk/identity/azure-identity/tests/test_vscode_credential_async.py index 6afeb58f655a..d91332be0320 100644 --- a/sdk/identity/azure-identity/tests/test_vscode_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_vscode_credential_async.py @@ -7,6 +7,7 @@ from urllib.parse import urlparse from azure.core.credentials import AccessToken +from azure.core.exceptions import ClientAuthenticationError from azure.identity import AzureAuthorityHosts, CredentialUnavailableError from azure.identity._constants import EnvironmentVariables from azure.identity._internal.user_agent import USER_AGENT @@ -124,9 +125,7 @@ async def mock_send(request, **kwargs): assert request.body["refresh_token"] == expected_refresh_token return mock_response(json_payload={"token_type": "Bearer", "expires_in": 42, "access_token": access_token}) - credential = get_credential( - tenant_id=tenant_id, transport=mock.Mock(send=mock_send), authority=authority - ) + credential = get_credential(tenant_id=tenant_id, transport=mock.Mock(send=mock_send), authority=authority) with mock.patch(GET_REFRESH_TOKEN, return_value=expected_refresh_token): token = await credential.get_token("scope") assert token.token == access_token @@ -134,9 +133,7 @@ async def mock_send(request, **kwargs): # authority can be configured via environment variable with mock.patch.dict("os.environ", {EnvironmentVariables.AZURE_AUTHORITY_HOST: authority}, clear=True): credential = get_credential(tenant_id=tenant_id, transport=mock.Mock(send=mock_send)) - with mock.patch( - GET_REFRESH_TOKEN, return_value=expected_refresh_token - ): + with mock.patch(GET_REFRESH_TOKEN, return_value=expected_refresh_token): await credential.get_token("scope") assert token.token == access_token @@ -191,7 +188,7 @@ async def test_no_obtain_token_if_cached(): token_by_refresh_token = mock.Mock(return_value=expected_token) mock_client = mock.Mock( get_cached_access_token=mock.Mock(return_value=expected_token), - obtain_token_by_refresh_token=wrap_in_future(token_by_refresh_token) + obtain_token_by_refresh_token=wrap_in_future(token_by_refresh_token), ) credential = get_credential(_client=mock_client) @@ -258,3 +255,71 @@ async def test_no_user_settings(): await credential.get_token("scope") assert transport.send.call_count == 1 + + +@pytest.mark.asyncio +async def test_allow_multitenant_authentication(): + """When allow_multitenant_authentication is True, the credential should respect get_token(tenant_id=...)""" + + first_tenant = "first-tenant" + first_token = "***" + second_tenant = "second-tenant" + second_token = first_token * 2 + + async def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + assert tenant in (first_tenant, second_tenant), 'unexpected tenant "{}"'.format(tenant) + token = first_token if tenant == first_tenant else second_token + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = get_credential( + tenant_id=first_tenant, allow_multitenant_authentication=True, transport=mock.Mock(send=send) + ) + with mock.patch(GET_REFRESH_TOKEN, lambda _: "**"): + token = await credential.get_token("scope") + assert token.token == first_token + + token = await credential.get_token("scope", tenant_id=first_tenant) + assert token.token == first_token + + with mock.patch(GET_REFRESH_TOKEN, lambda _: "**"): + token = await credential.get_token("scope", tenant_id=second_tenant) + assert token.token == second_token + + # should still default to the first tenant + token = await credential.get_token("scope") + assert token.token == first_token + + +@pytest.mark.asyncio +async def test_multitenant_authentication_not_allowed(): + """get_token(tenant_id=...) should raise when allow_multitenant_authentication is False (the default)""" + + expected_tenant = "expected-tenant" + expected_token = "***" + + async def send(request, **_): + parsed = urlparse(request.url) + tenant = parsed.path.split("/")[1] + token = expected_token if tenant == expected_tenant else expected_token * 2 + return mock_response(json_payload=build_aad_response(access_token=token)) + + credential = get_credential(tenant_id=expected_tenant, transport=mock.Mock(send=send)) + + with mock.patch(GET_REFRESH_TOKEN, lambda _: "**"): + token = await credential.get_token("scope") + assert token.token == expected_token + + # explicitly specifying the configured tenant is okay + token = await credential.get_token("scope", tenant_id=expected_tenant) + assert token.token == expected_token + + # but any other tenant should get an error + with pytest.raises(ClientAuthenticationError, match="allow_multitenant_authentication"): + await credential.get_token("scope", tenant_id="un" + expected_tenant) + + # ...unless the compat switch is enabled + with mock.patch.dict("os.environ", {EnvironmentVariables.AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION: "true"}): + token = await credential.get_token("scope", tenant_id="un" + expected_tenant) + assert token.token == expected_token, "credential should ignore tenant_id kwarg when the compat switch is enabled" From 25e29d0b2c89f0aa6ce24502b5ba2597730f214a Mon Sep 17 00:00:00 2001 From: Charles Lowell Date: Wed, 7 Jul 2021 17:33:00 -0700 Subject: [PATCH 02/13] Update changelog for azure-identity 1.7.0b2 (#19693) --- sdk/identity/azure-identity/CHANGELOG.md | 35 ++++++++++++++++++------ 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/sdk/identity/azure-identity/CHANGELOG.md b/sdk/identity/azure-identity/CHANGELOG.md index 9eef7fafb4c6..f820e41c5a42 100644 --- a/sdk/identity/azure-identity/CHANGELOG.md +++ b/sdk/identity/azure-identity/CHANGELOG.md @@ -1,23 +1,41 @@ # Release History -## 1.7.0b2 (Unreleased) -### Added +## 1.7.0b2 (2021-07-08) +### Features Added - `InteractiveBrowserCredential` keyword argument `login_hint` enables pre-filling the username/email address field on the login page ([#19225](https://github.com/Azure/azure-sdk-for-python/issues/19225)) -- `CertificateCredential` and `ClientSecretCredential` support regional STS - on Azure VMs by either keyword argument `regional_authority` or environment - variable `AZURE_REGIONAL_AUTHORITY_NAME`. See `azure.identity.RegionalAuthority` - for possible values. - ([#19301](https://github.com/Azure/azure-sdk-for-python/issues/19301)) - `AzureApplicationCredential`, a default credential chain for applications deployed to Azure ([#19309](https://github.com/Azure/azure-sdk-for-python/issues/19309)) -### Fixed +### Bugs Fixed - `azure.identity.aio.ManagedIdentityCredential` is an async context manager that closes its underlying transport session at the end of a `with` block +### Other Changes +- Most credentials can use tenant ID values returned from authentication + challenges, enabling them to request tokens from the correct tenant. This + behavior is optional and controlled by a new keyword argument, + `allow_multitenant_authentication`. + ([#19300](https://github.com/Azure/azure-sdk-for-python/issues/19300)) + - When `allow_multitenant_authentication` is False, which is the default, a + credential will raise `ClientAuthenticationError` when its configured tenant + doesn't match the tenant specified for a token request. This may be a + different exception than was raised by prior versions of the credential. To + maintain the prior behavior, set environment variable + AZURE_IDENTITY_ENABLE_LEGACY_TENANT_SELECTION to "True". +- `CertificateCredential` and `ClientSecretCredential` support regional STS + on Azure VMs by either keyword argument `regional_authority` or environment + variable `AZURE_REGIONAL_AUTHORITY_NAME`. See `azure.identity.RegionalAuthority` + for possible values. + ([#19301](https://github.com/Azure/azure-sdk-for-python/issues/19301)) +- Upgraded minimum `azure-core` version to 1.11.0 and minimum `msal` version to + 1.12.0 +- After IMDS authentication fails, `ManagedIdentityCredential` raises consistent + error messages and uses `raise from` to propagate inner exceptions + ([#19423](https://github.com/Azure/azure-sdk-for-python/pull/19423)) + ## 1.7.0b1 (2021-06-08) Beginning with this release, this library requires Python 2.7 or 3.6+. @@ -26,7 +44,6 @@ Beginning with this release, this library requires Python 2.7 or 3.6+. configuration from VS Code user settings ([#14808](https://github.com/Azure/azure-sdk-for-python/issues/14808)) - ## 1.6.0 (2021-05-13) This is the last version to support Python 3.5. The next version will require Python 2.7 or 3.6+. From 92d947cea8cc4515cfb36ea470c8f0bd52f67be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?McCoy=20Pati=C3=B1o?= <39780829+mccoyp@users.noreply.github.com> Date: Wed, 7 Jul 2021 18:34:42 -0700 Subject: [PATCH 03/13] [Key Vault] Drop 3.5 support for keys (#19712) --- sdk/keyvault/azure-keyvault-keys/CHANGELOG.md | 1 + sdk/keyvault/azure-keyvault-keys/README.md | 6 +++--- sdk/keyvault/azure-keyvault-keys/setup.py | 1 - 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md b/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md index e4eaa246bb8a..8baac64d8197 100644 --- a/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md +++ b/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md @@ -1,6 +1,7 @@ # Release History ## 4.5.0b1 (2021-07-08) +Beginning with this release, this library requires Python 2.7 or 3.6+. ### Features Added - Key Vault API version 7.3-preview is now the default diff --git a/sdk/keyvault/azure-keyvault-keys/README.md b/sdk/keyvault/azure-keyvault-keys/README.md index 1eb1369f7538..6af1d341c9ed 100644 --- a/sdk/keyvault/azure-keyvault-keys/README.md +++ b/sdk/keyvault/azure-keyvault-keys/README.md @@ -25,7 +25,7 @@ authentication as demonstrated below. ### Prerequisites * An [Azure subscription][azure_sub] -* Python 2.7, 3.5.3, or later +* Python 2.7 or a recent version of Python 3 (this library doesn't support end-of-life versions) * A Key Vault. If you need to create one, you can use the [Azure Cloud Shell][azure_cloud_shell] to create one with these commands (replace `"my-resource-group"` and `"my-key-vault"` with your own, unique @@ -277,7 +277,7 @@ See the for more details of the cryptography API. ### Async API -This library includes a complete async API supported on Python 3.5+. To use it, you must +This library includes a complete async API supported on Python 3. To use it, you must first install an async transport, such as [aiohttp](https://pypi.org/project/aiohttp/). See [azure-core documentation](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#transport) @@ -368,7 +368,7 @@ except ResourceNotFoundError as e: ### Logging This library uses the standard -[logging](https://docs.python.org/3.5/library/logging.html) library for logging. +[logging](https://docs.python.org/3/library/logging.html) library for logging. Basic information about HTTP sessions (URLs, headers, etc.) is logged at INFO level. diff --git a/sdk/keyvault/azure-keyvault-keys/setup.py b/sdk/keyvault/azure-keyvault-keys/setup.py index 08c4352a986e..5eb6f5522963 100644 --- a/sdk/keyvault/azure-keyvault-keys/setup.py +++ b/sdk/keyvault/azure-keyvault-keys/setup.py @@ -64,7 +64,6 @@ "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", From 47acc059f5cfaa2bcd80e26919221b3a035abb82 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 8 Jul 2021 13:34:40 +0800 Subject: [PATCH 04/13] [AutoRelease] t2-compute-2021-07-08-85328 (#19715) * CodeGen from PR 14638 in Azure/azure-rest-api-specs Move RestorePoint properties into new properties bag for restore point (#14638) * version,CHANGELOG * test Co-authored-by: SDKAuto Co-authored-by: PythonSdkPipelines --- sdk/compute/azure-mgmt-compute/CHANGELOG.md | 12 + sdk/compute/azure-mgmt-compute/_meta.json | 8 +- .../azure/mgmt/compute/_version.py | 2 +- .../mgmt/compute/v2015_06_15/_version.py | 2 +- .../compute/v2015_06_15/models/_models.py | 27 +- .../compute/v2015_06_15/models/_models_py3.py | 29 +- .../mgmt/compute/v2016_03_30/_version.py | 2 +- .../compute/v2016_03_30/models/_models.py | 51 +- .../compute/v2016_03_30/models/_models_py3.py | 57 +- .../compute/v2016_04_30_preview/_version.py | 2 +- .../v2016_04_30_preview/models/_models.py | 51 +- .../v2016_04_30_preview/models/_models_py3.py | 57 +- .../mgmt/compute/v2017_03_30/_version.py | 2 +- .../compute/v2017_03_30/models/_models.py | 58 +- .../compute/v2017_03_30/models/_models_py3.py | 64 +- .../mgmt/compute/v2017_09_01/_version.py | 2 +- .../mgmt/compute/v2017_12_01/_version.py | 2 +- .../compute/v2017_12_01/models/_models.py | 27 +- .../compute/v2017_12_01/models/_models_py3.py | 29 +- .../mgmt/compute/v2018_04_01/_version.py | 2 +- .../compute/v2018_04_01/models/_models.py | 27 +- .../compute/v2018_04_01/models/_models_py3.py | 29 +- .../mgmt/compute/v2018_06_01/_version.py | 2 +- .../compute/v2018_06_01/models/_models.py | 27 +- .../compute/v2018_06_01/models/_models_py3.py | 29 +- .../mgmt/compute/v2018_09_30/_version.py | 2 +- .../mgmt/compute/v2018_10_01/_version.py | 2 +- .../compute/v2018_10_01/models/_models.py | 27 +- .../compute/v2018_10_01/models/_models_py3.py | 29 +- .../mgmt/compute/v2019_03_01/_version.py | 2 +- .../compute/v2019_03_01/models/_models.py | 27 +- .../compute/v2019_03_01/models/_models_py3.py | 29 +- .../mgmt/compute/v2019_04_01/_version.py | 2 +- .../mgmt/compute/v2019_07_01/_version.py | 2 +- .../compute/v2019_07_01/models/_models.py | 27 +- .../compute/v2019_07_01/models/_models_py3.py | 29 +- .../mgmt/compute/v2019_11_01/_version.py | 2 +- .../mgmt/compute/v2019_12_01/_version.py | 2 +- .../compute/v2019_12_01/models/_models.py | 27 +- .../compute/v2019_12_01/models/_models_py3.py | 29 +- .../mgmt/compute/v2020_05_01/_version.py | 2 +- .../mgmt/compute/v2020_06_01/_version.py | 2 +- .../_compute_management_client_enums.py | 9 +- .../compute/v2020_06_01/models/_models.py | 34 +- .../compute/v2020_06_01/models/_models_py3.py | 36 +- .../mgmt/compute/v2020_06_30/_version.py | 2 +- .../mgmt/compute/v2020_09_30/_version.py | 2 +- .../compute/v2020_10_01_preview/_version.py | 2 +- .../mgmt/compute/v2020_12_01/_version.py | 2 +- .../_disk_restore_point_operations.py | 277 +- .../compute/v2020_12_01/models/__init__.py | 2 + .../_compute_management_client_enums.py | 23 +- .../compute/v2020_12_01/models/_models.py | 50 +- .../compute/v2020_12_01/models/_models_py3.py | 53 +- .../_disk_restore_point_operations.py | 281 +- .../mgmt/compute/v2021_03_01/_version.py | 2 +- .../compute/v2021_03_01/models/__init__.py | 2 + .../_compute_management_client_enums.py | 23 +- .../compute/v2021_03_01/models/_models.py | 98 +- .../compute/v2021_03_01/models/_models_py3.py | 106 +- ...ompute.test_compute_availability_sets.yaml | 30 +- ...mt_compute.test_compute_log_analytics.yaml | 125 +- ...st_compute_proximity_placement_groups.yaml | 24 +- ...mt_compute_base_async.test_compute_vm.yaml | 3270 ----------------- ..._dedicated_hosts.test_dedicated_hosts.yaml | 675 ---- ...mgmt_compute_disks.test_compute_disks.yaml | 208 +- ...ompute_disks.test_compute_disks_multi.yaml | 202 +- ..._mgmt_compute_disks.test_compute_shot.yaml | 366 +- ...pute_galleries.test_compute_galleries.yaml | 889 +++-- .../test_mgmt_compute_vm.test_compute_vm.yaml | 1139 +++--- ...est_mgmt_compute_vm.test_compute_vm_2.yaml | 878 ----- ...te_vm.test_compute_vm_extension_image.yaml | 18 +- ...mgmt_compute_vm.test_compute_vm_image.yaml | 123 +- ...compute_vmss.test_compute_vmss_base_2.yaml | 656 ++-- ...test_compute_vmss_perform_maintenance.yaml | 218 +- ...gmt_compute_vmss.test_compute_vmss_vm.yaml | 693 ++-- ...t_compute_vmss.test_compute_vmss_vm_2.yaml | 519 +-- 77 files changed, 3720 insertions(+), 8159 deletions(-) delete mode 100644 sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_base_async.test_compute_vm.yaml delete mode 100644 sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_dedicated_hosts.test_dedicated_hosts.yaml delete mode 100644 sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_2.yaml diff --git a/sdk/compute/azure-mgmt-compute/CHANGELOG.md b/sdk/compute/azure-mgmt-compute/CHANGELOG.md index faff57e35530..b0dc7d3ecc49 100644 --- a/sdk/compute/azure-mgmt-compute/CHANGELOG.md +++ b/sdk/compute/azure-mgmt-compute/CHANGELOG.md @@ -1,5 +1,17 @@ # Release History +## 22.0.0 (2021-07-08) + +**Features** + + - Model RestorePointSourceMetadata has a new parameter location + - Added operation DiskRestorePointOperations.begin_revoke_access + - Added operation DiskRestorePointOperations.begin_grant_access + +**Breaking changes** + + - Model PublicIPAddressSku has a new signature + ## 21.0.0 (2021-05-25) **Features** diff --git a/sdk/compute/azure-mgmt-compute/_meta.json b/sdk/compute/azure-mgmt-compute/_meta.json index 82a3ac28882f..f4e9b905d1f8 100644 --- a/sdk/compute/azure-mgmt-compute/_meta.json +++ b/sdk/compute/azure-mgmt-compute/_meta.json @@ -1,11 +1,11 @@ { "autorest": "3.4.2", "use": [ - "@autorest/python@5.8.0", - "@autorest/modelerfour@4.19.1" + "@autorest/python@5.8.1", + "@autorest/modelerfour@4.19.2" ], - "commit": "f69f2e8053ac8ae352b11c33655234dea4cf4cfd", + "commit": "667035454422aae6bb54cb5b3d68e8b9d3318150", "repository_url": "https://github.com/Azure/azure-rest-api-specs", - "autorest_command": "autorest specification/compute/resource-manager/readme.md --multiapi --python --python-mode=update --python-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-python/sdk --track2 --use=@autorest/python@5.8.0 --use=@autorest/modelerfour@4.19.1 --version=3.4.2", + "autorest_command": "autorest specification/compute/resource-manager/readme.md --multiapi --python --python-mode=update --python-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-python/sdk --track2 --use=@autorest/python@5.8.1 --use=@autorest/modelerfour@4.19.2 --version=3.4.2", "readme": "specification/compute/resource-manager/readme.md" } \ No newline at end of file diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/_version.py index 0ac27bb117d3..d057768162b3 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/_version.py @@ -5,4 +5,4 @@ # license information. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/models/_models.py index 783545e5cc9f..2f0fb94f0a74 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/models/_models.py @@ -12,14 +12,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -30,11 +29,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -42,14 +36,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -1281,7 +1274,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/models/_models_py3.py index 3ce4fa7ce0c3..c3f8f15eece3 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15/models/_models_py3.py @@ -17,14 +17,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -35,11 +34,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -47,17 +41,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -1415,7 +1410,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/models/_models.py index 08f19615d477..fa42feb52414 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/models/_models.py @@ -12,14 +12,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -30,11 +29,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -42,14 +36,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -1283,7 +1276,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int @@ -1912,16 +1905,15 @@ class VirtualMachineIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine. Currently, the only supported - type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine. Currently, the only supported + type is 'SystemAssigned', which implicitly creates an identity. The only acceptable values to + pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -1930,8 +1922,6 @@ class VirtualMachineIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, **kwargs @@ -1939,6 +1929,7 @@ def __init__( super(VirtualMachineIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = kwargs.get('type', None) class VirtualMachineImageResource(SubResource): @@ -2263,16 +2254,15 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine scale set. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine scale set. Currently, the only - supported type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine scale set. Currently, the only + supported type is 'SystemAssigned', which implicitly creates an identity. The only acceptable + values to pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -2281,8 +2271,6 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, **kwargs @@ -2290,6 +2278,7 @@ def __init__( super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = kwargs.get('type', None) class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/models/_models_py3.py index ebada6ab315f..82a7d3a6e9dd 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_03_30/models/_models_py3.py @@ -17,14 +17,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -35,11 +34,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -47,17 +41,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -1417,7 +1412,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int @@ -2124,16 +2119,15 @@ class VirtualMachineIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine. Currently, the only supported - type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine. Currently, the only supported + type is 'SystemAssigned', which implicitly creates an identity. The only acceptable values to + pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -2142,15 +2136,16 @@ class VirtualMachineIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, + *, + type: Optional[str] = None, **kwargs ): super(VirtualMachineIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = type class VirtualMachineImageResource(SubResource): @@ -2519,16 +2514,15 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine scale set. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine scale set. Currently, the only - supported type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine scale set. Currently, the only + supported type is 'SystemAssigned', which implicitly creates an identity. The only acceptable + values to pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -2537,15 +2531,16 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, + *, + type: Optional[str] = None, **kwargs ): super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = type class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/models/_models.py index b02d3dca8a05..9ba7793e42cb 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/models/_models.py @@ -37,14 +37,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -55,11 +54,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -67,14 +61,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -2154,7 +2147,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int @@ -2786,16 +2779,15 @@ class VirtualMachineIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine. Currently, the only supported - type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine. Currently, the only supported + type is 'SystemAssigned', which implicitly creates an identity. The only acceptable values to + pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -2804,8 +2796,6 @@ class VirtualMachineIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, **kwargs @@ -2813,6 +2803,7 @@ def __init__( super(VirtualMachineIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = kwargs.get('type', None) class VirtualMachineImageResource(SubResource): @@ -3212,16 +3203,15 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine scale set. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine scale set. Currently, the only - supported type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine scale set. Currently, the only + supported type is 'SystemAssigned', which implicitly creates an identity. The only acceptable + values to pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -3230,8 +3220,6 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, **kwargs @@ -3239,6 +3227,7 @@ def __init__( super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = kwargs.get('type', None) class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/models/_models_py3.py index 67561f8ebeb4..019c3cf83170 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2016_04_30_preview/models/_models_py3.py @@ -42,14 +42,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -60,11 +59,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -72,17 +66,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -2384,7 +2379,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int @@ -3094,16 +3089,15 @@ class VirtualMachineIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine. Currently, the only supported - type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine. Currently, the only supported + type is 'SystemAssigned', which implicitly creates an identity. The only acceptable values to + pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -3112,15 +3106,16 @@ class VirtualMachineIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, + *, + type: Optional[str] = None, **kwargs ): super(VirtualMachineIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = type class VirtualMachineImageResource(SubResource): @@ -3572,16 +3567,15 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine scale set. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine scale set. Currently, the only - supported type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine scale set. Currently, the only + supported type is 'SystemAssigned', which implicitly creates an identity. The only acceptable + values to pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -3590,15 +3584,16 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, + *, + type: Optional[str] = None, **kwargs ): super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = type class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/models/_models.py index 46b5b397faeb..8ba7eff42f6f 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/models/_models.py @@ -37,14 +37,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -55,11 +54,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -67,14 +61,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -2075,7 +2068,8 @@ class ResourceSkuRestrictions(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar type: The type of restrictions. Default value: "Location". + :ivar type: The type of restrictions. The only acceptable values to pass in are None and + "Location". The default value is None. :vartype type: str :ivar values: The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted. @@ -2087,7 +2081,7 @@ class ResourceSkuRestrictions(msrest.serialization.Model): """ _validation = { - 'type': {'readonly': True, 'constant': True}, + 'type': {'readonly': True}, 'values': {'readonly': True}, 'reason_code': {'readonly': True}, } @@ -2098,8 +2092,6 @@ class ResourceSkuRestrictions(msrest.serialization.Model): 'reason_code': {'key': 'reasonCode', 'type': 'str'}, } - type = "Location" - def __init__( self, **kwargs @@ -2970,7 +2962,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int @@ -3628,16 +3620,15 @@ class VirtualMachineIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine. Currently, the only supported - type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine. Currently, the only supported + type is 'SystemAssigned', which implicitly creates an identity. The only acceptable values to + pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -3646,8 +3637,6 @@ class VirtualMachineIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, **kwargs @@ -3655,6 +3644,7 @@ def __init__( super(VirtualMachineIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = kwargs.get('type', None) class VirtualMachineImageResource(SubResource): @@ -4101,16 +4091,15 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine scale set. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine scale set. Currently, the only - supported type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine scale set. Currently, the only + supported type is 'SystemAssigned', which implicitly creates an identity. The only acceptable + values to pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -4119,8 +4108,6 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, **kwargs @@ -4128,6 +4115,7 @@ def __init__( super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = kwargs.get('type', None) class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/models/_models_py3.py index a57293ad39f0..2a88b0945e9d 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/models/_models_py3.py @@ -42,14 +42,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -60,11 +59,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -72,17 +66,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -2281,7 +2276,8 @@ class ResourceSkuRestrictions(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar type: The type of restrictions. Default value: "Location". + :ivar type: The type of restrictions. The only acceptable values to pass in are None and + "Location". The default value is None. :vartype type: str :ivar values: The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted. @@ -2293,7 +2289,7 @@ class ResourceSkuRestrictions(msrest.serialization.Model): """ _validation = { - 'type': {'readonly': True, 'constant': True}, + 'type': {'readonly': True}, 'values': {'readonly': True}, 'reason_code': {'readonly': True}, } @@ -2304,8 +2300,6 @@ class ResourceSkuRestrictions(msrest.serialization.Model): 'reason_code': {'key': 'reasonCode', 'type': 'str'}, } - type = "Location" - def __init__( self, **kwargs @@ -3256,7 +3250,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int @@ -3993,16 +3987,15 @@ class VirtualMachineIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine. Currently, the only supported - type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine. Currently, the only supported + type is 'SystemAssigned', which implicitly creates an identity. The only acceptable values to + pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -4011,15 +4004,16 @@ class VirtualMachineIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, + *, + type: Optional[str] = None, **kwargs ): super(VirtualMachineIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = type class VirtualMachineImageResource(SubResource): @@ -4524,16 +4518,15 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant id associated with the virtual machine scale set. :vartype tenant_id: str - :ivar type: The type of identity used for the virtual machine scale set. Currently, the only - supported type is 'SystemAssigned', which implicitly creates an identity. Default value: - "SystemAssigned". - :vartype type: str + :param type: The type of identity used for the virtual machine scale set. Currently, the only + supported type is 'SystemAssigned', which implicitly creates an identity. The only acceptable + values to pass in are None and "SystemAssigned". The default value is None. + :type type: str """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -4542,15 +4535,16 @@ class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, + *, + type: Optional[str] = None, **kwargs ): super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = type class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_09_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_09_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_09_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_09_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/models/_models.py index 0548f6dc4e1b..f6737d43cd9e 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/models/_models.py @@ -12,14 +12,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -30,11 +29,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -42,14 +36,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -2723,7 +2716,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/models/_models_py3.py index 83b3b709519e..b97c563489fe 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/models/_models_py3.py @@ -17,14 +17,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -35,11 +34,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -47,17 +41,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -2980,7 +2975,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/_models.py index 4fd908ad2ab2..4148fa117a9e 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/_models.py @@ -37,14 +37,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -55,11 +54,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -67,14 +61,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -3347,7 +3340,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/_models_py3.py index 57ebb3e376ba..21ab53d3efd9 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/_models_py3.py @@ -42,14 +42,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -60,11 +59,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -72,17 +66,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -3676,7 +3671,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/_models.py index 88124dd0f194..ec222c04dca3 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/_models.py @@ -59,14 +59,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -77,11 +76,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -89,14 +83,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -4262,7 +4255,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/_models_py3.py index e02dcb752082..24d4961e4b82 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/_models_py3.py @@ -66,14 +66,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -84,11 +83,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -96,17 +90,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -4666,7 +4661,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_09_30/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_09_30/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_09_30/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_09_30/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/models/_models.py index 91590daa2e31..cfc3e09ff56a 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/models/_models.py @@ -34,14 +34,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -52,11 +51,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -64,14 +58,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -2868,7 +2861,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/models/_models_py3.py index 8eff37093a44..e7fc3b7ad2c7 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01/models/_models_py3.py @@ -41,14 +41,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -59,11 +58,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -71,17 +65,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -3146,7 +3141,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/models/_models.py index f75cf6248ab1..3da31d2b9268 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/models/_models.py @@ -59,14 +59,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -77,11 +76,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -89,14 +83,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -5212,7 +5205,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/models/_models_py3.py index 5953c50c8eeb..1166f988a132 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_03_01/models/_models_py3.py @@ -66,14 +66,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -84,11 +83,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -96,17 +90,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -5709,7 +5704,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_04_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_04_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_04_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_04_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/models/_models.py index b98735b6b009..a4b45e60be4c 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/models/_models.py @@ -59,14 +59,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -77,11 +76,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -89,14 +83,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -5832,7 +5825,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/models/_models_py3.py index b69c83336527..f58b276eb4fe 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_07_01/models/_models_py3.py @@ -66,14 +66,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -84,11 +83,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -96,17 +90,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -6416,7 +6411,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_11_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_11_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_11_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_11_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/models/_models.py index c71777a5e30c..78da23f52f11 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/models/_models.py @@ -34,14 +34,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -52,11 +51,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -64,14 +58,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -5329,7 +5322,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/models/_models_py3.py index 8f4bf037e8fc..b25418d57c72 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2019_12_01/models/_models_py3.py @@ -41,14 +41,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -59,11 +58,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -71,17 +65,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -5850,7 +5845,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_05_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_05_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_05_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_05_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_compute_management_client_enums.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_compute_management_client_enums.py index 7e1426650c96..8858d5c7fd34 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_compute_management_client_enums.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_compute_management_client_enums.py @@ -300,11 +300,10 @@ class StatusLevelTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): ERROR = "Error" class StorageAccountTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Specifies the storage account type for the managed disk. Managed OS disk storage account type - can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data - disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses - Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. For more information - regarding disks supported for Windows Virtual Machines, refer to + """Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used + with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. + StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. + For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models.py index c4b75df8cf9c..bf5371f12dfa 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models.py @@ -34,14 +34,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -52,11 +51,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -64,14 +58,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -2349,9 +2342,10 @@ class ManagedDiskParameters(SubResource): :param id: Resource Id. :type id: str - :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: - UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values - include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". + :param storage_account_type: Specifies the storage account type for the managed disk. Managed + OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS + can only be used with data disks, it cannot be used with OS Disk. Possible values include: + "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". :type storage_account_type: str or ~azure.mgmt.compute.v2020_06_01.models.StorageAccountTypes :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed disk. @@ -4124,7 +4118,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models_py3.py index 554f12ce832a..0e2e7801bf95 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01/models/_models_py3.py @@ -41,14 +41,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -59,11 +58,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -71,17 +65,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -2571,9 +2566,10 @@ class ManagedDiskParameters(SubResource): :param id: Resource Id. :type id: str - :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: - UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values - include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". + :param storage_account_type: Specifies the storage account type for the managed disk. Managed + OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS + can only be used with data disks, it cannot be used with OS Disk. Possible values include: + "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". :type storage_account_type: str or ~azure.mgmt.compute.v2020_06_01.models.StorageAccountTypes :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed disk. @@ -4504,7 +4500,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_09_30/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_09_30/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_09_30/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_09_30/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_10_01_preview/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_10_01_preview/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_10_01_preview/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_10_01_preview/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/aio/operations/_disk_restore_point_operations.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/aio/operations/_disk_restore_point_operations.py index ce7eb0e1a7c2..0c4508028135 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/aio/operations/_disk_restore_point_operations.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/aio/operations/_disk_restore_point_operations.py @@ -5,14 +5,16 @@ # 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 +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 ClientAuthenticationError, 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 as _models @@ -193,3 +195,276 @@ async def get_next(next_link=None): get_next, extract_data ) list_by_restore_point.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints'} # type: ignore + + async def _grant_access_initial( + self, + resource_group_name: str, + restore_point_collection_name: str, + vm_restore_point_name: str, + disk_restore_point_name: str, + grant_access_data: "_models.GrantAccessData", + **kwargs: Any + ) -> Optional["_models.AccessUri"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AccessUri"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._grant_access_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'), + 'restorePointCollectionName': self._serialize.url("restore_point_collection_name", restore_point_collection_name, 'str'), + 'vmRestorePointName': self._serialize.url("vm_restore_point_name", vm_restore_point_name, 'str'), + 'diskRestorePointName': self._serialize.url("disk_restore_point_name", disk_restore_point_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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(grant_access_data, 'GrantAccessData') + 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('AccessUri', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _grant_access_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/beginGetAccess'} # type: ignore + + async def begin_grant_access( + self, + resource_group_name: str, + restore_point_collection_name: str, + vm_restore_point_name: str, + disk_restore_point_name: str, + grant_access_data: "_models.GrantAccessData", + **kwargs: Any + ) -> AsyncLROPoller["_models.AccessUri"]: + """Grants access to a diskRestorePoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param restore_point_collection_name: The name of the restore point collection that the disk + restore point belongs. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum + name length is 80 characters. + :type restore_point_collection_name: str + :param vm_restore_point_name: The name of the vm restore point that the disk disk restore point + belongs. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is + 80 characters. + :type vm_restore_point_name: str + :param disk_restore_point_name: The name of the disk restore point created. Supported + characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters. + :type disk_restore_point_name: str + :param grant_access_data: Access data object supplied in the body of the get disk access + operation. + :type grant_access_data: ~azure.mgmt.compute.v2020_12_01.models.GrantAccessData + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a 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 AccessUri or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.compute.v2020_12_01.models.AccessUri] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AccessUri"] + 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._grant_access_initial( + resource_group_name=resource_group_name, + restore_point_collection_name=restore_point_collection_name, + vm_restore_point_name=vm_restore_point_name, + disk_restore_point_name=disk_restore_point_name, + grant_access_data=grant_access_data, + 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('AccessUri', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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'), + 'restorePointCollectionName': self._serialize.url("restore_point_collection_name", restore_point_collection_name, 'str'), + 'vmRestorePointName': self._serialize.url("vm_restore_point_name", vm_restore_point_name, 'str'), + 'diskRestorePointName': self._serialize.url("disk_restore_point_name", disk_restore_point_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **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_grant_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/beginGetAccess'} # type: ignore + + async def _revoke_access_initial( + self, + resource_group_name: str, + restore_point_collection_name: str, + vm_restore_point_name: str, + disk_restore_point_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._revoke_access_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'), + 'restorePointCollectionName': self._serialize.url("restore_point_collection_name", restore_point_collection_name, 'str'), + 'vmRestorePointName': self._serialize.url("vm_restore_point_name", vm_restore_point_name, 'str'), + 'diskRestorePointName': self._serialize.url("disk_restore_point_name", disk_restore_point_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'] = self._serialize.header("accept", accept, 'str') + + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _revoke_access_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/endGetAccess'} # type: ignore + + async def begin_revoke_access( + self, + resource_group_name: str, + restore_point_collection_name: str, + vm_restore_point_name: str, + disk_restore_point_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Revokes access to a diskRestorePoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param restore_point_collection_name: The name of the restore point collection that the disk + restore point belongs. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum + name length is 80 characters. + :type restore_point_collection_name: str + :param vm_restore_point_name: The name of the vm restore point that the disk disk restore point + belongs. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is + 80 characters. + :type vm_restore_point_name: str + :param disk_restore_point_name: The name of the disk restore point created. Supported + characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters. + :type disk_restore_point_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a 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 None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + 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._revoke_access_initial( + resource_group_name=resource_group_name, + restore_point_collection_name=restore_point_collection_name, + vm_restore_point_name=vm_restore_point_name, + disk_restore_point_name=disk_restore_point_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): + if cls: + return cls(pipeline_response, None, {}) + + 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'), + 'restorePointCollectionName': self._serialize.url("restore_point_collection_name", restore_point_collection_name, 'str'), + 'vmRestorePointName': self._serialize.url("vm_restore_point_name", vm_restore_point_name, 'str'), + 'diskRestorePointName': self._serialize.url("disk_restore_point_name", disk_restore_point_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **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_revoke_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/endGetAccess'} # type: ignore diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/__init__.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/__init__.py index f9c25d16e971..81d53cdbd2d1 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/__init__.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/__init__.py @@ -541,6 +541,7 @@ ResourceIdentityType, RollingUpgradeActionType, RollingUpgradeStatusCode, + SecurityTypes, SettingNames, SnapshotStorageAccountTypes, StatusLevelTypes, @@ -849,6 +850,7 @@ 'ResourceIdentityType', 'RollingUpgradeActionType', 'RollingUpgradeStatusCode', + 'SecurityTypes', 'SettingNames', 'SnapshotStorageAccountTypes', 'StatusLevelTypes', diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_compute_management_client_enums.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_compute_management_client_enums.py index 9b54fe79da5c..be153e31f6fa 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_compute_management_client_enums.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_compute_management_client_enums.py @@ -436,6 +436,14 @@ class RollingUpgradeStatusCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enu COMPLETED = "Completed" FAULTED = "Faulted" +class SecurityTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable + UefiSettings. :code:`
`:code:`
` Default: UefiSettings will not be enabled unless this + property is set as TrustedLaunch. + """ + + TRUSTED_LAUNCH = "TrustedLaunch" + class SettingNames(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. @@ -464,14 +472,13 @@ class StatusLevelTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): ERROR = "Error" class StorageAccountTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Specifies the storage account type for the managed disk. Managed OS disk storage account type - can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data - disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses - Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses - Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. - For more information regarding disks supported for Windows Virtual Machines, refer to - https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux - Virtual Machines, refer to + """Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used + with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. + StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. + Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone + redundant storage. For more information regarding disks supported for Windows Virtual Machines, + refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for + Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types """ diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_models.py index f2fe9a714022..3cf2b187d7ca 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_models.py @@ -59,14 +59,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -77,11 +76,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -89,14 +83,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -3607,9 +3600,10 @@ class ManagedDiskParameters(SubResource): :param id: Resource Id. :type id: str - :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: - UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values - include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", + :param storage_account_type: Specifies the storage account type for the managed disk. Managed + OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS + can only be used with data disks, it cannot be used with OS Disk. Possible values include: + "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", "StandardSSD_ZRS". :type storage_account_type: str or ~azure.mgmt.compute.v2020_12_01.models.StorageAccountTypes :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for @@ -5184,8 +5178,6 @@ def __init__( class SecurityProfile(msrest.serialization.Model): """Specifies the Security profile settings for the virtual machine or virtual machine scale set. - Variables are only populated by the server, and will be ignored when sending a request. - :param uefi_settings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. :code:`
`:code:`
`Minimum api-version: 2020-12-01. :type uefi_settings: ~azure.mgmt.compute.v2020_12_01.models.UefiSettings @@ -5195,24 +5187,19 @@ class SecurityProfile(msrest.serialization.Model): :code:`
`:code:`
` Default: The Encryption at host will be disabled unless this property is set to true for the resource. :type encryption_at_host: bool - :ivar security_type: Specifies the SecurityType of the virtual machine. It is set as + :param security_type: Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. :code:`
`:code:`
` Default: UefiSettings will not - be enabled unless this property is set as TrustedLaunch. Default value: "TrustedLaunch". - :vartype security_type: str + be enabled unless this property is set as TrustedLaunch. Possible values include: + "TrustedLaunch". + :type security_type: str or ~azure.mgmt.compute.v2020_12_01.models.SecurityTypes """ - _validation = { - 'security_type': {'constant': True}, - } - _attribute_map = { 'uefi_settings': {'key': 'uefiSettings', 'type': 'UefiSettings'}, 'encryption_at_host': {'key': 'encryptionAtHost', 'type': 'bool'}, 'security_type': {'key': 'securityType', 'type': 'str'}, } - security_type = "TrustedLaunch" - def __init__( self, **kwargs @@ -5220,6 +5207,7 @@ def __init__( super(SecurityProfile, self).__init__(**kwargs) self.uefi_settings = kwargs.get('uefi_settings', None) self.encryption_at_host = kwargs.get('encryption_at_host', None) + self.security_type = kwargs.get('security_type', None) class ShareInfoElement(msrest.serialization.Model): @@ -6090,7 +6078,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_models_py3.py index 0d3c932420b8..18c91f53d557 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/models/_models_py3.py @@ -66,14 +66,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -84,11 +83,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -96,17 +90,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -3958,9 +3953,10 @@ class ManagedDiskParameters(SubResource): :param id: Resource Id. :type id: str - :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: - UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values - include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", + :param storage_account_type: Specifies the storage account type for the managed disk. Managed + OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS + can only be used with data disks, it cannot be used with OS Disk. Possible values include: + "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", "StandardSSD_ZRS". :type storage_account_type: str or ~azure.mgmt.compute.v2020_12_01.models.StorageAccountTypes :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for @@ -5671,8 +5667,6 @@ def __init__( class SecurityProfile(msrest.serialization.Model): """Specifies the Security profile settings for the virtual machine or virtual machine scale set. - Variables are only populated by the server, and will be ignored when sending a request. - :param uefi_settings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. :code:`
`:code:`
`Minimum api-version: 2020-12-01. :type uefi_settings: ~azure.mgmt.compute.v2020_12_01.models.UefiSettings @@ -5682,34 +5676,31 @@ class SecurityProfile(msrest.serialization.Model): :code:`
`:code:`
` Default: The Encryption at host will be disabled unless this property is set to true for the resource. :type encryption_at_host: bool - :ivar security_type: Specifies the SecurityType of the virtual machine. It is set as + :param security_type: Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. :code:`
`:code:`
` Default: UefiSettings will not - be enabled unless this property is set as TrustedLaunch. Default value: "TrustedLaunch". - :vartype security_type: str + be enabled unless this property is set as TrustedLaunch. Possible values include: + "TrustedLaunch". + :type security_type: str or ~azure.mgmt.compute.v2020_12_01.models.SecurityTypes """ - _validation = { - 'security_type': {'constant': True}, - } - _attribute_map = { 'uefi_settings': {'key': 'uefiSettings', 'type': 'UefiSettings'}, 'encryption_at_host': {'key': 'encryptionAtHost', 'type': 'bool'}, 'security_type': {'key': 'securityType', 'type': 'str'}, } - security_type = "TrustedLaunch" - def __init__( self, *, uefi_settings: Optional["UefiSettings"] = None, encryption_at_host: Optional[bool] = None, + security_type: Optional[Union[str, "SecurityTypes"]] = None, **kwargs ): super(SecurityProfile, self).__init__(**kwargs) self.uefi_settings = uefi_settings self.encryption_at_host = encryption_at_host + self.security_type = security_type class ShareInfoElement(msrest.serialization.Model): @@ -6662,7 +6653,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/operations/_disk_restore_point_operations.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/operations/_disk_restore_point_operations.py index 556574817b43..b6c33ebe2c12 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/operations/_disk_restore_point_operations.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_12_01/operations/_disk_restore_point_operations.py @@ -12,13 +12,15 @@ 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 as _models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + 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]] @@ -199,3 +201,280 @@ def get_next(next_link=None): get_next, extract_data ) list_by_restore_point.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints'} # type: ignore + + def _grant_access_initial( + self, + resource_group_name, # type: str + restore_point_collection_name, # type: str + vm_restore_point_name, # type: str + disk_restore_point_name, # type: str + grant_access_data, # type: "_models.GrantAccessData" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.AccessUri"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AccessUri"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._grant_access_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'), + 'restorePointCollectionName': self._serialize.url("restore_point_collection_name", restore_point_collection_name, 'str'), + 'vmRestorePointName': self._serialize.url("vm_restore_point_name", vm_restore_point_name, 'str'), + 'diskRestorePointName': self._serialize.url("disk_restore_point_name", disk_restore_point_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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(grant_access_data, 'GrantAccessData') + 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('AccessUri', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _grant_access_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/beginGetAccess'} # type: ignore + + def begin_grant_access( + self, + resource_group_name, # type: str + restore_point_collection_name, # type: str + vm_restore_point_name, # type: str + disk_restore_point_name, # type: str + grant_access_data, # type: "_models.GrantAccessData" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AccessUri"] + """Grants access to a diskRestorePoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param restore_point_collection_name: The name of the restore point collection that the disk + restore point belongs. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum + name length is 80 characters. + :type restore_point_collection_name: str + :param vm_restore_point_name: The name of the vm restore point that the disk disk restore point + belongs. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is + 80 characters. + :type vm_restore_point_name: str + :param disk_restore_point_name: The name of the disk restore point created. Supported + characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters. + :type disk_restore_point_name: str + :param grant_access_data: Access data object supplied in the body of the get disk access + operation. + :type grant_access_data: ~azure.mgmt.compute.v2020_12_01.models.GrantAccessData + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a 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 AccessUri or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.compute.v2020_12_01.models.AccessUri] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AccessUri"] + 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._grant_access_initial( + resource_group_name=resource_group_name, + restore_point_collection_name=restore_point_collection_name, + vm_restore_point_name=vm_restore_point_name, + disk_restore_point_name=disk_restore_point_name, + grant_access_data=grant_access_data, + 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('AccessUri', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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'), + 'restorePointCollectionName': self._serialize.url("restore_point_collection_name", restore_point_collection_name, 'str'), + 'vmRestorePointName': self._serialize.url("vm_restore_point_name", vm_restore_point_name, 'str'), + 'diskRestorePointName': self._serialize.url("disk_restore_point_name", disk_restore_point_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **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_grant_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/beginGetAccess'} # type: ignore + + def _revoke_access_initial( + self, + resource_group_name, # type: str + restore_point_collection_name, # type: str + vm_restore_point_name, # type: str + disk_restore_point_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._revoke_access_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'), + 'restorePointCollectionName': self._serialize.url("restore_point_collection_name", restore_point_collection_name, 'str'), + 'vmRestorePointName': self._serialize.url("vm_restore_point_name", vm_restore_point_name, 'str'), + 'diskRestorePointName': self._serialize.url("disk_restore_point_name", disk_restore_point_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'] = self._serialize.header("accept", accept, 'str') + + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _revoke_access_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/endGetAccess'} # type: ignore + + def begin_revoke_access( + self, + resource_group_name, # type: str + restore_point_collection_name, # type: str + vm_restore_point_name, # type: str + disk_restore_point_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Revokes access to a diskRestorePoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param restore_point_collection_name: The name of the restore point collection that the disk + restore point belongs. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum + name length is 80 characters. + :type restore_point_collection_name: str + :param vm_restore_point_name: The name of the vm restore point that the disk disk restore point + belongs. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is + 80 characters. + :type vm_restore_point_name: str + :param disk_restore_point_name: The name of the disk restore point created. Supported + characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters. + :type disk_restore_point_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a 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 None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + 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._revoke_access_initial( + resource_group_name=resource_group_name, + restore_point_collection_name=restore_point_collection_name, + vm_restore_point_name=vm_restore_point_name, + disk_restore_point_name=disk_restore_point_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): + if cls: + return cls(pipeline_response, None, {}) + + 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'), + 'restorePointCollectionName': self._serialize.url("restore_point_collection_name", restore_point_collection_name, 'str'), + 'vmRestorePointName': self._serialize.url("vm_restore_point_name", vm_restore_point_name, 'str'), + 'diskRestorePointName': self._serialize.url("disk_restore_point_name", disk_restore_point_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **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_revoke_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/endGetAccess'} # type: ignore diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/_version.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/_version.py index bb46423cd61e..81b10eb08899 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/_version.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "21.0.0" +VERSION = "22.0.0" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/__init__.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/__init__.py index 04e6ef3e0d90..5f2c0f57de29 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/__init__.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/__init__.py @@ -583,6 +583,7 @@ RestorePointCollectionExpandOptions, RollingUpgradeActionType, RollingUpgradeStatusCode, + SecurityTypes, SettingNames, StatusLevelTypes, StorageAccountTypes, @@ -913,6 +914,7 @@ 'RestorePointCollectionExpandOptions', 'RollingUpgradeActionType', 'RollingUpgradeStatusCode', + 'SecurityTypes', 'SettingNames', 'StatusLevelTypes', 'StorageAccountTypes', diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_compute_management_client_enums.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_compute_management_client_enums.py index 6fe7ba392a9e..c0e1441907db 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_compute_management_client_enums.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_compute_management_client_enums.py @@ -402,6 +402,14 @@ class RollingUpgradeStatusCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enu COMPLETED = "Completed" FAULTED = "Faulted" +class SecurityTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable + UefiSettings. :code:`
`:code:`
` Default: UefiSettings will not be enabled unless this + property is set as TrustedLaunch. + """ + + TRUSTED_LAUNCH = "TrustedLaunch" + class SettingNames(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. @@ -419,14 +427,13 @@ class StatusLevelTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): ERROR = "Error" class StorageAccountTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Specifies the storage account type for the managed disk. Managed OS disk storage account type - can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data - disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses - Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses - Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. - For more information regarding disks supported for Windows Virtual Machines, refer to - https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual - Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types + """Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used + with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. + StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. + Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone + redundant storage. For more information regarding disks supported for Windows Virtual Machines, + refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux + Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types """ STANDARD_LRS = "Standard_LRS" diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_models.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_models.py index d3084c280f5c..becc646c7cc3 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_models.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_models.py @@ -34,14 +34,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -52,11 +51,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -64,14 +58,13 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = kwargs.get('pass_name', None) + self.component_name = kwargs.get('component_name', None) self.setting_name = kwargs.get('setting_name', None) self.content = kwargs.get('content', None) @@ -3280,9 +3273,10 @@ class ManagedDiskParameters(SubResource): :param id: Resource Id. :type id: str - :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: - UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values - include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", + :param storage_account_type: Specifies the storage account type for the managed disk. Managed + OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS + can only be used with data disks, it cannot be used with OS Disk. Possible values include: + "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", "StandardSSD_ZRS". :type storage_account_type: str or ~azure.mgmt.compute.v2021_03_01.models.StorageAccountTypes :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for @@ -4207,25 +4201,15 @@ def __init__( class PublicIPAddressSku(msrest.serialization.Model): """Describes the public IP Sku. - All required parameters must be populated in order to send to Azure. - - :param public_ip_address_sku_name: Required. Specify public IP sku name. Possible values - include: "Basic", "Standard". - :type public_ip_address_sku_name: str or - ~azure.mgmt.compute.v2021_03_01.models.PublicIPAddressSkuName - :param public_ip_address_sku_tier: Specify public IP sku tier. Possible values include: - "Regional", "Global". - :type public_ip_address_sku_tier: str or - ~azure.mgmt.compute.v2021_03_01.models.PublicIPAddressSkuTier + :param name: Specify public IP sku name. Possible values include: "Basic", "Standard". + :type name: str or ~azure.mgmt.compute.v2021_03_01.models.PublicIPAddressSkuName + :param tier: Specify public IP sku tier. Possible values include: "Regional", "Global". + :type tier: str or ~azure.mgmt.compute.v2021_03_01.models.PublicIPAddressSkuTier """ - _validation = { - 'public_ip_address_sku_name': {'required': True}, - } - _attribute_map = { - 'public_ip_address_sku_name': {'key': 'publicIPAddressSkuName', 'type': 'str'}, - 'public_ip_address_sku_tier': {'key': 'publicIPAddressSkuTier', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, } def __init__( @@ -4233,8 +4217,8 @@ def __init__( **kwargs ): super(PublicIPAddressSku, self).__init__(**kwargs) - self.public_ip_address_sku_name = kwargs['public_ip_address_sku_name'] - self.public_ip_address_sku_tier = kwargs.get('public_ip_address_sku_tier', None) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) class PurchasePlan(msrest.serialization.Model): @@ -4413,6 +4397,9 @@ class RestorePoint(ProxyResource): :vartype name: str :ivar type: Resource type. :vartype type: str + :param exclude_disks: List of disk resource ids that the customer wishes to exclude from the + restore point. If no disks are specified, all disks will be included. + :type exclude_disks: list[~azure.mgmt.compute.v2021_03_01.models.ApiEntityReference] :ivar source_metadata: Gets the details of the VM captured at the time of the restore point creation. :vartype source_metadata: ~azure.mgmt.compute.v2021_03_01.models.RestorePointSourceMetadata @@ -4426,9 +4413,6 @@ class RestorePoint(ProxyResource): restore point operation. :vartype provisioning_details: ~azure.mgmt.compute.v2021_03_01.models.RestorePointProvisioningDetails - :param exclude_disks: List of disk resource ids that the customer wishes to exclude from the - restore point. If no disks are specified, all disks will be included. - :type exclude_disks: list[~azure.mgmt.compute.v2021_03_01.models.ApiEntityReference] """ _validation = { @@ -4445,11 +4429,11 @@ class RestorePoint(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'source_metadata': {'key': 'sourceMetadata', 'type': 'RestorePointSourceMetadata'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'consistency_mode': {'key': 'consistencyMode', 'type': 'str'}, - 'provisioning_details': {'key': 'provisioningDetails', 'type': 'RestorePointProvisioningDetails'}, - 'exclude_disks': {'key': 'excludeDisks', 'type': '[ApiEntityReference]'}, + 'exclude_disks': {'key': 'properties.excludeDisks', 'type': '[ApiEntityReference]'}, + 'source_metadata': {'key': 'properties.sourceMetadata', 'type': 'RestorePointSourceMetadata'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'consistency_mode': {'key': 'properties.consistencyMode', 'type': 'str'}, + 'provisioning_details': {'key': 'properties.provisioningDetails', 'type': 'RestorePointProvisioningDetails'}, } def __init__( @@ -4457,11 +4441,11 @@ def __init__( **kwargs ): super(RestorePoint, self).__init__(**kwargs) + self.exclude_disks = kwargs.get('exclude_disks', None) self.source_metadata = None self.provisioning_state = None self.consistency_mode = None self.provisioning_details = None - self.exclude_disks = kwargs.get('exclude_disks', None) class RestorePointCollection(Resource): @@ -4673,6 +4657,8 @@ class RestorePointSourceMetadata(msrest.serialization.Model): :type vm_id: str :param security_profile: Gets the security profile. :type security_profile: ~azure.mgmt.compute.v2021_03_01.models.SecurityProfile + :param location: Location of the VM from which the restore point was created. + :type location: str """ _attribute_map = { @@ -4683,6 +4669,7 @@ class RestorePointSourceMetadata(msrest.serialization.Model): 'license_type': {'key': 'licenseType', 'type': 'str'}, 'vm_id': {'key': 'vmId', 'type': 'str'}, 'security_profile': {'key': 'securityProfile', 'type': 'SecurityProfile'}, + 'location': {'key': 'location', 'type': 'str'}, } def __init__( @@ -4697,6 +4684,7 @@ def __init__( self.license_type = kwargs.get('license_type', None) self.vm_id = kwargs.get('vm_id', None) self.security_profile = kwargs.get('security_profile', None) + self.location = kwargs.get('location', None) class RestorePointSourceVMDataDisk(msrest.serialization.Model): @@ -5582,8 +5570,6 @@ def __init__( class SecurityProfile(msrest.serialization.Model): """Specifies the Security profile settings for the virtual machine or virtual machine scale set. - Variables are only populated by the server, and will be ignored when sending a request. - :param uefi_settings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. :code:`
`:code:`
`Minimum api-version: 2020-12-01. :type uefi_settings: ~azure.mgmt.compute.v2021_03_01.models.UefiSettings @@ -5593,24 +5579,19 @@ class SecurityProfile(msrest.serialization.Model): :code:`
`:code:`
` Default: The Encryption at host will be disabled unless this property is set to true for the resource. :type encryption_at_host: bool - :ivar security_type: Specifies the SecurityType of the virtual machine. It is set as + :param security_type: Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. :code:`
`:code:`
` Default: UefiSettings will not - be enabled unless this property is set as TrustedLaunch. Default value: "TrustedLaunch". - :vartype security_type: str + be enabled unless this property is set as TrustedLaunch. Possible values include: + "TrustedLaunch". + :type security_type: str or ~azure.mgmt.compute.v2021_03_01.models.SecurityTypes """ - _validation = { - 'security_type': {'constant': True}, - } - _attribute_map = { 'uefi_settings': {'key': 'uefiSettings', 'type': 'UefiSettings'}, 'encryption_at_host': {'key': 'encryptionAtHost', 'type': 'bool'}, 'security_type': {'key': 'securityType', 'type': 'str'}, } - security_type = "TrustedLaunch" - def __init__( self, **kwargs @@ -5618,6 +5599,7 @@ def __init__( super(SecurityProfile, self).__init__(**kwargs) self.uefi_settings = kwargs.get('uefi_settings', None) self.encryption_at_host = kwargs.get('encryption_at_host', None) + self.security_type = kwargs.get('security_type', None) class Sku(msrest.serialization.Model): @@ -6275,7 +6257,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_models_py3.py b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_models_py3.py index 8a1ef3f9f24d..f126881ef2a5 100644 --- a/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_models_py3.py +++ b/sdk/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01/models/_models_py3.py @@ -41,14 +41,13 @@ def __init__( class AdditionalUnattendContent(msrest.serialization.Model): """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default - value: "OobeSystem". - :vartype pass_name: str - :ivar component_name: The component name. Currently, the only allowable value is - Microsoft-Windows-Shell-Setup. Default value: "Microsoft-Windows-Shell-Setup". - :vartype component_name: str + :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only + acceptable values to pass in are None and "OobeSystem". The default value is None. + :type pass_name: str + :param component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and + "Microsoft-Windows-Shell-Setup". The default value is None. + :type component_name: str :param setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", "FirstLogonCommands". @@ -59,11 +58,6 @@ class AdditionalUnattendContent(msrest.serialization.Model): :type content: str """ - _validation = { - 'pass_name': {'constant': True}, - 'component_name': {'constant': True}, - } - _attribute_map = { 'pass_name': {'key': 'passName', 'type': 'str'}, 'component_name': {'key': 'componentName', 'type': 'str'}, @@ -71,17 +65,18 @@ class AdditionalUnattendContent(msrest.serialization.Model): 'content': {'key': 'content', 'type': 'str'}, } - pass_name = "OobeSystem" - component_name = "Microsoft-Windows-Shell-Setup" - def __init__( self, *, + pass_name: Optional[str] = None, + component_name: Optional[str] = None, setting_name: Optional[Union[str, "SettingNames"]] = None, content: Optional[str] = None, **kwargs ): super(AdditionalUnattendContent, self).__init__(**kwargs) + self.pass_name = pass_name + self.component_name = component_name self.setting_name = setting_name self.content = content @@ -3595,9 +3590,10 @@ class ManagedDiskParameters(SubResource): :param id: Resource Id. :type id: str - :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: - UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values - include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", + :param storage_account_type: Specifies the storage account type for the managed disk. Managed + OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS + can only be used with data disks, it cannot be used with OS Disk. Possible values include: + "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", "StandardSSD_ZRS". :type storage_account_type: str or ~azure.mgmt.compute.v2021_03_01.models.StorageAccountTypes :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for @@ -4591,37 +4587,27 @@ def __init__( class PublicIPAddressSku(msrest.serialization.Model): """Describes the public IP Sku. - All required parameters must be populated in order to send to Azure. - - :param public_ip_address_sku_name: Required. Specify public IP sku name. Possible values - include: "Basic", "Standard". - :type public_ip_address_sku_name: str or - ~azure.mgmt.compute.v2021_03_01.models.PublicIPAddressSkuName - :param public_ip_address_sku_tier: Specify public IP sku tier. Possible values include: - "Regional", "Global". - :type public_ip_address_sku_tier: str or - ~azure.mgmt.compute.v2021_03_01.models.PublicIPAddressSkuTier + :param name: Specify public IP sku name. Possible values include: "Basic", "Standard". + :type name: str or ~azure.mgmt.compute.v2021_03_01.models.PublicIPAddressSkuName + :param tier: Specify public IP sku tier. Possible values include: "Regional", "Global". + :type tier: str or ~azure.mgmt.compute.v2021_03_01.models.PublicIPAddressSkuTier """ - _validation = { - 'public_ip_address_sku_name': {'required': True}, - } - _attribute_map = { - 'public_ip_address_sku_name': {'key': 'publicIPAddressSkuName', 'type': 'str'}, - 'public_ip_address_sku_tier': {'key': 'publicIPAddressSkuTier', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, } def __init__( self, *, - public_ip_address_sku_name: Union[str, "PublicIPAddressSkuName"], - public_ip_address_sku_tier: Optional[Union[str, "PublicIPAddressSkuTier"]] = None, + name: Optional[Union[str, "PublicIPAddressSkuName"]] = None, + tier: Optional[Union[str, "PublicIPAddressSkuTier"]] = None, **kwargs ): super(PublicIPAddressSku, self).__init__(**kwargs) - self.public_ip_address_sku_name = public_ip_address_sku_name - self.public_ip_address_sku_tier = public_ip_address_sku_tier + self.name = name + self.tier = tier class PurchasePlan(msrest.serialization.Model): @@ -4816,6 +4802,9 @@ class RestorePoint(ProxyResource): :vartype name: str :ivar type: Resource type. :vartype type: str + :param exclude_disks: List of disk resource ids that the customer wishes to exclude from the + restore point. If no disks are specified, all disks will be included. + :type exclude_disks: list[~azure.mgmt.compute.v2021_03_01.models.ApiEntityReference] :ivar source_metadata: Gets the details of the VM captured at the time of the restore point creation. :vartype source_metadata: ~azure.mgmt.compute.v2021_03_01.models.RestorePointSourceMetadata @@ -4829,9 +4818,6 @@ class RestorePoint(ProxyResource): restore point operation. :vartype provisioning_details: ~azure.mgmt.compute.v2021_03_01.models.RestorePointProvisioningDetails - :param exclude_disks: List of disk resource ids that the customer wishes to exclude from the - restore point. If no disks are specified, all disks will be included. - :type exclude_disks: list[~azure.mgmt.compute.v2021_03_01.models.ApiEntityReference] """ _validation = { @@ -4848,11 +4834,11 @@ class RestorePoint(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'source_metadata': {'key': 'sourceMetadata', 'type': 'RestorePointSourceMetadata'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'consistency_mode': {'key': 'consistencyMode', 'type': 'str'}, - 'provisioning_details': {'key': 'provisioningDetails', 'type': 'RestorePointProvisioningDetails'}, - 'exclude_disks': {'key': 'excludeDisks', 'type': '[ApiEntityReference]'}, + 'exclude_disks': {'key': 'properties.excludeDisks', 'type': '[ApiEntityReference]'}, + 'source_metadata': {'key': 'properties.sourceMetadata', 'type': 'RestorePointSourceMetadata'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'consistency_mode': {'key': 'properties.consistencyMode', 'type': 'str'}, + 'provisioning_details': {'key': 'properties.provisioningDetails', 'type': 'RestorePointProvisioningDetails'}, } def __init__( @@ -4862,11 +4848,11 @@ def __init__( **kwargs ): super(RestorePoint, self).__init__(**kwargs) + self.exclude_disks = exclude_disks self.source_metadata = None self.provisioning_state = None self.consistency_mode = None self.provisioning_details = None - self.exclude_disks = exclude_disks class RestorePointCollection(Resource): @@ -5095,6 +5081,8 @@ class RestorePointSourceMetadata(msrest.serialization.Model): :type vm_id: str :param security_profile: Gets the security profile. :type security_profile: ~azure.mgmt.compute.v2021_03_01.models.SecurityProfile + :param location: Location of the VM from which the restore point was created. + :type location: str """ _attribute_map = { @@ -5105,6 +5093,7 @@ class RestorePointSourceMetadata(msrest.serialization.Model): 'license_type': {'key': 'licenseType', 'type': 'str'}, 'vm_id': {'key': 'vmId', 'type': 'str'}, 'security_profile': {'key': 'securityProfile', 'type': 'SecurityProfile'}, + 'location': {'key': 'location', 'type': 'str'}, } def __init__( @@ -5117,6 +5106,7 @@ def __init__( license_type: Optional[str] = None, vm_id: Optional[str] = None, security_profile: Optional["SecurityProfile"] = None, + location: Optional[str] = None, **kwargs ): super(RestorePointSourceMetadata, self).__init__(**kwargs) @@ -5127,6 +5117,7 @@ def __init__( self.license_type = license_type self.vm_id = vm_id self.security_profile = security_profile + self.location = location class RestorePointSourceVMDataDisk(msrest.serialization.Model): @@ -6086,8 +6077,6 @@ def __init__( class SecurityProfile(msrest.serialization.Model): """Specifies the Security profile settings for the virtual machine or virtual machine scale set. - Variables are only populated by the server, and will be ignored when sending a request. - :param uefi_settings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. :code:`
`:code:`
`Minimum api-version: 2020-12-01. :type uefi_settings: ~azure.mgmt.compute.v2021_03_01.models.UefiSettings @@ -6097,34 +6086,31 @@ class SecurityProfile(msrest.serialization.Model): :code:`
`:code:`
` Default: The Encryption at host will be disabled unless this property is set to true for the resource. :type encryption_at_host: bool - :ivar security_type: Specifies the SecurityType of the virtual machine. It is set as + :param security_type: Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. :code:`
`:code:`
` Default: UefiSettings will not - be enabled unless this property is set as TrustedLaunch. Default value: "TrustedLaunch". - :vartype security_type: str + be enabled unless this property is set as TrustedLaunch. Possible values include: + "TrustedLaunch". + :type security_type: str or ~azure.mgmt.compute.v2021_03_01.models.SecurityTypes """ - _validation = { - 'security_type': {'constant': True}, - } - _attribute_map = { 'uefi_settings': {'key': 'uefiSettings', 'type': 'UefiSettings'}, 'encryption_at_host': {'key': 'encryptionAtHost', 'type': 'bool'}, 'security_type': {'key': 'securityType', 'type': 'str'}, } - security_type = "TrustedLaunch" - def __init__( self, *, uefi_settings: Optional["UefiSettings"] = None, encryption_at_host: Optional[bool] = None, + security_type: Optional[Union[str, "SecurityTypes"]] = None, **kwargs ): super(SecurityProfile, self).__init__(**kwargs) self.uefi_settings = uefi_settings self.encryption_at_host = encryption_at_host + self.security_type = security_type class Sku(msrest.serialization.Model): @@ -6834,7 +6820,7 @@ class Usage(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar unit: Required. An enum describing the unit of usage measurement. Default value: "Count". + :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". :vartype unit: str :param current_value: Required. The current usage of the resource. :type current_value: int diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_availability_sets.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_availability_sets.yaml index 4109d52604b3..7ee895ba643d 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_availability_sets.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_availability_sets.yaml @@ -14,8 +14,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/availabilitySets/availabilitysetse7f013f3?api-version=2021-03-01 response: @@ -32,7 +32,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:00:03 GMT + - Thu, 08 Jul 2021 03:38:48 GMT expires: - '-1' pragma: @@ -49,7 +49,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutVM3Min;744,Microsoft.Compute/PutVM30Min;3728 + - Microsoft.Compute/PutVM3Min;745,Microsoft.Compute/PutVM30Min;3729 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -65,8 +65,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/availabilitySets/availabilitysetse7f013f3?api-version=2021-03-01 response: @@ -84,7 +84,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:00:03 GMT + - Thu, 08 Jul 2021 03:38:48 GMT expires: - '-1' pragma: @@ -101,7 +101,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3993,Microsoft.Compute/LowCostGet30Min;31947 + - Microsoft.Compute/LowCostGet3Min;3999,Microsoft.Compute/LowCostGet30Min;31999 status: code: 200 message: OK @@ -120,8 +120,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/availabilitySets/availabilitysetse7f013f3?api-version=2021-03-01 response: @@ -138,7 +138,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:00:04 GMT + - Thu, 08 Jul 2021 03:38:49 GMT expires: - '-1' pragma: @@ -155,7 +155,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutVM3Min;743,Microsoft.Compute/PutVM30Min;3727 + - Microsoft.Compute/PutVM3Min;744,Microsoft.Compute/PutVM30Min;3728 x-ms-ratelimit-remaining-subscription-writes: - '1198' status: @@ -173,8 +173,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/availabilitySets/availabilitysetse7f013f3?api-version=2021-03-01 response: @@ -186,7 +186,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:00:07 GMT + - Thu, 08 Jul 2021 03:38:52 GMT expires: - '-1' pragma: diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_log_analytics.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_log_analytics.yaml index 57264e1531fa..8afd79054be4 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_log_analytics.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_log_analytics.yaml @@ -16,8 +16,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Storage/storageAccounts/accountxyz9b271243?api-version=2021-04-01 response: @@ -31,11 +31,11 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Tue, 25 May 2021 10:00:14 GMT + - Thu, 08 Jul 2021 03:38:58 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/bf66b57f-459e-46ef-ac67-503cb05d48c4?monitor=true&api-version=2021-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/6b24a917-db24-4f48-9a5c-d0a579474c95?monitor=true&api-version=2021-04-01 pragma: - no-cache server: @@ -59,54 +59,13 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/bf66b57f-459e-46ef-ac67-503cb05d48c4?monitor=true&api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/6b24a917-db24-4f48-9a5c-d0a579474c95?monitor=true&api-version=2021-04-01 response: body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - content-type: - - text/plain; charset=utf-8 - date: - - Tue, 25 May 2021 10:00:31 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/bf66b57f-459e-46ef-ac67-503cb05d48c4?monitor=true&api-version=2021-04-01 - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/bf66b57f-459e-46ef-ac67-503cb05d48c4?monitor=true&api-version=2021-04-01 - response: - body: - string: '{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Storage/storageAccounts/accountxyz9b271243","name":"accountxyz9b271243","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{"key1":"value1","key2":"value2"},"properties":{"keyCreationTime":{"key1":"2021-05-25T10:00:11.9974457Z","key2":"2021-05-25T10:00:11.9974457Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-25T10:00:11.9974457Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-25T10:00:11.9974457Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-25T10:00:11.9037314Z","primaryEndpoints":{"dfs":"https://accountxyz9b271243.dfs.core.windows.net/","web":"https://accountxyz9b271243.z13.web.core.windows.net/","blob":"https://accountxyz9b271243.blob.core.windows.net/","queue":"https://accountxyz9b271243.queue.core.windows.net/","table":"https://accountxyz9b271243.table.core.windows.net/","file":"https://accountxyz9b271243.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}}' + string: '{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Storage/storageAccounts/accountxyz9b271243","name":"accountxyz9b271243","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{"key1":"value1","key2":"value2"},"properties":{"keyCreationTime":{"key1":"2021-07-08T03:38:57.2464423Z","key2":"2021-07-08T03:38:57.2464423Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-08T03:38:57.2464423Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-08T03:38:57.2464423Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-08T03:38:57.1370563Z","primaryEndpoints":{"dfs":"https://accountxyz9b271243.dfs.core.windows.net/","web":"https://accountxyz9b271243.z13.web.core.windows.net/","blob":"https://accountxyz9b271243.blob.core.windows.net/","queue":"https://accountxyz9b271243.queue.core.windows.net/","table":"https://accountxyz9b271243.table.core.windows.net/","file":"https://accountxyz9b271243.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}}' headers: cache-control: - no-cache @@ -115,7 +74,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 10:00:34 GMT + - Thu, 08 Jul 2021 03:39:15 GMT expires: - '-1' pragma: @@ -145,13 +104,13 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Storage/storageAccounts/accountxyz9b271243/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"creationTime":"2021-05-25T10:00:11.9974457Z","keyName":"key1","value":"FakeValue","permissions":"FULL"},{"creationTime":"2021-05-25T10:00:11.9974457Z","keyName":"key2","value":"FakeValue","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-07-08T03:38:57.2464423Z","keyName":"key1","value":"FakeValue","permissions":"FULL"},{"creationTime":"2021-07-08T03:38:57.2464423Z","keyName":"key2","value":"FakeValue","permissions":"FULL"}]}' headers: cache-control: - no-cache @@ -160,7 +119,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 10:00:35 GMT + - Thu, 08 Jul 2021 03:39:15 GMT expires: - '-1' pragma: @@ -181,8 +140,8 @@ interactions: code: 200 message: OK - request: - body: '{"blobContainerSasUri": "fakeuri", "fromTime": "2021-05-23T10:00:35.863146Z", - "toTime": "2021-05-25T10:00:35.863155Z", "groupByResourceName": true, "intervalLength": + body: '{"blobContainerSasUri": "fakeuri", "fromTime": "2021-07-06T03:39:16.033959Z", + "toTime": "2021-07-08T03:39:16.033965Z", "groupByResourceName": true, "intervalLength": "SixtyMins"}' headers: Accept: @@ -196,8 +155,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/logAnalytics/apiAccess/getRequestRateByInterval?api-version=2021-03-01 response: @@ -205,17 +164,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/071ded01-c58b-4abd-a1f0-8ab5646de899?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/120946a2-8268-4a93-874c-f5c2bbd58ffb?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:00:36 GMT + - Thu, 08 Jul 2021 03:39:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/071ded01-c58b-4abd-a1f0-8ab5646de899?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/120946a2-8268-4a93-874c-f5c2bbd58ffb?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -242,26 +201,26 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/071ded01-c58b-4abd-a1f0-8ab5646de899?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/120946a2-8268-4a93-874c-f5c2bbd58ffb?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:00:36.8034948+00:00\",\r\n \"endTime\": - \"2021-05-25T10:00:38.3191025+00:00\",\r\n \"status\": \"Failed\",\r\n \"error\": + string: "{\r\n \"startTime\": \"2021-07-08T03:39:17.0433211+00:00\",\r\n \"endTime\": + \"2021-07-08T03:39:19.246435+00:00\",\r\n \"status\": \"Failed\",\r\n \"error\": {\r\n \"code\": \"BadRequest\",\r\n \"message\": \"Could not write log analytics to the given SAS URI due to The remote server returned an error: - (403) Forbidden..\"\r\n },\r\n \"name\": \"071ded01-c58b-4abd-a1f0-8ab5646de899\"\r\n}" + (403) Forbidden..\"\r\n },\r\n \"name\": \"120946a2-8268-4a93-874c-f5c2bbd58ffb\"\r\n}" headers: cache-control: - no-cache content-length: - - '359' + - '358' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:01:06 GMT + - Thu, 08 Jul 2021 03:39:46 GMT expires: - '-1' pragma: @@ -283,8 +242,8 @@ interactions: code: 200 message: OK - request: - body: '{"blobContainerSasUri": "fakeuri", "fromTime": "2021-05-23T10:01:07.407129Z", - "toTime": "2021-05-25T10:01:07.407138Z", "groupByOperationName": true, "groupByResourceName": + body: '{"blobContainerSasUri": "fakeuri", "fromTime": "2021-07-06T03:39:47.361569Z", + "toTime": "2021-07-08T03:39:47.361579Z", "groupByOperationName": true, "groupByResourceName": false}' headers: Accept: @@ -298,8 +257,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/logAnalytics/apiAccess/getThrottledRequests?api-version=2021-03-01 response: @@ -307,17 +266,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/1abddf2a-34b2-412c-9eeb-b469e4789467?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/53f27170-cd7f-4a50-9b5b-cd4adba35e4b?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:01:06 GMT + - Thu, 08 Jul 2021 03:39:47 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/1abddf2a-34b2-412c-9eeb-b469e4789467?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/53f27170-cd7f-4a50-9b5b-cd4adba35e4b?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -344,17 +303,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/1abddf2a-34b2-412c-9eeb-b469e4789467?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/53f27170-cd7f-4a50-9b5b-cd4adba35e4b?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:01:07.4753982+00:00\",\r\n \"endTime\": - \"2021-05-25T10:01:07.8503786+00:00\",\r\n \"status\": \"Failed\",\r\n \"error\": + string: "{\r\n \"startTime\": \"2021-07-08T03:39:47.5278373+00:00\",\r\n \"endTime\": + \"2021-07-08T03:39:47.9028507+00:00\",\r\n \"status\": \"Failed\",\r\n \"error\": {\r\n \"code\": \"BadRequest\",\r\n \"message\": \"Could not write log analytics to the given SAS URI due to The remote server returned an error: - (403) Forbidden..\"\r\n },\r\n \"name\": \"1abddf2a-34b2-412c-9eeb-b469e4789467\"\r\n}" + (403) Forbidden..\"\r\n },\r\n \"name\": \"53f27170-cd7f-4a50-9b5b-cd4adba35e4b\"\r\n}" headers: cache-control: - no-cache @@ -363,7 +322,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:01:37 GMT + - Thu, 08 Jul 2021 03:40:16 GMT expires: - '-1' pragma: diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_proximity_placement_groups.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_proximity_placement_groups.yaml index 1f7c3bd92848..bef9928eea27 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_proximity_placement_groups.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute.test_compute_proximity_placement_groups.yaml @@ -13,8 +13,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/proximityPlacementGroups/proximiityplacementgroupsb24517e6?api-version=2021-03-01 response: @@ -32,7 +32,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:01:41 GMT + - Thu, 08 Jul 2021 03:40:22 GMT expires: - '-1' pragma: @@ -61,8 +61,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/proximityPlacementGroups/proximiityplacementgroupsb24517e6?api-version=2021-03-01 response: @@ -81,7 +81,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:01:42 GMT + - Thu, 08 Jul 2021 03:40:22 GMT expires: - '-1' pragma: @@ -116,8 +116,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/proximityPlacementGroups/proximiityplacementgroupsb24517e6?api-version=2021-03-01 response: @@ -135,7 +135,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:01:42 GMT + - Thu, 08 Jul 2021 03:40:22 GMT expires: - '-1' pragma: @@ -170,8 +170,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/proximityPlacementGroups/proximiityplacementgroupsb24517e6?api-version=2021-03-01 response: @@ -183,7 +183,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:01:43 GMT + - Thu, 08 Jul 2021 03:40:24 GMT expires: - '-1' pragma: diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_base_async.test_compute_vm.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_base_async.test_compute_vm.yaml deleted file mode 100644 index a1154203b80f..000000000000 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_base_async.test_compute_vm.yaml +++ /dev/null @@ -1,3270 +0,0 @@ -interactions: -- request: - body: '{"location": "eastus", "properties": {"addressSpace": {"addressPrefixes": - ["10.0.0.0/16"]}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '92' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"networknamexxx9a731234\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234\",\r\n - \ \"etag\": \"W/\\\"b681ca07-df75-4eb7-98e7-b4e78c72c799\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"d936ce6e-2c6e-4458-96a3-68b6b578e003\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": - [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n - \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n - \ }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e4e03e6b-d88d-4a5e-b6bf-8fff19c62b7c?api-version=2021-02-01 - cache-control: - - no-cache - content-length: - - '702' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:01:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 52059200-3db6-4ed8-9863-a94b47841fba - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e4e03e6b-d88d-4a5e-b6bf-8fff19c62b7c?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '29' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:01:52 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - d93961fe-1444-4041-bc07-50202a7038de - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"networknamexxx9a731234\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234\",\r\n - \ \"etag\": \"W/\\\"32bcedda-0c41-4011-999f-11bfda21a66c\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"d936ce6e-2c6e-4458-96a3-68b6b578e003\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": - [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n - \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n - \ }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '703' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:01:52 GMT - etag: - - W/"32bcedda-0c41-4011-999f-11bfda21a66c" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 1cd1b429-715b-476d-a71f-4f858433738b - status: - code: 200 - message: OK -- request: - body: '{"properties": {"addressPrefix": "10.0.0.0/24"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '48' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234/subnets/subnetxxx9a731234?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"subnetxxx9a731234\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234/subnets/subnetxxx9a731234\",\r\n - \ \"etag\": \"W/\\\"4accc0af-c7af-4693-a286-4546f536a288\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/2fde7882-d0d5-4d43-9129-52745645bf9f?api-version=2021-02-01 - cache-control: - - no-cache - content-length: - - '627' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:01:52 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 68ae4a7a-b5ac-4d18-9ab5-e7c31a6ab2e2 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/2fde7882-d0d5-4d43-9129-52745645bf9f?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '29' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:01:55 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - ea0916a7-f207-43e6-9e33-04791b65c35f - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234/subnets/subnetxxx9a731234?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"subnetxxx9a731234\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234/subnets/subnetxxx9a731234\",\r\n - \ \"etag\": \"W/\\\"d43280b2-8aae-4e20-9ce9-2ceb76bd1e56\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '628' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:01:55 GMT - etag: - - W/"d43280b2-8aae-4e20-9ce9-2ceb76bd1e56" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 1145d7f8-f94a-4968-a3f1-5b511bea5d33 - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus", "properties": {"ipConfigurations": [{"name": "MyIpConfig", - "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234/subnets/subnetxxx9a731234"}}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '362' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"interfacexxx9a731234\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234\",\r\n - \ \"etag\": \"W/\\\"bab5de01-69d6-4fb6-8d32-62f5b3d3d8aa\\\"\",\r\n \"location\": - \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"aa31f12a-d725-477d-9976-53c3d4bc1f3d\",\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"MyIpConfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234/ipConfigurations/MyIpConfig\",\r\n - \ \"etag\": \"W/\\\"bab5de01-69d6-4fb6-8d32-62f5b3d3d8aa\\\"\",\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234/subnets/subnetxxx9a731234\"\r\n - \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": - \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": - [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": - \"n1hdnwlofrmejfvdnc1lk4haad.bx.internal.cloudapp.net\"\r\n },\r\n \"enableAcceleratedNetworking\": - false,\r\n \"enableIPForwarding\": false,\r\n \"hostedWorkloads\": [],\r\n - \ \"tapConfigurations\": [],\r\n \"nicType\": \"Standard\"\r\n },\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/0301f685-95ed-46a7-8c1f-77da85087520?api-version=2021-02-01 - cache-control: - - no-cache - content-length: - - '1888' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:01:57 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 7a5308a6-b031-4ba6-b754-7a3830aefb33 - x-ms-ratelimit-remaining-subscription-writes: - - '1197' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/0301f685-95ed-46a7-8c1f-77da85087520?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '29' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:02:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 273aeef6-37e5-47af-9bbc-19f95a2e225c - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"interfacexxx9a731234\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234\",\r\n - \ \"etag\": \"W/\\\"bab5de01-69d6-4fb6-8d32-62f5b3d3d8aa\\\"\",\r\n \"location\": - \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"aa31f12a-d725-477d-9976-53c3d4bc1f3d\",\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"MyIpConfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234/ipConfigurations/MyIpConfig\",\r\n - \ \"etag\": \"W/\\\"bab5de01-69d6-4fb6-8d32-62f5b3d3d8aa\\\"\",\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexxx9a731234/subnets/subnetxxx9a731234\"\r\n - \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": - \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": - [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": - \"n1hdnwlofrmejfvdnc1lk4haad.bx.internal.cloudapp.net\"\r\n },\r\n \"enableAcceleratedNetworking\": - false,\r\n \"enableIPForwarding\": false,\r\n \"hostedWorkloads\": [],\r\n - \ \"tapConfigurations\": [],\r\n \"nicType\": \"Standard\"\r\n },\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1888' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:02:28 GMT - etag: - - W/"bab5de01-69d6-4fb6-8d32-62f5b3d3d8aa" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 4e2efee0-b561-4b12-9036-f34de2c7170e - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus", "properties": {"hardwareProfile": {"vmSize": "Standard_D2_v2"}, - "storageProfile": {"imageReference": {"publisher": "MicrosoftWindowsServer", - "offer": "WindowsServer", "sku": "2016-Datacenter", "version": "latest"}, "osDisk": - {"name": "myVMosdisk", "caching": "ReadWrite", "createOption": "FromImage", - "managedDisk": {"storageAccountType": "Standard_LRS"}}, "dataDisks": [{"lun": - 0, "createOption": "Empty", "diskSizeGB": 1023}, {"lun": 1, "createOption": - "Empty", "diskSizeGB": 1023}]}, "osProfile": {"computerName": "myVM", "adminUsername": - "testuser", "adminPassword": "Aa1!zyx_", "windowsConfiguration": {"enableAutomaticUpdates": - true}}, "networkProfile": {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234", - "properties": {"primary": true}}]}}}' - headers: - Accept: - - application/json - Content-Length: - - '967' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"virtualmachinexxx9a731234\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234\",\r\n - \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"vmId\": \"5d26c05b-3e3e-475c-a4d8-8ec8722e7575\",\r\n - \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D2_v2\"\r\n },\r\n - \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": - \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": - \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Windows\",\r\n \"name\": \"myVMosdisk\",\r\n \"createOption\": - \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": - {\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n - \ \"diskSizeGB\": 127,\r\n \"deleteOption\": \"Detach\"\r\n },\r\n - \ \"dataDisks\": [\r\n {\r\n \"lun\": 0,\r\n \"createOption\": - \"Empty\",\r\n \"caching\": \"None\",\r\n \"managedDisk\": - {\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n - \ \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n - \ \"deleteOption\": \"Detach\"\r\n },\r\n {\r\n \"lun\": - 1,\r\n \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n - \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\"\r\n - \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": - false,\r\n \"deleteOption\": \"Detach\"\r\n }\r\n ]\r\n - \ },\r\n \"osProfile\": {\r\n \"computerName\": \"myVM\",\r\n \"adminUsername\": - \"testuser\",\r\n \"windowsConfiguration\": {\r\n \"provisionVMAgent\": - true,\r\n \"enableAutomaticUpdates\": true,\r\n \"patchSettings\": - {\r\n \"patchMode\": \"AutomaticByOS\",\r\n \"assessmentMode\": - \"ImageDefault\"\r\n }\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": - true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": - {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234\",\"properties\":{\"primary\":true}}]},\r\n - \ \"provisioningState\": \"Creating\"\r\n }\r\n}" - headers: - azure-asyncnotification: Enabled - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 - cache-control: no-cache - content-length: '2487' - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:02:31 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/PutVM3Min;742,Microsoft.Compute/PutVM30Min;3726 - x-ms-ratelimit-remaining-subscription-writes: '1198' - status: - code: 201 - message: Created - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2Ht3bHe/ce/Dw4cHeJzv0wc5HI/NSu27wxtny - ZV1d1HnT6FfLTEAdzO5NH0wm2fb9B/vn2/sPzyfbD+/N6Lfdh/sH96cP9j+dzj76jZNf8v8A7I3L - I4YAAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:02:41 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29995 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2Ht3bHe/ce/Dw4cHeJzv0wc5HI/NSu27wxtny - ZV1d1HnT6FfLTEAdzO5NH0wm2fb9B/vn2/sPzyfbD+/N6Lfdh/sH96cP9j+dzj76jZNf8v8A7I3L - I4YAAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:03:32 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29994 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2Ht3bHe/ce/Dw4cHeJzv0wc5HI/NSu27wxtny - ZV1d1HnT6FfLTEAdzO5NH0wm2fb9B/vn2/sPzyfbD+/N6Lfdh/sH96cP9j+dzj76jZNf8v8A7I3L - I4YAAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:04:01 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29993 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2Ht3bHe/ce/Dw4cHeJzv0wc5HI34pX84GXtl/ - dG9vvHf/04N794M3qJt23eCF1+vpNM9n+Uy/WWYC6GB2b/pgMsm27z/YP9/ef3g+2X54b0a/7T7c - P7g/fbD/6XT20W+c/JL/B0rLsia3AAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:04:33 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29991 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d3c7bba-574f-49fb-93df-419485c746cd?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfLbJF/9Cj96LKo23VWLrLpvFjm7969e5g9uLe7d2//oxG3K2ZodbdZT5ppXazaolo2d3cmu+ef - 7j/Y3d6dnO9s789m2XaWT+9tTycP9x7sne88vP9w526dN9W6nuaf19V61dytL1bX2/ufPiir+5PF - vCqW2U9f/qC62FssLrMHq+x+W7xd/PTk3U9f7U2z++WDsl7fv36w+MFP/3R5ea94cP9B8Wn7trl/ - /6fbe+f36vvT1d1VXV0Ws7xu7n5RTOuqqc7b8Um1WK3b/K6O6gsZVWP+Hhxle71iatwISduX1TQD - KfBOnjXt2nxBSK3yui2o5aOUKU0fXi7OmIr3Z3ufTnfuT7bv5ffy7f0H96fb2f7sYPsgnx482NvL - aZT3BQ69NM/q2VVW5y/r6rwogZ2Co+8uF6+LH+Cjj1632XJGLX//p3u//+XeR9LilxgYTVvV2UUU - RLGgL17l53mdL6fBV/Tlaj0pi2ae1/S5o8l3i+Wsumpe5/UlfaN94PmoOic4aDvcpHm7RoO9nd1P - t59mbTbNl22nCb3SKE3LrM2bNvg2f5dN2590TXb37z28N97f39kb7+3u3N+5T/8eKAEcCejFqnla - NG/pFX+EVfNGp1xRDvoywrG4/skvqmaG1/2vp3VO+H3JwoBmz+pqcQZ6hq2YZS7Q4FWezb5bF23Y - YJEt6Z1ZHzv6TmfueDqt1svW4Gpn+/mr1z4oeuH/m3IK0jZ3PTK7MbkZpNHhO7D8509olLt7D4Lv - 8jL3Z+NpTtw1t5AcnI9mxHegNmTze+bTtEP5cg0oO/YtPJYhVBv09cjvDwz3fv+d89nu+d6nk4Pd - B/f270/OH+7v7e0ePJjt7N7/NH+wu9OZtC4jnS5W7XW3DffFbPSiWgYcRN9u4CH69n25iF75/zIf - ffDs+LRwfIOnw4E7e/fCr9vqSS6Ml4OA51nZ5GGLG9g07DCYSGXJXe97+vB2LHnv99//dJpN7s/u - 7++c39s/380OZjvT/N7s3mx/Mts92NsNOeBHLPnDZMlbzI5PC59DiC6A8LPMkubX78svBgEynzGf - YipDr18oa0Kvu9n8KJstiuVXTV4b1oWNX9PfXpsrscYn1fK8uFjXxsmyfVATJjq8gJ/84viCvAj6 - uq3X/tA+ypfZpMyP1221IAjTr1ak+dkj6zZcZe10/jpvW2JnfO/1Y779opoxshbak+svOzz6UdY0 - edMsCBnTmt2Bp/l5ti7bGEENJenlJieZa9H7977vPs3Ksro6fdfmSwz1S3IqqW9ifGoWDOKjOv9F - 66LOP18TMWlShDSvi4tlVmpbaWp6/GiZt1dV/Zbamgk0H53BJTsn14x6+d4vZrn7/4zYvZAh3O0N - 5W5hfvWk76MR2IiIKp76L6a/yCGurz96BIL9kl/yfUstaiYkJQ4hLUUuHM3u6/V0muczkiu0okn9 - Jf8P3EYnkVUNAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:04:33 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3997,Microsoft.Compute/LowCostGet30Min;31942 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 -- request: - body: '{"location": "eastus", "properties": {"publisher": "Microsoft.Azure.NetworkWatcher", - "type": "NetworkWatcherAgentWindows", "typeHandlerVersion": "1.4", "autoUpgradeMinorVersion": - true}}' - headers: - Accept: - - application/json - Content-Length: - - '185' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"virtualmachineextensionxxx9a731234\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234\",\r\n - \ \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\r\n \"location\": - \"eastus\",\r\n \"properties\": {\r\n \"autoUpgradeMinorVersion\": true,\r\n - \ \"provisioningState\": \"Creating\",\r\n \"publisher\": \"Microsoft.Azure.NetworkWatcher\",\r\n - \ \"type\": \"NetworkWatcherAgentWindows\",\r\n \"typeHandlerVersion\": - \"1.4\"\r\n }\r\n}" - headers: - azure-asyncnotification: Enabled - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 - cache-control: no-cache - content-length: '641' - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:04:35 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;239,Microsoft.Compute/UpdateVM30Min;1199 - x-ms-ratelimit-remaining-subscription-writes: '1198' - status: - code: 201 - message: Created - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2H93bH9//9OG9vQeffrJDH+x8NDIvtesGb5wt - X9bVRZ03jX61zATUwadZPtmd7W7v7j/Y3d7PHjzYfvhwSv98+uDh/t7k4OHDvYcf/cbJL/l/AIEq - wqeGAAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:05:04 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29990 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2H93bH9//9OG9vQeffrJDH+x8NDIvtesGb5wt - X9bVRZ03jX61zATUwadZPtmd7W7v7j/Y3d7PHjzYfvhwSv98+uDh/t7k4OHDvYcf/cbJL/l/AIEq - wqeGAAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:05:35 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29989 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2H93bH9//9OG9vQeffrJDH+x8NDIvtesGb5wt - X9bVRZ03jX61zATUwadZPtmd7W7v7j/Y3d7PHjzYfvhwSv98+uDh/t7k4OHDvYcf/cbJL/l/AIEq - wqeGAAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:06:04 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29988 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2H93bH9//9OG9vQeffrJDH+x8NDIvtesGb5wt - X9bVRZ03jX61zATUwadZPtmd7W7v7j/Y3d7PHjzYfvhwSv98+uDh/t7k4OHDvYcf/cbJL/l/AIEq - wqeGAAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:06:35 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29987 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b2H93bH9//9OG9vQeffrJDH+x8NOKX8uVs4JVP - H907GO8/3P109+HD4BXqp103eOP1ejrN81k+02+WmUA6+DTLJ7uz3e3d/Qe72/vZgwfbDx9O6Z9P - Hzzc35scPHy49/Cj3zj5Jf8PjpTXRLgAAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:04 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29984 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/86aeb1d1-1471-4a77-99c7-967942b89929?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfLbJF/9Cj96LKo23VWLrLpvFjm+bs2XzZFtXz37t3D7MG93b17+x+N+IVihuZ3m/WkmdbFqqVG - zd2dye75p/sPdrd3J+c72/uzWbad5dN729PJw70He+c7D+8/3Llb5021rqf553W1XjV364vV9fb+ - pw/K6v5kMa+KZfbTlz+oLvYWi8vswSq73xZvFz89effTV3vT7H75oKzX968fLH7w0z9dXt4rHtx/ - UHzavm3u3//p9t75vfr+dHV3VVeXxSyvm7tfFNO6aqrzdnxSLVbrNr+rw/tChteYv3W43ijv2qF3 - G9kvvNZKk/Z6xUS8uV8LpNFXy2qagYZ4Pc+adm2+oNGs8rot8oa+4rmiD7N1W321uqizWf5Fsazq - n6TRysttvc75RWpFr14W+LxYXrxus5Zxe72eTvN8ls8EPpqtJ2XRzPMaXzvUj3+wrvPxi7y9quq3 - 383aKVqYd8xIw6+PL/Jl+91iOauuFH1t+u1sOStzD82Pdsf7H6HBL/mNk1/y/wBTOK4HggIAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:05 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3995,Microsoft.Compute/LowCostGet30Min;31948 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/instanceView?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfTarFat3n9IlvkHz1KP1pc/+QXH434q6oxH363WM6qqyZ9ndeXeZ3u7ex+mj7N2myaL+lV2/wn - 87opqiXe+KKY1lVTnbepeffFm3R3Z7wz3t2/9/DeeEdfulwcXxAQeoXRcZ94sPbGD8b7u/sPd8e7 - O7v6IjVs2qxdN3lDTb4nH6UGCB4a2YyRf1lXlwVgFcuL1/ROfrdZT6d5PstnBhaej8r8Mi/xwtny - vAq+mRXNqsyu8fIa3X30Ks9m10GTRd402QX39/k6b1oeQ1o0ab1eouM0W87SVV1NqR3+bOd5mr9r - 8yUQa8YBrLYQqu/t7O1u79zf3rv/Znfn0c6nj+7d/2SHftn5yDT+JfLL9/XtjyzEb1N3JVGQwERp - 016vuAs7TePjH6zrfPwib6+q+u13s3Y6z+vOnzwmnc4QYYKmPXrTtjveH+9+SnN9L2gs00YNPHzo - 4/ecLXpjcL7ou5tnjBp5c/ayXF8UyzRfZpMyn6VbcxlNuiQBeJR+bSqN3BwrqFFKAoS/H6WOPnfG - dkbtnNpfvo8fv4Qxx7DeYjg6p5aCHwE4fc7SWzVo5saqFA8FxXsZz882+X2w6RDEAb7fe3Rvf/xg - 7/7+g08/7fA/Ecb8ymSivxWkHZ0lzWVRt+usXGTTebHM37179zB7cG93797+70/Yvt37/XfOZ7vn - e59ODnYf3Nu/Pzl/uL+3t3vwYLaze//T/IHTOwTyRwQF1M0Evff77386zSb3Z/f3d87v7Z/vZgez - nWl+b3Zvtj+Z7R7s7Tpkf34RFD9EYzt9DRR05HbUA4S273gUd2iyLsZLX1tndWDdTq//f2YG/1+u - 8yM8MqdJqH/y83yZ11lLQID6T6rwRMhuSf5+5B4i9fuTeUhIyH05GJOE7OzshELS1zAW8+oqr9Fz - flfdKK+bWyP8k18YJ8x0iB9E6V/y/wBCEAHwAgsAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:05 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3994,Microsoft.Compute/LowCostGet30Min;31947 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/instanceView?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfLbJF/9Cj96LKo23VWLrLpvFjm+bs2XzZFtXz37t3D7MG93b17+x+N+IVihuZ3m/WkmdbFqqVG - zd2dye75p/sPdrd3J+c72/uzWbad5dN729PJw70He+c7D+8/3Llb5021rqf553W1XjV364vV9fb+ - pw/K6v5kMa+KZfbTlz+oLvYWi8vswSq73xZvFz89effTV3vT7H75oKzX968fLH7w0z9dXt4rHtx/ - UHzavm3u3//p9t75vfr+dHV3VVeXxSyvm7tfFNO6aqrzdnxSLVbrNr+rw/tChteYv3W43ijv2qF3 - G9kvvNZKk/Z6xUS8uV8LpNFXy2qagYZ4Pc+adm2+oNGs8rot8oa+4rmiD7N1W321uqizWf5Fsazq - n6TRysttvc75RWpFr14W+LxYXrxus5Zxe72eTvN8ls8EPpqtJ2XRzPMaXzvUj3+wrvPxi7y9quq3 - 383aKVqYd8xIw6+PL/Jl+91iOauuFH1t+u1sOStzD82Pdsf7H6HBL/mNk1/y/wBTOK4HggIAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:05 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3993,Microsoft.Compute/LowCostGet30Min;31946 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json, text/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/runCommands/RunPowerShellScript?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfNtC5W7UeP0u/hT/pgldXZYuv3rX/fZZp+r2nrYnnx/d8tqy92R/3P9vDRHfzz3bpo8+1vV02b - vpkXTUr/y9ImW6zKPJUu0quinacMPW/zukkBYJf/ZTD4/4+nr88+T388fZJfFMu0KS6WWbuu83RS - VtO30uCLs7OffvsTv893fq/qp87ml9MXxz8xPanos4ufPjk5u7d/cvwTp++e/uD4xZOL8mL+9uLJ - T/3EF6fHF6fPjp8+uf/koqoFypOL09Pj3+fsHn1zWn3eXGVvjnfwrfd5/sXJ73NyfHV6fHz8Ez/x - 7YOrB7/Ps/L5yemn977z4vnnAuX3+r0f/OCrnzh7cnzc+f/T43dfHO98fvLdk89fHz8rj69+gvD6 - 6vjJyZNPf3rx8PPvfPXu9KfvvvtpgfLu1fLBiy8Wv9fu71Ne5J8/Pfn26U++u/fuJ69PnrxYLrKT - k6e/z+nVxcXvfZdG/vT+pwT74vTkeP7FDwixJ/f2Lq8EyvPV77V8Xb/5CfqUnm+fc/+vf9Hnr88m - 957+xOmTk6uvjr/49v67kx8cf+fJxYuffHL8+7w5Ln/yzRevvrg6/Ynf56lA+cmf+Imz06vV7/37 - /N4vquy795ezzx+uv3h1fPX04vd5St99+/Rq9vqnvvuqnezdf/vFq/2rbx/z57/X6buffJF998W1 - QJnce3H5U8ufuPiJvYfX088fXv8+v/er1WRv/93v9fR4IX1/8ebbO7ur3+fedy6new8Xs5MnTyd7 - r8qzZy9WP7V3f6VQFtOLr05fPDl7enb1xZvTq2/Ppy+++Gmi7E+f7tL/f/DFm5/Y/S5/dkqfHV/T - T/nsp5/sfPETjdLlhMZGGH5+evWdn/zqB6dvvnhy+vnx7lenJ0+++L1+cu/ZD7LPy/VP3Xt1Ofnp - 05/44nifv3vy7otvf7X4ybeT7z5cC5Sfekr88OSKvz2Zf/GTb75b/vR08fAHk72f2jk7fXE5XT65 - nC6e7WT0hkeXp7eiC83uadGdL/DL8f7Zk6dXx/j+9zquzp4IlOOfONlbvyt/6vT45Kd/0fm3366f - XVcnV+fP9+5X52cPn/7Ud3+vdv/q9KfvfefJT+wffP6y3f2qeXp5QKIxrb766uUXKmjN3U9P2pdV - 9hP7b+bXd99Ovvzy4u4PvnO8rL+TF1/8xC96le89b2aTuy9en+1d/N6/9+/9sMxmu3evX3719Mvf - u9r//IVS9+VP/96/aPc7P1V88u2f+smHu5Ov6k9/6qd/kL/86d2LTyb5qvlFs7vfPtn9vV9Pf3rn - /M297Pjd81fXb7/z+gen706fLL56mL8WKNfrL6++Wv+iT07qYj37ifa7n38x+85Xn97fubz7ey1+ - cP7F/qe/z6dldfeLk+VydfmDez84ff7g5Rezr2ZXv+in7y5/n/nnKo33vvrJs+fvfu8H7fHsi8kP - Hjx/8cmn3/3ybPVm93h/t77Kqi9/cnn5ycFX2cP9b1/Nf/qnFuvd1w/uXec/+eDVT/3Ui3fVXKCc - 5hffKR7+Pr9P0/ze2YOvfuqrr96enBx/8nstjy++INn+/KcvLp59QpL4JP/p43Pw8rdff3X6+dPj - 7xrtIVCgQ94cXzx5cnGBT589+Ynp0+MfHM/4jZ/YP3128RNfffly8sXzg7PZ2xeftyfnXyx+8mV7 - efbpT/7UwSdfKHW/Ahe92nn15PTt1atPXz374vSLd7/Xm+MloDw5bt6cnQYy9HL6+U8qT93/wdmz - J7sC5ad+7+/sTK6fvCY+vPzi1e9z9QxQf+Innp1e7VyTFiHZOqtfPP19fvDF0+P7Xzw5AI/Pzq5+ - 4vf54kl2/Ox0biTgy5/8iSezL09+0Xx678X177U7yX7695r9xO/1k188+wl+49tXr158cdpcvc6e - fLs6/e7nP7E335l9+/jT59cP783uTRXKxJOb54sXl5PXD6+yvfJy+u0vLmkkzXNohR2SEmiC3SdP - f+INZP/ZOcn3uy9e7yhdXlzvXH15cp8gXV39Pj/x+5z9Xle/z5MnP/HVt0n3n/7kmydvvnh2+vnJ - SfM5ydCzJz84Ppm//clq9u1XV18WB5czwkagPF9QX5Z69396srdzOf28XU3uPfnB870X5XT56geb - 8BEowMris/yJq6eg7qudN8c/8e27T47Prkhfky16+4vmb4vPH17tkFw3z46PvzwhLX68XP6ibwuU - 9un17/PVs+wnj99eHv9eO/kv+kWfLufV84f3X//UT6zvvVqufupBO/uJg4c/8ereJ588OP5kf17X - D35y/927xVuyal9OVI52fp/f65Mvjp+f7uxl7U9ffffi5Wz1+/zEpwffnT3/vK6+81Pffjv5qdnF - 6avPP3nQnr55Vt7Lfq9n+7/Xqnqdff5l8/anfm/Vu29eLk+yL6q9l793dfzFT37x+ar5iVNSp8Xi - p37RvbOfuLd89RPnT8rv7Lysvvhi+uLuJy/fNgc/9eb57pPq5e/TfGdVqZ1uP53+ovL+w1/06cn1 - 6qd+n7Ori+vvHDzc+/aqba8n3/69LnZ/qv2J51+Vr3/v6fTVF+X64uXF6fTFT30nu3h5evHy91kW - +wJlsrvbLH/61fHF+c7s+id2fnD2MHv+e/+iN++++9VX91cnZ8+Kl292JntXzbsfvPpFJ+31579o - 9fbzLw5ePvw8+8GXB3lWCZTFT561J7/Pk+l3Xj+5fvLu7ur1zvT173P15Mm3j3/q3Xe+fPrVL3r3 - +veuXn/+9HLx5vwXffWd33vZLr/79vl+9bZ6u/usOFHb+FP7P726/r2//In1cvJpfnH2e1++vfiJ - B8Q16y/3Pv3yamdx8OqqzJ9ezr/8ol5+u1mvChLw6ge/V030/XSVPWsFyk++nh88zCZfva6qVwc/ - MfupaZEvFtWz+fS7b0+vnl3sN6sfXP4+L17uL8+a3Yf39j7d/e71m+zVFz9VTfPP18sHqutO3pC5 - /PT+vfVXP/3Js08uHu5PP713PP/B61+0/3Y+e77/7fLZ2cu9/OXl3sNmcf7V8tvt57/o0+vf59nT - 58s3O7/o7u/ziUB5Wtz76auyenZw+t23b7/9qn29/r3LZ19N3iyu6rvl06cXk9VPFb/X/PnrBydP - 3jz96Xt7ZzvP7xf37+19sv729AdXB+y2/Xha/dTTxe9D/5199fqLyU99efH60/vzBw8f1D99/zvf - +fTLt/npV9+pjn/yiqzY7FPSnM9+n19EMgEf5mI1f7p6qrxLTguep107yH7L2ednsOibbLlAuY1F - 32TLBUrPokPqIdew6NclW3Rjy79aPLwk3fsUWjb77k+tfp+9Zwrlp14/eTL7vV9Vk3vfWc2+/fYC - OuOLN8f5s6sd/Lz3xdOL6y+efnX/i6dlRp9dv/hp/ewN6WH6TKBs8tkInxu9NYGyyWczI+l4JYG3 - JlA2+Wxdb+3i4qzn0wgU0srwbE7EszmDZ0Pe8Ul98HJ1ffrkal3P5utfVJ39xJs3rz89qEl3/NTD - k8+vV/WnP7n6iV9UX6gEfPmkOn09Wd29urrK772Z1e/mz3+fk7vH+1ekAZovLu7v/sTpV1989fxN - 8RO793/qbPZJ+fnx28nv9Un++qd+QML4QOly7377prmomqtP7/7UL3q9XucXi0tq/1PXi+PsSV4u - ZuuL66+K3+f180/y+uTZ05fNzut7v/fsp0+fX7zY/UV7P/0DgXK9d+8HX5bX82eXrz5fr4/3f+r3 - ekdc9pP7q1/05KefXt978xPfebm/T27H09lPTvPsJ7/ze+XTF5e/6PjN7MGnX73M7z4QKPvXbXb6 - 5OGLnyyKIl8+vzj96V907/VPPvh9HuS7T9/+Pi9/Kn/wnQfz+eVPvaw//+L3zovvvNn/iezgF51e - fjd//RNfXu+phf1i96eftT948MkX7Zc/OP7B3rvmF33y+stvP3i9/H2Om4df3f/u29enu9+ZfnF/ - snh196sHv2j69NOdnzrbf/P84fPq6by6p7bx97779Ce+qj/5ojzLD65Onu185ycPfp/f6/nki+9c - X+x/56cu7r/+6cnL8+efv67nVz+9+rRcPPj89Dxbn1avf2r3vPjyrFQosy/mr39w//W75z/5e7+8 - /omnBy+effrd67s/efbJi6vf+ycevnq1zH/wyfHT+eXvdXVyUd6dXD357g8uX11+9ZNfXS6/zE5f - CpRPX7/4zuWTYv/Vt989u//Ft59Ol/XFdD19e+/Bw88X09/78mr+7vfe2//yxQMa2Be/V17/dHu3 - +e79Ty7vvti7+qn1c+W6cv/ZgwezSfv6k9l3fq9s+ub3+r2y5fl38+P71arIn31y/Xz/ze/9k/ff - TS/vTavf6+W328n0i+qnr69f/sTT2cur/PNnAuXV2fL05KsfPNv9vX7y6XOanYd7D/bzkye/z/Mn - L2a/z3e+m718e/CD+YtfdFU8Oc+Xbx/slPXJwatf9KRZvHh+sVsVXwiUk6uzp8c/cfykIv/+wRvy - L/O3FGdSTAs/5vjzkxfvvqKfX5BUHF99G3L+aufLJ09+n1N4Y/DDBErUG3vyliQOns9PPLn46elX - xxc/8cW3L6rjr66e7B5/fnb8E2T1vjim78ljEyhPr37i9Pjq7Mn8p49fQtq//Yr83POD0ydvSEuT - D9PzCL991n55cfbu7emX958d/+SXAmU//0XLdz/49quz/bc7Xzyr+I1vX72CJ3b15tMnL6rT9eev - v2s9QtK3V2vfFxQoziN8K97gvSfXpGN2f5976ontfudyskOe2dtnuzPWM+KJffGTB1df7B5olPVF - QZ4YeYa/90XoGX71009+4ovT/Y5n+J3AM4RPKFCof9VzzjMMvMLb40Je4cVPKRWPXz8pf3DypHx6 - 8oSzGMAPM369/5Ss3NMvnh44/GhWBMqzn37RwzKG34Q911dEuy/Io/7OavLdZ9f5d02sNr2+X80+ - 37n6CQpOuF/Q5eLs6sWT/euzJzvHb46flMefT49/n5940hw/OzieHj+5PP786jj7iSc/ffztt8cC - 5fe+Irp9m2D8BL3y+VfHk5/AW/vHs+PjNUG5eopR2dzM6fMnP3H8lLQ8DfL8ev6Lvvv7CJT9Z6/u - f148eLP37VfLs1XzvJx/e/773P+9fuonVj/1cGf59ou3Xzwrf+/r/ebl5U8/nbbP2ou7n37y8pOL - 3+v6p9d3X3260MzJwd5y8vs8OCjIjP3ev/d3v3v69tt7z1+VT35y7/j69fmLs+z1ux/84OXp7/X8 - q/bk6u53L3/6JemN3+unLhcvX63L3edGAmb3f+L+/rp8e/3VTzzMv1399MG7Fw9Xqyc7F/v3dq6v - f5+TV0V9UsxPHqx+r7fPnn7nss1erqrnq+9e/F4/ffCLst35dwTK7/Pu4Dtkg7PFdyZvL+6+Of7p - uy8+/70ePjj48uHJwxf5w/V3sgdlfX3e7ry494Onv+iTn/q9vpP/Pm9+Yv/hyd2zs2L2+5wLlKsf - nP0++5dPnz2f3p8s61ff+fIn6s9PGnLf6e2mXU6e/T7zV69+8mL/i+Xp8vPlJ+8enpzv3yuuPj37 - fPH7NOVCcck+v3+5ejDbudo5fvbkF/0+T36v4uKTi58+ePPmu7/P86vnL148zD9/ef7u3eWz33v3 - 2erepPyJk1VZHbyYfbX4vT6/erer1H2xyj+/97D+wScvz75b/VS13J/uleXDp+vf+7vEMbvNt5dn - 00+eLKef7/xE9m726uCry8WzeXv+dPpu3pxetg+Vd99d7VcP2vvl80+uf++Hv+jZtGwvjnd/0bPP - L39y+YPy06++83rn4icWv8/x+c7x8erd5PPJ6s3DZ7N3+7vv2t+rqFYPPxUoefH809ff+er8F91t - v322/3R3eVnczR7MnpefPK9nv/dF9uDL6t7i9377+7y+e/e7zTVJS55dfnJ5/fzTq/Xxp4u3amFr - 8hYe/MSrL8hCnM++u/vTb99QbPWTP/XlmwefHP/k9e81z5+cXp/93vXlT/zEL3r38u6anPdXs6vs - 87PF7uzdT769fyZQXk2fnFz/VLv33atfdPz688uH+U/dfXL53d02a8rX03dfvMjLpy+++H3OfvKn - KCP57LvwbU5J/r+6Oie34Yvjt+q/kDY4fTL/4uQnf/KLd6c/OH4F3fvk+OLNSTmbT/fm5E/NKLLZ - f3f69PhL+W765snud8qf+nz3crL4iXcC5ds/fTyVb6s3z77ytQJ5Z/e+c0X/n88+L+ELV5TPhA46 - JR11bnxegTIhDQyf96c+/+riq71yOVmQB3395Cd+YudUvNafOHvzxRV557OH9cHJp69XO79oh+YL - z5N7lGsVKL2M6+918qT+6eOf8qPfk5/44h1FyL8X6x/oPdJxT55iDJHM7PMvfmL/qtv62ZvjyxDi - T7w7u/iJi/bZTz5Y/uSZainKa1xffv7q82fXP/ns5ZPf++2bF+WLp0X77uzt+ac/ubu++PbZV1c/ - cRFCfvr0dOeLp7/XxTNS0gLl+HRHtd/ZMTknPzj+/OD4py6e7FSvftHx559ba0YaeRpYM7Zjbxxd - HLbEC8+Oj18TT5zMpj/19urzey/2rq9/r4Mf/PTVJ1+cLH7y98l+4veqZ19VT/P127skpbvTF41A - 2bu78/yndl+U99/sPvm9Jz/57uz3/urg4hc9f/j5D6q3n98/eFbtvn3zg6/e7fzk27uL71wfZz/5 - ye/17Z98+TTfWZ2d1/lPPRco06r5yZ+cnfxeJ7/39NMfzJ/U2erLz++e/z7kDdbz11/8ZPP55/nO - /vrybPl7lWTmy3Z6PN199+7uD+5dl/fy/ecqR7PdvHmdPavrT/KH9396//e5enuy/omD6VfF8Rff - LR4e7D442N/9Rb9Pce/T6uzqJy+a072Hd2d7kweflPdf7+WnT9U27ny1mBU/2Pvp7/7k733++vjT - k/xlOfvB/Mu3969fn91/PZ8+WS33Jrv39i7OmvslUfdevfvl07vl2y8vvvzpn5i/Vuq+nZ+U7dl3 - mmpn+sn5J89fHuztffmd/Nsnr6e7rz/Nfq8vvn1/v27q5z9Vvq4fVr/P2euDpycnp+urz08KWNmf - UC1FvtJTyvW/u5g/n35xdvZ6D96YtWK8wvD6mjy10+YrmjviYeJ6n98FCvEsrTOQP/eTP/H5ybWN - e75zekyrDJQz/Ikrmvk3B1eUz31AbZ+A64XfX/3UCeUXBcoXT0/ZilLgc3b83a+eUhaJbPXx6dnJ - df7Jg5fTL8ome/dTP/FT++9e3z35zg/urd4cT4vm93nxnZe/6CcuZp8odb98We4dX/zURXG+evqL - itPf5/SnyUf56dOrFxSbffHTX+y+eHO89/ynz+5996ePTy+oh4ckrbu/1+snO29OnvyANJVAgb6C - zvi6mkqgQF+9h6ZafXEy5V5P3n1xAU0lUIx0nZ0+vKJoW1ovv7j46ts/Ca/s8uzZdyj6Pnj3nZ8+ - fis9NW++/ZOvqt/nu+/K6fWTrwTKV7tfXLz6yRdffvn297n3E29+n/bVm7NdyuG9e/GGPOPXX12d - Xf0+iI4pc/+O3AoXHf/k52X7U693NRKeff6snVJWhPDYo1Ylze6Xr2jmn7z8imb35YwyZ8QnZye0 - IkFK8tlPLe++++T3vv7BLzp4i7+PVUsd/+RbnmnHaewvXZ0/Jd13C8oLlE30vw3lFYqj/+KLE87p - wlLMQH9L+WeUGfjuV+1X917NJ7/3sRfvHysUWaMhDntDuvTNW+K0U12jIT+TaGo/+2nhsu4oBUps - rO8zSoESGyv934yyx2V2lMpfAoVbvweXdflLoLwvl3X5S6CQZnpy9tPQPF2LQvnknzigPNnZk5OL - 34t+Pz2ulz99+vtMy+W7s9np652d4uLzn9Yo63hSXa9/+vr41dvf69677Mnv/cnvs7tT3Mt2rvbv - nr/4yfmbn/703edXxYTs5t0v3v7EF89+avXiB83l51+9eX739z5/81MPBcrnP3Xv4bez5cnsp9fL - 77y89+b3evj25KeeHLfL6uV9UrTffnry+fPFun3wyd7vc1ruNk+mP7m8ri5/n7cvflDcO/38XP3d - n7i+/Or51RdfPdtripdPaE3q+U892zm+v3p+XPzg7rOTq3f33z6lDMni5e5Xr+6d1D/49OwHq/lV - e139ovbi6fFdzRLvv1n+4PzyJ7/zcvH65U/dXf+i+1/O77/In/1eBy9+8MWqaL9b/MTlbHH+Zr/a - OZmtF8uiOf/u7vnvlWVPZpQP/uq55hm+enPw5vnVzuvrh8uvvvvi9y6P7/6i4uCLdy/fXZz8dFO/ - WBUPX1789LcfnL777sPJg9/77lfXs/nqF82//a5Zz55+/lMvNO+978X2n/+AbMGraRjDv5z8xC/6 - fX7y88vf696n979slrv7P33y8vnz1Yu9l0vE2gKF+NJF3C9+8qcpu/R7ffFTT3/wE/fag1fzy2df - 7M2z+Xd3afWFfTrE2i+/ON25ev3pk+9Up7lCebUh4n6+IB9lY6z9yuiXn3yx8/v8JK19/OQB5StP - r55T7pL+/468nOvJ0yeZt8ZF3Pjqyy9Or65ee7G3QPni+Pf6/OXC4hP3mQw+ez95PaMVIUglJAL6 - RqBA4/zeP2CN035BkSHhsybsd7445nzu7PTq9MldWm0nLXt1Chl7tVM+Ob6i9JLgI1CAFeUeY7qX - YlVaez3be/WTTyghtv/55+3B70Mzmf30dHV9/1U9//R6b6n88nud33+7/u7rb79+S/HLYnnx6ie+ - bNrs+jv3L75zl9Ix8x9c/aIXX10939+ZfvWT3z2Yrtuz62fZ7NtvKfD4Rb/3bKnUfX25M//i2fOX - dfFy+eTFs9M31wdFeXI2+8nixbOvdg5+6tvZ3u9VUXK1urv89Orl6/btT/90fbH/1b2XxXn7afOF - ct2n5e/dFJOvLj+5evrk4fn+75PPf1C8XLSf7J/cf/LFT/70D7J3u8UnO9MfXLQvv/3k9753b/3p - 51999wfL7GL2i8qdn5yobVzl937RwQ9OX+Wz75xfX8+fPHx1b/8H94t6ulzf3/3B6tv3fvqr7MGz - h/eqp68f3n/3ey+rxZefZG9/r/xp8eJzWnpQ6j74zt2HO7/op568Wn37Jw9+0cFx8+z05KcWP/Hk - 9W72e714fnd6/er+yd1PfvL1wey7P938Pge/9xfLgwfnx2/Jbv7UO9Jg6kt9N6P8k64SnPw+p7+I - jCYemtkwpzy0PiBQuqsE77s+IFC6qwSIld5nfUCgwAaRPqc3ZJXgp2LrA091feAp1gJOaS3gi70X - b36S1wcECvlt+s1P8DdffPvqvdYHBEp3leB91wcECuyxs4NfvPn2V6Q3nMX9Kvvubvkc2uO7u1e0 - Hv30J14fswahWWY7JlBuY81+0audF5ffnr4qfrq6ePDy6k159/f+9Hxv8VV275Xy7umL75YnFycn - 8/PL9vzz+fPnz+4+u/rkJ+dXy+zey8XvU3/37vFPfnU9Pf3i1cMnn7/7RT/57en+d0737x/8Pm+e - /FTz5onO9NO7zy6Ks1df/cTVD37vN5OL/ZPnL07u/dSXze7yi6ufvM5Oqp2vXux8We++2v/2i8vr - VxdflPOLV5ff+X1e7f8+JC/31cL+Pt/NX/3e+8++aqafvHnznedP3v1ePzXb+e7pm0nx059/frn4 - /OL55fnvc05W9vV09p3Pp6+n82pe/KKHz3/qrPyJ36d+pnmpu7/39Pzl+ZPfe5ZdPyzefufFTzz7 - 9qun969Ii87uPvzu5Pj4/k+dnq/v/sTru7vr+z9V/15N9tPXeVH9Xl+cP83eXGSvBEpbXZy9yOf7 - 337+dLWY7hzcv354uv5F5zv3Pn/9cHX87Sdnx4s3+Rf3Di6/ePqdV89282crShF/dVC8+QmxYwIF - 1uz+T5M1y8+uKFxxecuhTHXHZgmUwHK9R6ba5KgFyvy2meoXv/feTzbrl5/+Xt+Z/j6Ln3718qde - /8R3H55rxnox/+nTIet5G7spUNhaRa2nlx1+Zu3m3vM3Zz8gCNZuCpRN1vM2dlOgACvGx7Oe0D4/ - QX//xO/9kzvObv4+LUWAYjfPPr9gWr42Mw2KIlt18VO0Zv/7UDbazdH6mDLXF2+OHwJzxZn8m9/n - XfbtVzvTp9Xlc8JOoMyu77ee7lj/PnsP2+e7T56/fv3w7WTvBdHoxU98df3w7U9996fms+++o1HM - dyZvnhwbyAKF4f/08c63f/rs4ts/QexA+eafunoyR1aa8tA/gXzM5PjJ6vjzL47zn3hyfvzsi+PZ - MX1P+emf+okn6nvjrQllbY5P9i++TVmZUN80om8uTo+ffJKdffUT94p365Pf5+X+s3e0ejarPj1V - z2Py4GW9an6w+wX98iT/vVZ3L1e/9+TV26vm4Pmzn2rKX3Tv7u+9PPh28fDdp0X+nfzl/csvd+uf - fDY9+712Pz959cRkTtY/+eUXP3j56uK0Wu394JS6/6nL6e/95Pzu7/2yzJ/94Lu/z3ee/dTzGaWM - T78oLi/v3f38/O7ZvfOfrO5+++Xv9VP5V79IZfqri5PLL48Pfu+HZIYvvvt7/9Qvmvxkff+L8y8f - NqtPjz9/+PyL0594e/bTP3j54Ce+LMvq4U/9XpPrvbs/8WY+/c7B9eviXD34n8wOLu/Wk/Knf/rL - B79P+Um2tzs7/vT8218uvpv9xE+/fPiLfp/l3dm7r6rnb19Pii/zq596vXz208vfu5lPpl9Oq0/P - VKY/WT58WC5+0U/kv9dPtTvrz6efvLp38OWL4quHX2TlySr7nBZN8s9/0f7pT1Rf7re/z8nk7Kcv - LtrXv3f5U1/+4N7D5w8/ESi/z+7b8um9av3lT872quXnv+hJVb0sXmWf/j7Z9NX1/fr3efo2zy6+ - +L1/4gfZ+U88uLf39ODL0wfTn1ie/96/9+vf5+xirnO0Vz/5iW8vPnl4kJ8e3/tk+u7Jp6/ffHk5 - K1/d++nqk99rfvaL7p7n0+X9ebb38N4v+n2+/Xx1tWi+nFw275rL3+eifqUW9gev7u2sz7568u3q - 6YPP99/+op98urj+7sP67OlPfven8mr2gy+vfnqxOLn3i346P/7B8/nZ6uH0+PInT6bzhwdF86at - KoGyfv75au9+dr3a+b2K6+nBT/3EV/cu5pdvf9HiF33x6qd++umb9b2fuH798OFP53e/+1NFcTB5 - d/355Xcn313fO/2Jg3L3iUbCu59++/W7n/y9fzqb3f+9r2bfzr/44unDH3z5Uy8+udq7+3t/dXe1 - fLX/U1+efHLwg92LZ8/XBy+qZ8e7e+uD73zn3Q9+srm3vytQvn1RfLr305PJzu4nL+8tX5+9fvV7 - zS8unr8mC3vyJenVY8r53P29Pg/yP35kLlAQn39IZC5QEJ9/SGQuUMiPktZfMzIXKIjPPyQyFyjU - qqSl3d+L/JSrJ1e/z7Pf62r/6fG8evrsJ45/0axpjn/63SenDygO/062Lhez/OH01eL6NCNNCm36 - e71SCXhfP67rwQmU9/XjMG+OXl9o5uTWflzHFyd7dUxZIc1u3T/9cn759Lj4/Bj274x82q/o/6d7 - 5C3vvHhW/T5PYY8oV0QZScoL/T7vvvjpn9j57k8/Ie+WoFJ2VqDA9syfvf29nhyfvnv+A7Jex9XJ - k594+vYnPiXlT1obf5P3cXJcfHt5fEFewDHZDPw9f/YG3wkUvEE2Xt54+vswfAf57N3v9fR4gRjS - //z46veiyP/4DO8IlOOLL75dvT6Zm0/p7yfzX0TzEMaRZBcpjvx9To/PTubF5693Pv3u2dOL6vV3 - NY/5Ew/bCYWT5Ijt/aKfelFfPpv83m/Orj9plr/Pwae/98PqxfL5/u+VFctP5s309y6qLz/dq77z - i57uvH7506++czJ7N1Fc7p59+97y99k9O62a8+c//ZP397PF3e/8xLr8qcmnn9z9qZPf+2Ln/mKx - s793b/rJT33n6t6bt58+Obl4/snOzu9F5qh6p3Hj2cXbz9/SIuynP/V7LT6d/fTdZ/Ofnn96+oM6 - f1q9u7j44gVpiKcnPyEa4u0Pnhz8nEZZr3+fq+8IT5N07gY8DekUKJ6MuvWrY12/+snF+d1v3z9/ - /mV9/RP4m9avvsseQTST/3udnBx/VV19fuHP7tunX/wE8Wcnu//FCTwl95lAefL0tHhycvKdn5h8 - /qB+e01a+ov2i9OTN/d/0S/68vnvdXH+++z+xO/17dc7d0+vr37vn/6JZ9WXpBE+ufh9npveBAr1 - +RPHxcG7i7y6usin9P+fuLqY7JyeHZP7evDJ3S++/KmD3fvPv/x9ypc/fX/n93n66acvP/lF9eXD - g1/06vX5+S9S7/B052VF3t7vQ/8/Xn17/9Y5ZqPdFcoNOv4m7S5QiCe+To7ZZtMFSjenjmw6VgLv - f375g+N3+e+1c/CD3/s7q29/8fTqdLmzP5+uv9z9iZ98cXd6ftX8RPvJC6Vu++1pV36RBzqlPNDx - xfyL/MUnT768fHL3q0++vH6xys7unt89/85PPLz7i06X63evP/n8uwLl0zeLn5qvDtaLJ69Jg3/6 - 9IsvF6vJzne++9Xvdf98/8tXy+rF3au932fn5dP23ndpBfMke/1TZ7/Pq8vnv8/usy9n19/RHNnx - y9+72nt7Xbz77vPF7puf+Kmf/onZ8f2v3n317nU9m7943X7xez1czcnzfPrV8pPvLo7vte0pra7+ - XnsHP/l77f5er5bqY169eFje/8nTuz95/Xt/+eQHb8/rl9/e/2I6253Pzx98scjOfu+T68+vf7p4 - 8erJu3vHxX59v62rz3/w4OGDZ9ev7y6PjUzvPP/8yVdv93/i1evq/OD3+ur3ebf45Cc+zY7X87OL - st37dn1v9uT3nr75qekn+1/8Xvd/8kH+8sUvOmn2ro4fPHi5/PIXaQx78fLZ2VfZLNt/NW9/+mS9 - Lq/uk4r66SftT0yet6ShLnbeUVboy1Wx9+Ve/tXvffWTV599Jm++Pvs8JX5bztKmuFhm7brO00lZ - TVlxffQbJ2n6/RH+/WiV1dkib/O6+ehR+j18lKa/WH7Qt0v6jj7/KKsvdj/iF/B81F6v+OOmrYvl - hfdFnf+idVHnM/ryPCubXL74JdogCnfPe/194eKHjuN3a6bzfJFRg4/mbbt6dPeufDBeZJSnyxf5 - sh1nPyAyjKfVQr9r7u7t7H66vbu7vfvgbr1e0jfUetaMf7qpltL7RwX6/OjVevmyusrr1/O8LF9P - 62LV6vdV80aR/m6xnFVXjX5eZpO8xMen73JKXuZNmqUORNr4MGa5/FlQr/TGybppq0W6WJdtURbL - vP9e2syrdTlLJ3k6y8+pySwtlua7VV2t8rq9HqdfMsisTN0kp9NsideavMUr3hf2NeKOX/L/ALyN - /1ndNgAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:05 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetSubscriptionInfo3Min;359 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/runCommands/RunPowerShellScript?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/vmSizes?api-version=2021-03-01 - response: - body: - string: !!binary | - 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 - jQk/vv8bJ7/k/wFHStuU/NwAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:05 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3992,Microsoft.Compute/LowCostGet30Min;31945 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/vmSizes?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOejZbbA5x9dFnW7zspFNp0Xyzx/1+bLpqiW7969e5g9uLe7d2//o5F9 - qZjhlbvNetJM62LVUsPm7s5k9/zT/Qe727uT853t/dks287y6b3t6eTh3oO9852H9x/u3K3zplrX - 0/zzulqvmrv1xep6e//TB2V1f7KYV8Uy++nLH1QXe4vFZfZgld1vi7eLn568++mrvWl2v3xQ1uv7 - 1w8WP/jpny4v7xUP7j8oPm3fNvfv/3R77/xefX+6uruqq8tiltfN3S+KaV011Xk7PqkWq3Wb39Uh - fiFDbMzfOmRvpHft8LuN7Bdea48u7fWKiXlz3xZQ471eVtMMtASIPGvatf8ljWyV122RN/S1nT/6 - Ilu31Verizqb5V8Uy6r+SRq9AGnrdW4BUEsCcVngu2J58brNWsb19Xo6zfNZPnN9oel6UhbNPK/R - xA3n+AfrOh+/yNurqn773aydooX/nqFA2OT4Il+23y2Ws+rKG5I2/3a2nJW5h/ZHu+P9j0yjXyK/ - 8I/v/8bJL/l/AO7XV8bPAgAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:05 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3991,Microsoft.Compute/LowCostGet30Min;31944 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/vmSizes?api-version=2021-03-01 - response: - body: - string: !!binary | - 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 - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:05 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetSubscriptionInfo3Min;358 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/vmSizes?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json, text/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/runCommands?api-version=2021-03-01 - response: - body: - string: !!binary | - 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 - /m+c/JL/BzapzD5dFgAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:05 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetSubscriptionInfo3Min;357 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/runCommands?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfLbJF/9Cj96LKo23VWLrLpvFjm7969e5g9uLe7d2//oxG3K2ZodbdZT5ppXazaolo2d3cmu+ef - 7j/Y3d6dnO9s789m2XaWT+9tTycP9x7sne88vP9w526dN9W6nuaf19V61dytL1bX2/ufPiir+5PF - vCqW2U9f/qC62FssLrMHq+x+W7xd/PTk3U9f7U2z++WDsl7fv36w+MFP/3R5ea94cP9B8Wn7trl/ - /6fbe+f36vvT1d1VXV0Ws7xu7n5RTOuqqc7b8Um1WK3b/K6O6gsZVWP+Hhxle71iatwISduX1TQD - KfBOnjXt2nxBSK3yui2o5aOUKU0fXi7OmIr3Z3ufTnfuT7bv5ffy7f0H96fb2f7sYPsgnx482NvL - aZT3BQ69NM/q2VVW5y/r6rwogZ2Co+8uF6+LH+Cjj1632XJGLX//p3u//+XeR9LilxgYTVvV2UUU - RLGgL17l53mdL6fBV/Tlaj0pi2ae1/S5o8l3i+Wsumpe5/UlfaN94PmoOic4aDvcpHm7RoO9nd1P - t59mbTbNl22nCb3SKE3LrM2bNvg2f5dN2590TXb37z28N97f39kb7+3u3N+5T/8eKAEcCejFqnla - NG/pFX+EVfNGp1xRDvoywrG4/skvqmaG1/2vp3VO+H3JwoBmz+pqcQZ6hq2YZS7Q4FWezb5bF23Y - YJEt6Z1ZHzv6TmfueDqt1svW4Gpn+/mr1z4oeuH/m3IK0jZ3PTK7MbkZpNHhO7D8509olLt7D4Lv - 8jL3Z+NpTtw1t5AcnI9mxHegNmTze+bTtEP5cg0oO/YtPJYhVBv09cjvDwz3fv+d89nu+d6nk4Pd - B/f270/OH+7v7e0ePJjt7N7/NH+wu9OZtC4jnS5W7XW3DffFbPSiWgYcRN9u4CH69n25iF75/zIf - ffDs+LRwfIOnw4E7e/fCr9vqSS6Ml4OA51nZ5GGLG9g07DCYSGXJXe97+vB2LHnv99//dJpN7s/u - 7++c39s/380OZjvT/N7s3mx/Mts92NsNOeBHLPnDZMlbzI5PC59DiC6A8LPMkubX78svBgEynzGf - YipDr18oa0Kvu9n8KJstiuVXTV4b1oWNX9PfXpsrscYn1fK8uFjXxsmyfVATJjq8gJ/84viCvAj6 - uq3X/tA+ypfZpMyP1221IAjTr1ak+dkj6zZcZe10/jpvW2JnfO/1Y779opoxshbak+svOzz6UdY0 - edMsCBnTmt2Bp/l5ti7bGEENJenlJieZa9H7977vPs3Ksro6fdfmSwz1S3IqqW9ifGoWDOKjOv9F - 66LOP18TMWlShDSvi4tlVmpbaWp6/GiZt1dV/Zbamgk0H53BJTsn14x6+d4vZrn7/4zYvZAh3O0N - 5W5hfvWk76MR2IiIKp76L6a/yCGurz96BIL9kl/yfUstaiYkJQ4hLUUuHM3u6/V0muczkiu0krY0 - ETJqgme8C8tOA9o6N/MboGZfwgT8f0/x6RBNxGT+1iF7I71rh99tZL/wWnt0uXW05vXgvT4UvOHB - fFu2cPNHX2Qk/1+tLupsln9RLKvahSJgGQuAWhKITSwTNI0GWuPjH6zr3LD0d6GFqIX/nqFA2ITV - YSyeQfNvk4Utcw/tj3bH+8y/eFQx8Q9S9r/k/wHpHKeRJRAAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:06 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3990,Microsoft.Compute/LowCostGet30Min;31943 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOejZbbA5x9dFnW7zspFNp0Xy/zdu3cPswf3dvfu7X80sm2LGVrebdaT - ZloXq7aols3dncnu+af7D3a3dyfnO9v7s1m2neXTe9vTycO9B3vnOw/vP9y5W+dNta6n+ed1tV41 - d+uL1fX2/qcPyur+ZDGvimX205c/qC72FovL7MEqu98Wbxc/PXn301d70+x++aCs1/evHyx+8NM/ - XV7eKx7cf1B82r5t7t//6fbe+b36/nR1d1VXl8Usr5u7XxTTumqq83Z8Ui1W6za/qyP7QkbWmL83 - jrS9XjFVboTmvVNW0wwkwXt51rRr/0tCcJXXbUFvPHLUpy8uF2dM1fuzvU+nO/cn2/fye/n2/oP7 - 0+1sf3awfZBPDx7s7eU06vsOHr04z+rZVVbnL+vqvCiBrQeWvr9cvC5+gI8/et1myxm1/v2f7v3+ - l3sfuVa/xIfXtFWdXQyCKxb05av8PK/z5bT3NTVYrSdl0czzmr5zdPtusZxVV83rvL6kb7z+8HxU - nRM8tN/crHm7RqO9nd1Pt59mbTbNl22kGb3aKP3LrM2bttcif5dN2590zXb37z28N97f39kb7+3u - 3N+5T/8eeAQKSUQAquZp0bylV7ujr5o3yjI6lF7fRtAW1z/5RdXMAKbbZFrnhPeXLFho+qyuFmeg - e78ls98FGr3Ks9l366LtN1pkS3p3FseYvtcZP55Oq/WyNfhbbnn+6nUXJL30/00dAHI3dz3Sh+MK - Z5lGiTYQn8+f0Gh39x70vs/L3J+ppzlx5TyAGsL8aEZ8i5mA/KsSNk9/Zso1oO4EEPBYJlIt1Ndh - vz8w3/v9d85nu+d7n04Odh/c278/OX+4v7e3e/BgtrN7/9P8we5OZGK7zHe6WLXXsXbcJ7Pei2rZ - 4zpqcQPfUYuvw3n02v+Xee+DZ6xLj5C/8HS4dmfvXr9JWz3JhVlzEPM8K5u83+oW7N1HoDfRysa7 - nXb0xe3Y+N7vv//pNJvcn93f3zm/t3++mx3Mdqb5vdm92f5ktnuwt9vnkh+x8c8lG99ixrr06HIR - 0QeQfohs7P/5ffeHjxiZ9yG/aCrkqV8oS8PGhLP+UTZbFMuvmrw2bA/fZE1/d9pdiedwUi3Pi4t1 - bZzJoD9qxpMED+Ynvzi+IE+ImrT1ujv8j/JlNinz43VbLQjS9KsVWSD2PmONV1k7nb/O25ZEAm06 - fZoWX1QzHoCF+uT6ywiPf5Q1Td40C0LOvMFuzNP8PFuX7aYJ8KlOgJqc5LkFRt/7fvhNVpbV1em7 - Nl+CFF+Sc034kCBR094AP6rzX7Qu6vzzNRGeJlLI97q4WGaltnfNfQw+WubtVVW/pXfM5JuPzuCC - npMrSj1+7xezTP9/RqRfyBDu9oZytzC/epL90QgsRwSW6OUX018UDNTXHz0C4X7JL/l+QDFqKuQl - TiJNSG4pzf7r9XSa5zOSVdPSvUOTIxQg2L5nFLAg0/f/ezpTtaUJFs3ffe15Nzec3G1kv/BaWyoS - Hc2vqrn4b/r9l/w/Xih13/cPAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:06 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/HighCostGet3Min;139,Microsoft.Compute/HighCostGet30Min;698 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/virtualMachines?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ - uc4/evS9X/zRMlvQLx9dLj4afVTM6Le7zXrSTOti1RbVsrm7M9k9/3T/we727uR8Z3t/Nsu2s3x6 - b3s6ebj3YO985+H9hzt367yp1vU0/7yu1qvm7he/z6vP767q6rKY5TX9WUzrqqnO2/FJtVit2/zu - ZVG366z8IpvOi2Xe3OXe2+sVMLmxNTUtq2kG9Kh5njXtGp+12UXz0aNf/EtGH1HPq7xuC2r6iIa6 - OMOw7s/ufbo//XRn+9Pp/qfb+59+Otk+2M1n23t70wfT2WRvdzq5T1DmWT27yur8ZV2dFyXhAwCv - ix/Qbx+9brPljL7//Z++3v39L/c+oq6atqqzC791saC/X+XneZ0vp/zJaj0pi2ae1wTiJFtWy2Ka - ldRVdU6N6LOvJutlu36d15f0J4F8u6YPdw/GO/vbz9+8pk/o80YGW2Zt3rT0Uf4um7Y/aT/n1uO9 - nb3dnfu7ezvArGqeFs1b9F81b4Syz4vl+h29bKf8959Rk93ff39KtJntTc8fnN/b379/cLAzybNP - 84N79M/k0/sTemVa59T1l8wT9OqzulqcYaD4iqflgj59lWez79ZFi08X2ZK+nhkclE7H02lFg1V8 - Xtb5olgvfv/nrzDKb4r5Ftf1xUbmw6DBcrcdPRETLcEEnz/56NG9Hfo7L3OPHE/zlojADbM2w5iJ - 80i2yjV9S81Dgu/9/g/PP334aTa5N9u/92D/wfThJNs72JvM9qcHD/cOpvfuETU6BD9drNprfEz9 - CLFfVMv/L9H5FoMG+ailofMuEa6tnuRC3JywPs/KJqdGceJ/n96vGk8Sp4JH/cJQnwafzRbF8qsm - r3VKpiWxa9Pu0lclpOOkWp4XF+tatcsvBkbZpMxfZk1zVdWz43U7z5ctSbA0aOs1YdQ0c7RlQZ/+ - Xvm1zP4qa+njj+7Oq0V+13R0d0yN72YEpqppoLPf/y2ajz6iH0+Jd6g9fb9dN1l6TM+Tey9+kJ3s - Xk/3Tumv46fHP3H8hH4+Of6Jp/Pii0+uHhy3P33vk3cvXtz/qfIHky/eNpPvvn558uyns+kvqme/ - 12T+i74qXz9oj1+/zj45/+m9n/hFq/Od79ZfXjz45Mvny6dPvv2i/EWf7vyib//eP3X/3uxddffy - 2cPV0/urxbvnZ+ftp3d/+vzi3re/U3/S7pX52f2D33v/F33y4mzny+Ld05988J1ftP9Tb+5P7v7E - ND//9n798NOnb9bffrW+/r1fPXn56e+9893z7757MG8Wi9fXnx//4PfZOcv3s8ufevb83vPddw/q - 9e/Vfqe993r65gffXhx8/uXrV5/s7F//1E/O97+dF+3TF59Mf59PzrPzHzxrX12s6pcn85/64ur3 - fnH34t4P9prL+093v12ffOfg6fqTH/zEcfWDr77zdDW7Ot65d+9FVa4XX5UHx7/o97789M2z4738 - 99mdnr76yeXJbPX2bP3y8ic+P3v+3d3v/tTFL1q8+r1eP3nznRcPli9nv6i8/+nTg6uf/PxpsayF - i5ipoVl/8ovjC5ptM800odP567xtSQJpinmGp/Mvqhk4idXh0/w8W5dQ0MQvedMs6O3Y97+Eemly - kvGW4Hzv+9S8LKur03dtvkS/X5L5Ygajb6XrOv9F66LOP18TDxGLC3qvi4slWRJuQgCXeUss+pa+ - NhKgn5wtSQrOsynsIfHlz7oCeCHd3u11T8rgJ794UUw7ZCZykmkls0Emdj2d5vmMpJ1IRAMQKVUH - YEFyTg7Au3fvHmYP7u3u3dsnQn9To3n1+cvfh9yCB8+/vP/ki29/efbi+Ds/+VNffr73xRc/efzg - 5fH9N2e/1xffefJ7f+e7eyfH958/eP7qq/u/z4Mvfuo733n+k/fOHtx/cPbpm9/r9f3733lz79m9 - V/dPXkYpY1SjDsh4NObv6AA/0C0iNIibes7Q3qfTnfuT7Xv5vXx7/8H96Xa2PzvYPsinBw/29nIa - z+2dob2v6QvZEX23WM6qq8Z6QMYx6n4untHezu6n29CVUxIu/py+BRvRd4P+0f69h/fG+/s7e2O4 - SDv36d8D4BzxkrRXAqLct7j+yS+qhgzBW/qMZJb6sMbnm3GELC2/WQtdX6yuwdJldX+ymFfFMvvp - yx9UF3uLxWX2YJXdb4u3i5+evPvpq71pdr98UNbr+9cPFj/46Z8uL+8VxALFp+3b5v79n27vnd+r - 709XG1ka9IFOsLQi6uIn2IXN+d4D+iBuuukLmk+QiJiUNFTXbxJG70uHehY757Pd871PJwe7D+7t - 35+cP9zf29s9eDDb2b3/af5gd4dI2pm2D3Kn/v8zWx9MWMwctbRzvLN3jxTWezhtpON5sndvOdn3 - fv/9T6fZ5P7s/v4Ouevnu9nBbGea35uRWzmZ7R7swZP70WS//2TfgrAfPNkw+ps8dCgPonHXR4dK - X9Of9NWV6Oael86jh67veGz5Es47Oe3VgtpOv1qRnoEhlG/ZfRvy5+xLT66/xMz/PHDofihMOewc - FuZXjzeJ8ASEqGccmFVNTkV9rTRilqIGQj6aRhJXsroktmvrR4LWMkwC8A1S6/+dDuPd3PBct5H9 - wmvNMklsJYJ2uYD2/Kbo8+z3eXP6+s3e+w2LMfh6Hu8VSRJ7vDckAvP72ezhdP9ge3/3/v72/s69 - +9sP93bI9909P5/ezw4+/fQ+2O5Wvu+T3QYMppbDa0pMusHz/dnOAu7s3Nu7z9Y54t/2soC7bAB2 - f/9sen7waZbl+w/3d/fP84PJg53zTz99eH93J79378HeAb1DCo76tor9vb3fHyZvYVDMUbcdHnQ4 - 2Qfrh5JoENW8Se2YKwJNI+xaq/McvsbPbjKJ+vjG8kiLH/ze+e/1ySfP93bWX/xed7+6uH+1+unl - d797/UX57Sqfnn757vrb6/zb092Ll09/+uAXXTw/mRffbne//O53dpunP138oiff+WR+enr1U89/ - +sVBebL46vK7P/hBXe7tzB58cffJT652859el6d3f1A/fPjw7XfXv8+9xf1Pnq2O304m7/IvHz7/ - bpWdX31Z1A9nL39w9uVPP/189vK7v9fk4tv1PRKEL799vL78ydnv/Z2n8+9+u/3u/fLJ3S9Ol/W7 - Yv/g5Q/uHrzdLZ/u/j7T6VfHZ5/+4OnF7/WT33n55PTtw/PvfvHdg2/vzH+v36d59Xsvynez9mJv - uXryE7/Xg7eTxfTJ3ovvvDydv/nJi3c/+fIXvc6e/OQxpbe+PDm5+xM/cXn8e0+rpzvldz5f//Rq - 9+wnf59f9PqrrH59/9Wy/n1On/7Uw5/49PT3mq2/W7/c+fzZW/rv4Pf5wepZ/smTV8+ynzyYPP9O - fflTL/bvXV784NVPpzRDv+fT09e/15svX24fk6X4zuv933fJ2hZKScxVx1ehGR72RljKjLNBTPf/ - f2fk/BpKLi7iwz4EyeTXyjD9dJE1ZbG9ZiVMBP6mRvGds+PXz8+2T+j/T09/MjoYo686xu1uF6UP - tIrULakaCoRo5hTU6+umzRfHTUMzTfQAvYrltFhlJRvK89m9nNwEGu/DHRrvp9P725N7WEDbe5Dv - 7z/c2987f0gvEVdly5bfuL9/QNHi3t72vYMZrbGdT/a2J2RstycPJg/vZffyh2RfYZWIDMSDHbu8 - 9+l5Pn1wTkQ939nd3s93H2wffHpO5L3/6c69h5P8YP/TjLq7lV1+up81v/8luTckCD3bfLNNDEiv - 5mPn4e5efn9/8unBzs7++b0HD2k58SA7372/dz/PP6XlCzKBoXU8bjnsoc/pB3EgfbTBNCqeYfT5 - s7Nyo8OjJYntWX65kSkxdvvC+9GDaI+WmBqEi/d28AGZJgyY5p3NqwqwNzn6iRNpavnNKRUdyKaR - D+sWfVmosHufAmIMgWHcTseU27wG9U0N5jvPt3/yi+3Xr78dHYeZwY52uAssgIXqgBtfoKaeOkHO - tc7Kr6lR9qf5zqe790khHNAA9z/do7TzZG+H1MWUVgP3d3fz6af00jelUfJscn7vPqW1s4z8+/19 - yhtn53m+fb4/Ja/v4c5+/h5L/nukUJipVVC91j+3zv7uezj7PPkqwA/y6ezg3kF2fm96sJ+Rf7b3 - 4P5k/5xWaB8+3HnwAKq9o9De291XUv1QdBpGtk0+70ZhwMi17W2pQHRFS/DDoBrbFCVwZzTQbpyQ - /WBd55rW+tmNFmxP31jM8OT5F/faNn/96mB+/vnufnV/dXJc3Z38otfXl19+dXL17bvtL3pYHX9x - 3FTV7t4Pfu/7P7lc7+y8PTle/F6fT+f3v/3k99n/qn1+9fbzh6cPnr87vjd98XvXe08/P357tj+9 - 3v9OfnGw+/uUx99ePvu9785Om9f39n6v6uD3Wu+sfnD89vrhT0zbX/TiJycXd7/6qtpvfvr06avm - +U/PfnD6neeTp7/Xg2+//UXV6rsP2suf3lnvPNn96u7LvYN7X/zgp3/vp9en35k/mOdn579Pdvzs - bfn7HO/84PNnez9Yvt2ZnZevXn7+cHX/y9979ebZ7DvU20+9+n1+snz1ZlLMXr/Yf/md757OD56V - u6/2X1x+++G9/CL7qn5+N/+9H86Krx7Ol/cX6/uL7Pnl73Nv//isOnhSP9s/u0eRyv637+9+8vAX - zYmLv3z6e0+a37tufvrJl4ufepWdLK/vzx98tXP/q09e/N73vvvV6qe/+1P303PSQVnT/r6/rxga - Gz/ce/DmJ37yy50fxQ/foELYYOXx3r0HpFADYhNRyRaQkiObsLbWHUOXXr9Z5D/AtPsJQJLa59VF - sXxW1WIIMCYivGggipWIFb4plJ/9Pj/5xXthK92r43Bjc2rquSGQk6wpEA/ckO17ODvYze7tTgn3 - 6WybQpbz7YN9+mcvz7N75/dnD/cfwk+5nQ/wevdrLnX/bPsAOzsP9h4SyxL0G30Aovvv/yW3+v13 - f//797L9ew8+3d2fnmf79w/Os08PssnO9MFk7+D8/oNP4R6RHqDuv2TWoNff2wn4oTEY2Usy7u83 - PKi697HmBJ1G2LXllO2hT392rTj18Y3Z7x/l/H6U8/t/o80+vyb7xbTqiPiwuSaBvH3CD6OWDr9Z - vG9UTR1jBqwDOw0PXcf4XXBAXtuZ44ER4UXT/HRJS+DEDN8U5h+Sn1RUvp4Fl7zkHn1I/ZE+3JBG - GKVQteYveiNMKtCKznS6R7H9zr37lCK4dy/fPpjen2zv7Z/v3NvJJ+fn++iGyPleSYXRRwiZTK9n - gqT6Fnc/gPAXQnjx8SOZqIWlo9pR+hhdX98FPqQEGB/9kPCheShmu8AqJMve+Ww629/b3Z4+2Kdl - zv2d2fZk7/697Xuz7PzTg+mnDx/kExokIUCQ+I1Z9vB+fu9gd3v2IJsQWWbT7YOd/QdEyPsPHu48 - nD7YuzchPUNSRNiSPkHv6Fc9rTzP9z6dUftJ9pBep2W1bcob723vPjjY2X2wc/9gJ8MS4u08rffM - 3363WM6qK7CYLyca4p+f7+wTg+RZvjvZf3iw+/DTe+fENPcOHkx2Zjv3MNWkN0lZfMnzSW///yhz - +z50IGqjJSYDqY7dvQf4hDwLjJSmmr0jVcHefOgnTilTy29Ot95iyKo5I9aBh08LB6xEwbY/F9bh - Q3Wsbym+eHo6NswOs/D/ShzNK18QpUk2iNri9GASiF1EQsFpq6pCyDqvmnY72975BgXli9cvf38a - zJvT129+r69+7+8e33vw+v7v//Ts9e/18ssvn5/85Nnz3/vsJ1///qfHr9989Xrv9Kvjl+815Dju - arxufJ2aeoYQoSwZwnydregLjWY/Av5P1kU5c8EehXm7O/f37m3vkmUg+1iPH+zO7t/bnz2g99D+ - 6csvsp+uavfG5d7v/5T6/UmkH7VBsfQbcMRIA+8r8539h/v3p9ne9j6lR+mfT4nms/zT7RklR/f3 - 7lFUvYMh306Z735Kypxz59lsRkarIh/zJFtlk6Kkv6Rf8mHr7PXrp6dLREuEgrqgqly9Dn5uI22a - gt09plvEDHUi7QibuNA029nNHu5+Oj3f3Znu55/uHVB0uv+AF1XPJw9mbJtDq/TekbfS7odhmMBe - pKJBvLfrd1fZvQfNfTY7GP/0sijfFZfN7+/x+kZ5w4tRKXsP8tEMAQCYEcbs3g79nZe5R8+nOVt5 - NPRs3C/+qFzTt9Tcm8Xz+5d703OiV2dKIo7Ci2r5czsV3Wm4JaV1iKAG/WXItnf/U1JK1ROKMzFS - COZ5VjYUPw4RU+m3G9Lv8ip7ALH6/zH9ZIgfSj8ykaRPPHXXSUABeEcoaOzdhJRpxZ/T9z+7qSmC - 43r7ppJUJ+UXz09ml8f56+OfLh4297+493u/+O7+m2fH01/0+fTp5e4vOv709/n2dx5++/rp7nf2 - Pv/J0/zl/Z9cf/Lp5z81uWgufu/58xf7P/32i5PvnkzL5e+zd/nTn//gxcMXD54+e3jyycuv3j09 - uP+Lfq+7d3+fd5988dWT15efvt6vvpP9op+4nny1+EU7+Xe/Q0mp068ezO+tvz2tLk/yk3vHP/3k - 7uL1/rvZ+YPsyU+82V3sfXf33uXL3+tq//f+RW/a6+v5i8UXr+b3m5N32Se/z0/85C/K62c/ePPl - 5dPi9PLh4t23v/3goip+qn64/sFPfXL/6ZPFw53l77X30z9R3/v8+KfOVs+muz99lj2vn64/PXu7 - n30+Ld8Uy9/nO2fNV+9+0advz8qdcr8oP937RfvPTx623/nJ57/P57/P829/efLgFz35an7/q73f - 57u/6Onps+f1hFhw74ufyB48/+Kn7hO5v6pnP737i6r7syfHq0/frH/6O+v7PyUMxhwNy/ajdNQm - TfDNGLXh6MSA2iaHhcSYZX9WZBfLqiEp9JXApKrap+4bfETpDJJdGimIQ8QWBflVXdDY5227ah7d - pQ6yC3gse/fbHTKN9x7Mr95e/fRiMp6U1WQ8rep8TL47gokxYXeXZ42HAOITD5ALR34FuXJrL0j6 - ASlowuB7H937iBCmOQhVjlNMyJR/k1Pxw/Tngfv/n/z5Tx/MdrL9/Wx7ku9MyZ/ffbCd0YrR9mSy - u7v78OH0/AGteP7Inxdn4/b+vLfUdG+a388e7n862f2UmDvbf/gpJdBo4Ynkbv/+JEcKktQhofMl - iwGB+5E//z7koxkCADAjHKsf+fM3UFqHCGrQX4Zs7+2PkoJn+v3In/969CMTSfrEU3c3+vMwPexJ - /8if/5E//yN/npjzm9IE34xRu6U/vytTAxdcvXZvnP+f9OfhIH6TU6H+/IvPn3/nJ1+/+nLf+vOf - vvnu/r03z75Jfx64///Jn9872Hk4eTAlmk/vPSSaHzzcPtif5Ns7k2z3/u6D+w/vTdDtj/x59H97 - f95LME/zT+89eHDvfLo3zfcnu3uTfPqQVkpnDx7SeuL+7kMCQ+qQ0PmSxYDA/X/En19elD992dTV - vlV9n7ZX+/fa85tVnxEYvBiVsvcgH80QAIAZ4Vh9mD9/Mfu0mEZCrP8X+6N2Gm5JaR0iqEF/GbL9 - EPxRqE72BP//5Y8+/cnmk/P9T35wvnfaXn35en337NXvc//N8e7Ji+vV9Dsvlwc755eftD9x/OXu - yd27ZfXV73X19KuTy+b3/r2+e/HTxZurzxdf7exOPv/q4d638+cHv6jc+2L+ez3NXn/y6eTVrNn9 - vVcPfvB7TfPj+2+eXFx8++lPHf/e1c6Du+9evfup6ic//+6LxYPne3tfPH/98jSb3b94/mT39Xl7 - +ZMnO/ceHvz0bvGTFw/fvDz47uzi3vOffP0yO/7J/eW7y8vvPp++yy+v7r7Nn/9e1/nnDy4+OWsX - 5bePL18/fVC9/OL+F8+Wv6iYX/yi5id+8HtffvqT05/e+fZPf/4Ts+rdYvrFfvv26cO7n/7enx88 - efnV1Q922xdPms+/eDj94vqL3+tV0Vx99eKnfu/vLE8nv+j0uN4tf9HDH5x+57sPf9HJ79Mu6p86 - /+6Lt/MfPPvJ09OfPn+Rf/L0k7u/6EX2E18W15cvrl7v7DSLvYJMRPb7fP7lD6bPfyAMxhwNzfwj - f3STJvhmlPIt/VGyiZgauJDqdXrj/FB/dL/d3b+3f/9g9oN2sf7ptz8cfxSB8jc5FT9MfxS4///J - H929n2UPdmYPtj89PyCa700fbj/MKb/86b3J/s5kb+9eNoEd+ZE/iv5v7496CdL7k/2D/GC2/3D3 - IN/fnx48nD04z88nD/cne/f3dg8+JTCkDgmdL1kMCNyP/NH3IR/NEACAGeFY/cgfvYHSOkRQg/4y - ZPsh+KNQnewJ/sgf/br+6I/8UZlrmtUf+aNOE3wzSvmW/ujPan7058QfhYPzTU6F+qO/94Nnz+9/ - +uCnvmv90d/rp37y5f6DJw++QX8UuP//yR/d2zu/l+0/mG0fPHiYb+/v3Z9sPzy4t7+9f76X7+zt - 7e08vJcR1B/5o+j/9v6ol+CbTR4c7N/LdsirerCf7ewe7Of7s/3dB9nuXnYw/XRCYEgdEjpfshgQ - uP+3+6PfnLyBcFEpew/y0QwBAJgRjtWH+aP31zkpYaJXZ0r+X+yPvntwXtI0/ODqlpTWIYIa9Jch - 23v7o6TgmX67Af1mP1384NP7NMj//9JPh/ih9CMTSfrEU3c3+vMwPexJ///Mn5++qY9PXxafHu8t - vvPpzsX965cvnpws9u5+5+X52VdNtniZ7S1evHn+rrm4/xOT69fzT+6eZ+8+vbsof/Inymfn1z/x - cnVx/YPLh9Xlux989/N28Xv/Pg+vf+/Z+bsvni+rn1z/ot2Dh6vv5BcvfnD/4e9z9oPmFz1svnrw - Yj4rf/LT3+vbB9Of/vaXv+inn//EV5/eP85396+evrz6qcvfu7o8v3679/Ynjy9+8rt7b3+fX9T+ - 3j/4weQnvvru9fTT2dufevrsuz95b/n55KcenuzlFz/9i34iu2wP3v4+7YvLZ6vPq68mL8/KlxfF - vecvpifFd5794JMf/N4/OfvB8Sc/uLr88vfev55+ssrPPn/26XEx+c7J6uT3+r1/6s1y9+Ev+vZP - fjX9fSYnv9dl8dPPVt/95NvnL3/687PvfPL83t7i0+vvrF6/+byerC92f/rt2/PLYud1vlye7X/R - /mTdPPl8t/rkxflOtZ998SB7ev/p5ScvXj/5wXNhMOZoWLYf+fObNAGMWlcbWH/+7Q8uV/sPJg++ - KX+efApMDVxw9dq9cX6oP3+/3bm3v7f/cFL9oh/MppMfjj+PRMM3ORXfnH/RcciJTjHc///kzz98 - 8GD3wW4+2763v0v+/MHDh9vZgwcPtme0lrw32Tn4dHofHueP/Hn0f3t/3kuQnu+dz/I8P394vr9P - Duns4YOdT/N7+/u7uwcPsum9KYEhdUjofMliQOB+5M+/D/lohgAAzAjH6kf+/A2U1iGCGvSXIdt7 - +6Ok4Jl+P/Lnvx79yESSPvHU3Y3+PEwPe9I/8ud/5M//yJ8n5vymNAGMWlcb/Kz58z+r+fmfNX/+ - +7/k/wGQFzEy3HoAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-length: '7252' - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:06 GMT - expires: '-1' - pragma: no-cache - strict-transport-security: max-age=31536000; includeSubDomains - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-original-request-ids: 38a637c2-afcc-486e-b8fe-7e953fe4092b - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/virtualMachines?api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/virtualMachines?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UeXWbnOP3qUfg9/pSl/iOejZbbA5x9dLj4a2Q+LGT6626wnzbQuVm1RLZu7O5Pd80/3H+xu707O - d7b3Z7NsO8un97ank4d7D/bOdx7ef7hzt86bal1P88/rar1q7n7x+7z6/O6qri6LWV7Tn8W0rprq - vB2fVIvVus3vXhZ1u87KL7LpvFjmzd0AjfZ6xbjd+Jr3TllNM+CL9/Ksadf+l2120dAXv/iXuI8I - uVVetwUBoS/Mx/TF5eKMqXB/du/T/emnO9ufTvc/3d7/9NPJ9sFuPtve25s+mM4me7vTyX3XBb04 - z+rZVVbnL+vqvCgxAA8sfX+5eF38AB9/9LrNljNq/fs/fb37+1/ufeSaOQTphaat6uxiEF6xoC9f - 5ed5nS+nva+pwWo9KYtmntf03Ucn2bJaFtOs9HHG81F1TiDQ5KvJetmuX+f1Jf3dbdW8XaPN7sF4 - Z3/7+ZvXvQb0UqP0L7M2b9pei/xdNm1/0jVjWOO9nb3dnfu7ezseGUJC0KtV87Ro3tJL3TFWzRtl - lufFcv2u16dj899/RhB2f//9Kc3rbG96/uD83v7+/YODnUmefZof3KN/Jp/en/QgTOuchvMlCwMg - PaurxRlI32/JXHmBRq/ybPbdumj7jRbZkt6dxYdD3+ukH0+nFc2GGdzLOl8U68Xv//xVj/D0zjcm - tovr+mKj2IKGENbbEjNENZxUQhxQIBSfP6EB3NvpfZ2XuU/6p3lLJA6AhiA/mmVtBtJCqFXlmadP - 6nINqN1e6YsO0+z9/g/PP334aTa5N9u/92D/wfThJNs72JvM9qcHD/cOpvfuReakyzani1V7HWtH - I1KmeVEte/xCLW7gGGrxNXiG3vo54ppbULOLbDjJeELO2Y3MYVs9yYVfcozzPCubvN/qFhxG3ft/ - ft/94aNFimhIT0+FCvULy1XhdHyUzRbF8qsmrw3fTUvSHE2722lXQsOdVMvz4mJdG2MX9EWNiDDZ - pMxfZk1zVdWz43U7z5ctKX5t39brLh0+apo5fdOBRJ+zAZn+Xvl1RJzw9N7A89EqawHuo7vzapHf - NWO5O6Ze7maETlXTvM1+/7cA28FEno/oq6ckyABCL23XTZYe0/Pk3osfZCe719O9U/rr+OnxTxw/ - oZ9Pjn/i6bz44pOrB8ftT9/75N2LF/d/qvzB5Iu3zeS7r1+ePPvpbPqL6tnvNZn/oq/K1w/a49ev - s0/Of3rvJ37R6nznu/WXFw8++fL58umTb78of9GnO7/o27/3T92/N3tX3b189nD19P5q8e752Xn7 - 6d2fPr+49+3v1J+0e2V+dv/g997/RZ+8ONv5snj39CcffOcX7f/Um/uTuz8xzc+/vV8//PTpm/W3 - X62vf+9XT15++nvvfPf8u+8ezJvF4vX158c/+H12zvL97PKnnj2/93z33YN6/Xu132nvvZ6++cG3 - Fweff/n61Sc7+9c/9ZPz/W/nRfv0xSfT3+eT8+z8B8/aVxer+uXJ/Ke+uPq9X9y9uPeDveby/tPd - b9cn3zl4uv7kBz9xXP3gq+88Xc2ujnfu3XtRlevFV+XB8S/6vS8/ffPseC//fXanp69+cnkyW709 - W7+8/InPz55/d/e7P3Xxixavfq/XT95858WD5cvZLyrvf/r04OonP39aLOuOGOAJRAGPJw54fJHA - AzfrsoDB/8kvji+IEWlOYxxIPDOdv87bllQhmK3HWdLii2rGAsL292l+nq3LnptBbYn386ZZUHfR - F8L2wZBC/D9qclLjLRD63vfDb7KyrK5O37X5EoP7klxJFjA07Y3vozr/Reuizj9fkyCQlhCCvC4u - luSNSXvX3Mfgo2XekhC/pXeMZjEfnS1Jo5xnU7iv3/vFrMt/VlX5C+n2bq97Uus/+cWLYvrRL/l+ - gDoDwThpRsnfJU+IpuH1ejrN8xlpZNNSqW9etfPubLB4/AtSy+Txv3v37mH24N7u3r19N+88etI3 - Hz78V5+//H3I1X/w/Mv7T7749pdnL46/85M/9eXne1988ZPHD14e339z9nt98Z0nv/d3vrt3cnz/ - +YPnr766//s8+OKnvvOd5z957+zB/Qdnn775vV7fv/+dN/ee3Xt1/+RllJTGKurITCxj/t440m88 - MiIEiXc3hkF7n0537k+27+X38u39B/en29n+7GD7IJ8ePNjby2nUHx4G7f2woiBLt+8Wy1l11QwE - OzYk2txMY6K9nd1Pt2GwpqRxIs3oVQgCmt42Mtq/9/DeeH9/Z2+M4GjnPv174BEoJBEBuEV8pEPp - 9W0EbXH9k19UDbkPb3tNSAkS3s5L+jkJgSy3RP3Zb04H1Bera+iAsro/WcyrYpn99OUPqou9xeIy - e7DK7rfF28VPT9799NXeNLtfPijr9f3rB4sf/PRPl5f3CpKG4tP2bXP//k+3987v1fenq406AOSG - 1rWkD8cVzjKNEm0gPuL27j3ofX+zPxvC/KYjJtFCfR2mrv/O+Wz3fO/TycHug3v79yfnD/f39nYP - Hsx2du9/mj/Y3YlMbJf5fviB1GbOo9f+v8x7HzxjXXqE/IWnw7U7e/f6Tb7JcK3zXm+ilY13O+3o - i9ux8b3ff//TaTa5P7u/v0N5j/Pd7GC2M83vzSiincx2D/Y6gRueH7HxzyUb32LGuvTochHRB5B+ - iGzs/+mFWT5iZN6H/KJu1gE2Jpz1ft4Bvsma/u60uxLP4abMA08SPJjNoV6+RH6C8hLVgiBNv1qR - BWLvM9aYo77bx4UW6pPrLyM8/qPAkMD/v1ikh4PMwvzqSfZHI7AcEViil19Mf1EwUF9/9AiE+yVf - Mx6179DkCAUItu8ZBSzI9P1GdOb/O0PPu7nh5G4j+4XX2lKR6Gh+Vc3Ff9Pvv+T/ASUFqbWXHAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:06 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/HighCostGet3Min;137,Microsoft.Compute/HighCostGet30Min;696 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/virtualMachines?api-version=2021-03-01 -- request: - body: '{"commandId": "RunPowerShellScript"}' - headers: - Accept: - - application/json, text/json - Content-Length: - - '36' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/runCommand?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b86a0551-7564-4cad-9063-06bf96abef13?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:07:07 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b86a0551-7564-4cad-9063-06bf96abef13?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;238,Microsoft.Compute/UpdateVM30Min;1198 - x-ms-ratelimit-remaining-subscription-writes: '1199' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/runCommand?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b86a0551-7564-4cad-9063-06bf96abef13?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3Ye0P/G9w/u33+we/+THfpg56MRv5QvZ4Ov3DsY - 7+zd23nw6YPgFeqnXTd44/V6Os3zWT7Tb1Z1tcrrtsjxLSNFH1brdrVuzQcfXWblGt19D3+l8iGe - j6bVDJ9/dFItVtUyX7avuZ+7r9vZl+v2bhP2heejMr/MS7xztjyvvM9nRbMqs2sBgO9f1tVl0RTV - slhepDFIi7xpsgvu/828aFL6X5Y22WJV5mkzrYtVm14V7TxdZXW2yNu8buglefuXKJRbjeS0rn94 - IzEI4sf3f+OEfwq2Hy1pFGgyOfg027l/f3f7wf1P97f3p9ls++HOp/e2dz6dnD/8NJvk57v3CMwv - +X8AuB24sWICAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:37 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29982 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/b86a0551-7564-4cad-9063-06bf96abef13?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b86a0551-7564-4cad-9063-06bf96abef13?monitor=true&api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ - uc4/evS9X/zRtJrRLx+dVItVtcyX7es2a9fN3dft7Mt1e7dZT6d5PstnH40+KvPLvKSmZ8vziv6c - Fc2qzK6lPX38sq4ui6aolsXyIvXfW+RNk12gkzfzoknpf1naZItVmafNtC5WbXpVtPN0ldXZIm/z - uknTj37JaBNmp3X9DWP20S/5/i/5fwA4jxSNFgEAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:07:38 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29981 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/b86a0551-7564-4cad-9063-06bf96abef13?monitor=true&api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/restart?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/eb6cedb6-9754-408b-9856-3ce62867e75e?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:07:38 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/eb6cedb6-9754-408b-9856-3ce62867e75e?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;238,Microsoft.Compute/UpdateVM30Min;1197 - x-ms-ratelimit-remaining-subscription-writes: '1199' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/restart?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/eb6cedb6-9754-408b-9856-3ce62867e75e?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3YePLp3ML6/82D//r29T3bog52PRvxSvpwNv/Jw - vLN3b+fT/YPgFeqnXTd44/V6Os3zWT7Tb5aZQMonn07z2eTT7YcP7u9v7+8cTLYfHtz/dPveNP90 - 7+DTB/mD+/lHv3HyS/4fYXZ7ubgAAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:08:08 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29978 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/eb6cedb6-9754-408b-9856-3ce62867e75e?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/eb6cedb6-9754-408b-9856-3ce62867e75e?monitor=true&api-version=2021-03-01 - response: - body: - string: '' - headers: - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:08:08 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29977 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/eb6cedb6-9754-408b-9856-3ce62867e75e?monitor=true&api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/powerOff?skipShutdown=false&api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/30a6d4a6-eb9b-413c-bea3-01f3669b88cf?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:08:08 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/30a6d4a6-eb9b-413c-bea3-01f3669b88cf?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;237,Microsoft.Compute/UpdateVM30Min;1196 - x-ms-ratelimit-remaining-subscription-writes: '1199' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/powerOff?skipShutdown=false&api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/30a6d4a6-eb9b-413c-bea3-01f3669b88cf?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3YO6H/jhw93D+7vf7JDf+98NOJ38uVs8I29nfH9 - nQf3dx7uBq9QN+26wRuv19Npns/ymX6zzATSvZ3s09l+9ul2Pnk42d7fvTfdnuTZve2d3fN7n376 - cHJwMD3/6DdOfsn/A4nbIvy3AAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:08:38 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29975 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/30a6d4a6-eb9b-413c-bea3-01f3669b88cf?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/30a6d4a6-eb9b-413c-bea3-01f3669b88cf?monitor=true&api-version=2021-03-01 - response: - body: - string: '' - headers: - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:08:38 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29974 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/30a6d4a6-eb9b-413c-bea3-01f3669b88cf?monitor=true&api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/start?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:08:39 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;236,Microsoft.Compute/UpdateVM30Min;1195 - x-ms-ratelimit-remaining-subscription-writes: '1199' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/start?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3YOHt17OP50Z3fv0wd7n+zQBzsfjcxL7brBG2fL - l3V1UedNo18tMwGVZbPdnXuT8+3z/GBve3928HB78uDe/vb9LD84yB+c7x4c7H/0Gye/5P8B92nL - KIYAAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:08:49 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29973 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3YOHt17OP50Z3fv0wd7n+zQBzsfjcxL7brBG2fL - l3V1UedNo18tMwGVZbPdnXuT8+3z/GBve3928HB78uDe/vb9LD84yB+c7x4c7H/0Gye/5P8B92nL - KIYAAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:08:58 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29971 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3YOHt17OP50Z3fv0wd7n+zQBzsfjfilfDkbeOXh - o5398e7upw939sJXqJ923eCN1+vpNM9n+Uy/WWYCKctmuzv3Jufb5/nB3vb+7ODh9uTBvf3t+1l+ - cJA/ON89ONj/6DdOfsn/Ay6cUuG4AAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:09:28 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14981,Microsoft.Compute/GetOperation30Min;29969 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?monitor=true&api-version=2021-03-01 - response: - body: - string: '' - headers: - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:09:28 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14980,Microsoft.Compute/GetOperation30Min;29968 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/aad103bf-fe82-4d89-b734-5ae88e7f1884?monitor=true&api-version=2021-03-01 -- request: - body: '{"properties": {"autoUpgradeMinorVersion": true}}' - headers: - Accept: - - application/json - Content-Length: - - '49' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfLbJF/9Cj96LKo23VWLrLpvFjm+bs2XzZFtXz37t3D7MG93b17+x+N+IVihuZ3m/WkmdbFqqVG - zd2dye75p/sPdrd3J+c72/uzWbad5dN729PJw70He+c7D+8/3Llb5021rqf553W1XjV364vV9fb+ - pw/K6v5kMa+KZfbTlz+oLvYWi8vswSq73xZvFz89effTV3vT7H75oKzX968fLH7w0z9dXt4rHtx/ - UHzavm3u3//p9t75vfr+dHV3VVeXxSyvm7tfFNO6aqrzdnxSLVbrNr+rw/tChteYv3W43ijv2qF3 - G9kvvNZKk/Z6xUS8uV8LpNFXy2qagYZ4Pc+adm2+oNGs8rot8oa+4rmiD7N1W321uqizWf5Fsazq - n6TRysttvc75RWpFr14W+LxYXrxus5Zx+2o1o46WFwIerdaTsmjmeY1vHebHP1jX+fhF3l5V9dvv - Zu0ULcw7ZqDh18cX+bL9brGcVVeKvTb9draclbmH5Ue74/2P0OCX/MbJL/l/ABD/992BAgAA - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/5b6b5f7f-6e6e-4a43-b089-e258fa19bf1b?api-version=2021-03-01 - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:09:29 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;235,Microsoft.Compute/UpdateVM30Min;1194 - x-ms-ratelimit-remaining-subscription-writes: '1197' - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/5b6b5f7f-6e6e-4a43-b089-e258fa19bf1b?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3YePtp7OL6/d2/34f17n+zQBzsfjfilfDnb9MrB - /d29hwcHwSvUT7tu8Mbr9XSa57N8pt8sM4F0f/Lp5P75g/PtT/NP8+39bP/e9mTn4OF2vnf/4Dzb - fTg535189Bsnv+T/AXvWtt24AAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:09:59 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29967 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/5b6b5f7f-6e6e-4a43-b089-e258fa19bf1b?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfLbJF/9Cj96LKo23VWLrLpvFjm+bs2XzZFtXz37t3D7MG93b17+x+N+IVihuZ3m/WkmdbFqqVG - zd2dye75p/sPdrd3J+c72/uzWbad5dN729PJw70He+c7D+8/3Llb5021rqf553W1XjV364vV9fb+ - pw/K6v5kMa+KZfbTlz+oLvYWi8vswSq73xZvFz89effTV3vT7H75oKzX968fLH7w0z9dXt4rHtx/ - UHzavm3u3//p9t75vfr+dHV3VVeXxSyvm7tfFNO6aqrzdnxSLVbrNr+rw/tChteYv3W43ijv2qF3 - G9kvvNZKk/Z6xUS8uV8LpNFXy2qagYZ4Pc+adm2+oNGs8rot8oa+4rmiD7N1W321uqizWf5Fsazq - n6TRysttvc75RWpFr14W+LxYXrxus5Zxe72eTvN8ls8EPpqtJ2XRzPMaXzvUj3+wrvPxi7y9quq3 - 383aKVqYd8xIw6+PL/Jl+91iOauuFH1t+u1sOStzD82Pdsf7H6HBL/mNk1/y/wBTOK4HggIAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:09:59 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3983,Microsoft.Compute/LowCostGet30Min;31934 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncnotification: Enabled - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/9d7549d0-a8e3-4877-899c-eadb8c8921b2?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:10:01 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/9d7549d0-a8e3-4877-899c-eadb8c8921b2?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;235,Microsoft.Compute/UpdateVM30Min;1193 - x-ms-ratelimit-remaining-subscription-deletes: '14998' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/extensions/virtualmachineextensionxxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/9d7549d0-a8e3-4877-899c-eadb8c8921b2?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j+h/O7vjew8P9u7t7H+yQ3/tfDQyL7XrBm+cLV/W - 1UWdN41+tcwE1MPZg/v7D2c729lBfm97/+DBg+2Dhw+n23k2mxxMDx7u7U72PvqNk1/y/wBOCs6X - hgAAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:10:32 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29966 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/9d7549d0-a8e3-4877-899c-eadb8c8921b2?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/9d7549d0-a8e3-4877-899c-eadb8c8921b2?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j+h/O7vjew8P9u7t7H+yQ3/tfDTil/LlbPCV/d3x - wb37Dw72gjeom3bd4IXX6+k0z2f5TL9ZZgLo4ezB/f2Hs53t7CC/t71/8ODB9sHDh9PtPJtNDqYH - D/d2J3sf/cbJL/l/AIM0y1+3AAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:11:01 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29964 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/9d7549d0-a8e3-4877-899c-eadb8c8921b2?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/powerOff?skipShutdown=false&api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8b256b7e-2eaf-4589-98f4-2fcafb3d3c65?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:11:02 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8b256b7e-2eaf-4589-98f4-2fcafb3d3c65?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;236,Microsoft.Compute/UpdateVM30Min;1192 - x-ms-ratelimit-remaining-subscription-writes: '1198' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/powerOff?skipShutdown=false&api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8b256b7e-2eaf-4589-98f4-2fcafb3d3c65?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3Z3H+3sjT99eH/30929T3Z2Hu3sfDTil/LlbPCV - 3Xvje3s7u/f37wevUD/tusEbr9fTaZ7P8pl+s8wE0sFk7/6nkwf59l6enW/v3z94uP3w4Hx/e+98 - mp1P7s3uTT+9/9FvnPyS/wdqNB+vuAAAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:11:32 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29962 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8b256b7e-2eaf-4589-98f4-2fcafb3d3c65?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8b256b7e-2eaf-4589-98f4-2fcafb3d3c65?monitor=true&api-version=2021-03-01 - response: - body: - string: '' - headers: - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:11:32 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29961 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8b256b7e-2eaf-4589-98f4-2fcafb3d3c65?monitor=true&api-version=2021-03-01 -- request: - body: null - headers: - Accept: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/reapply?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b6017f38-b777-44bb-8be8-d45dcbc78de1?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:11:33 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b6017f38-b777-44bb-8be8-d45dcbc78de1?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;236,Microsoft.Compute/UpdateVM30Min;1191 - x-ms-ratelimit-remaining-subscription-writes: '1198' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/reapply?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b6017f38-b777-44bb-8be8-d45dcbc78de1?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3Z3H927N97b3XnwcHf/k52dRzs7H434pXw5G35l - f3ywt7P76ad7wSvUT7tu8Mbr9XSa57N8pt8sM4E0+XRn98H5vYPtyYMHD7b39yeT7YNJfrA9278/ - m06mDw5m+e5Hv3HyS/4fTmZfh7gAAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:12:03 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29959 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/b6017f38-b777-44bb-8be8-d45dcbc78de1?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b6017f38-b777-44bb-8be8-d45dcbc78de1?monitor=true&api-version=2021-03-01 - response: - body: - string: '' - headers: - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:12:03 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29958 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/b6017f38-b777-44bb-8be8-d45dcbc78de1?monitor=true&api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/redeploy?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:12:04 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/UpdateVM3Min;236,Microsoft.Compute/UpdateVM30Min;1190 - x-ms-ratelimit-remaining-subscription-writes: '1198' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/redeploy?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b3Hu3sj+/d391/sPfwk52dRzs7H43MS+26wRtn - y5d1dVHnTaNfLTMBdTB7+GCW53vbn+7v5Nv7k52H25NPdw+2H9zbefjpdHJwfn5w8NFvnPyS/weY - 58NchgAAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:12:35 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14989,Microsoft.Compute/GetOperation30Min;29956 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b3Hu3sj+/d391/sPfwk52dRzs7H43MS+26wRtn - y5d1dVHnTaNfLTMBdTB7+GCW53vbn+7v5Nv7k52H25NPdw+2H9zbefjpdHJwfn5w8NFvnPyS/weY - 58NchgAAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:13:04 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29953 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b3Hu3sj+/d391/sPfwk52dRzs7H43MS+26wRtn - y5d1dVHnTaNfLTMBdTB7+GCW53vbn+7v5Nv7k52H25NPdw+2H9zbefjpdHJwfn5w8NFvnPyS/weY - 58NchgAAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:13:35 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29950 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b3Hu3sj+/d391/sPfwk52dRzs7H434pXw5G3jl - 3qP7D8YPd/d3H356ELxC/bTrBm+8Xk+neT7LZ/rNMhNIB7OHD2Z5vrf96f5Ovr0/2Xm4Pfl092D7 - wb2dh59OJwfn5wcHH/3GyS/5fwB+xwP1uAAAAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:14:04 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29947 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?monitor=true&api-version=2021-03-01 - response: - body: - string: '' - headers: - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:14:04 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29946 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/8d97dee2-640e-4b09-b618-73096cb8ff88?monitor=true&api-version=2021-03-01 -- request: - body: '{"properties": {"networkProfile": {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacexxx9a731234", - "properties": {"primary": true}}]}}}' - headers: - Accept: - - application/json - Content-Length: - - '318' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfLbJF/9Cj96LKo23VWLrLpvFjm7969e5g9uLe7d2//oxG3K2ZodbdZT5ppXazaolo2d3cmu+ef - 7j/Y3d6dnO9s789m2XaWT+9tTycP9x7sne88vP9w526dN9W6nuaf19V61dytL1bX2/ufPiir+5PF - vCqW2U9f/qC62FssLrMHq+x+W7xd/PTk3U9f7U2z++WDsl7fv36w+MFP/3R5ea94cP9B8Wn7trl/ - /6fbe+f36vvT1d1VXV0Ws7xu7n5RTOuqqc7b8Um1WK3b/K6O6gsZVWP+Hhxle71iatwISduX1TQD - KfBOnjXt2nxBSK3yui2o5aOUKU0fXi7OmIr3Z3ufTnfuT7bv5ffy7f0H96fb2f7sYPsgnx482NvL - aZT3BQ69NM/q2VVW5y/r6rwogZ2Co+8uF6+LH+Cjj1632XJGLX//p3u//+XeR9LilxgYTVvV2UUU - RLGgL17l53mdL6fBV/Tlaj0pi2ae1/S5o8l3i+Wsumpe5/UlfaN94PmoOic4aDvcpHm7RoO9nd1P - t59mbTbNl22nCb3SKE3LrM2bNvg2f5dN2590TXb37z28N97f39kb7+3u3N+5T/8eKAEcCejFqnla - NG/pFX+EVfNGp1xRDvoywrG4/skvqmaG1/2vp3VO+H3JwoBmz+pqcQZ6hq2YZS7Q4FWezb5bF23Y - YJEt6Z1ZHzv6TmfueDqt1svW4Gpn+/mr1z4oeuH/m3IK0jZ3PTK7MbkZpNHhO7D8509olLt7D4Lv - 8jL3Z+NpTtw1t5AcnI9mxHegNmTze+bTtEP5cg0oO/YtPJYhVBv09cjvDwz3fv+d89nu+d6nk4Pd - B/f270/OH+7v7e0ePJjt7N7/NH+wu9OZtC4jnS5W7XW3DffFbPSiWgYcRN9u4CH69n25iF75/zIf - ffDs+LRwfIOnw4E7e/fCr9vqSS6Ml4OA51nZ5GGLG9g07DCYSGXJXe97+vB2LHnv99//dJpN7s/u - 7++c39s/380OZjvT/N7s3mx/Mts92NsNOeBHLPnDZMlbzI5PC59DiC6A8LPMkubX78svBgEynzGf - YipDr18oa0Kvu9n8KJstiuVXTV4b1oWNX9PfXpsrscYn1fK8uFjXxsmyfVATJjq8gJ/84viCvAj6 - uq3X/tA+ypfZpMyP1221IAjTr1ak+dkj6zZcZe10/jpvW2JnfO/1Y779opoxshbak+svOzz6UdY0 - edMsCBnTmt2Bp/l5ti7bGEENJenlJieZa9H7977vPs3Ksro6fdfmSwz1S3IqqW9ifGoWDOKjOv9F - 66LOP18TMWlShDSvi4tlVmpbaWp6/GiZt1dV/Zbamgk0H53BJTsn14x6+d4vZrn7/4zYvZAh3O0N - 5W5hfvWk76MR2IiIKp76L6a/yCGurz96BIL9kl/yfUstaiYkJQ4hLUUuHM0uMxR9wDNLc/pL/h8F - /3tjVA0AAA== - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:14:07 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/PutVM3Min;744,Microsoft.Compute/PutVM30Min;3725 - x-ms-ratelimit-remaining-subscription-writes: '1198' - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UfLbJF/9Cj96LKo23VWLrLpvFjm7969e5g9uLe7d2//oxG3K2ZodbdZT5ppXazaolo2d3cmu+ef - 7j/Y3d6dnO9s789m2XaWT+9tTycP9x7sne88vP9w526dN9W6nuaf19V61dytL1bX2/ufPiir+5PF - vCqW2U9f/qC62FssLrMHq+x+W7xd/PTk3U9f7U2z++WDsl7fv36w+MFP/3R5ea94cP9B8Wn7trl/ - /6fbe+f36vvT1d1VXV0Ws7xu7n5RTOuqqc7b8Um1WK3b/K6O6gsZVWP+Hhxle71iatwISduX1TQD - KfBOnjXt2nxBSK3yui2o5aOUKU0fXi7OmIr3Z3ufTnfuT7bv5ffy7f0H96fb2f7sYPsgnx482NvL - aZT3BQ69NM/q2VVW5y/r6rwogZ2Co+8uF6+LH+Cjj1632XJGLX//p3u//+XeR9LilxgYTVvV2UUU - RLGgL17l53mdL6fBV/Tlaj0pi2ae1/S5o8l3i+Wsumpe5/UlfaN94PmoOic4aDvcpHm7RoO9nd1P - t59mbTbNl22nCb3SKE3LrM2bNvg2f5dN2590TXb37z28N97f39kb7+3u3N+5T/8eKAEcCejFqnla - NG/pFX+EVfNGp1xRDvoywrG4/skvqmaG1/2vp3VO+H3JwoBmz+pqcQZ6hq2YZS7Q4FWezb5bF23Y - YJEt6Z1ZHzv6TmfueDqt1svW4Gpn+/mr1z4oeuH/m3IK0jZ3PTK7MbkZpNHhO7D8509olLt7D4Lv - 8jL3Z+NpTtw1t5AcnI9mxHegNmTze+bTtEP5cg0oO/YtPJYhVBv09cjvDwz3fv+d89nu+d6nk4Pd - B/f270/OH+7v7e0ePJjt7N7/NH+wu9OZtC4jnS5W7XW3DffFbPSiWgYcRN9u4CH69n25iF75/zIf - ffDs+LRwfIOnw4E7e/fCr9vqSS6Ml4OA51nZ5GGLG9g07DCYSGXJXe97+vB2LHnv99//dJpN7s/u - 7++c39s/380OZjvT/N7s3mx/Mts92NsNOeBHLPnDZMlbzI5PC59DiC6A8LPMkubX78svBgEynzGf - YipDr18oa0Kvu9n8KJstiuVXTV4b1oWNX9PfXpsrscYn1fK8uFjXxsmyfVATJjq8gJ/84viCvAj6 - uq3X/tA+ypfZpMyP1221IAjTr1ak+dkj6zZcZe10/jpvW2JnfO/1Y779opoxshbak+svOzz6UdY0 - edMsCBnTmt2Bp/l5ti7bGEENJenlJieZa9H7977vPs3Ksro6fdfmSwz1S3IqqW9ifGoWDOKjOv9F - 66LOP18TMWlShDSvi4tlVmpbaWp6/GiZt1dV/Zbamgk0H53BJTsn14x6+d4vZrn7/4zYvZAh3O0N - 5W5hfvWk76MR2IiIKp76L6a/yCGurz96BIL9kl/yfUstaiYkJQ4hLUUuHM3u6/V0muczkiu0okn9 - Jf8P3EYnkVUNAAA= - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:14:37 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/LowCostGet3Min;3995,Microsoft.Compute/LowCostGet30Min;31930 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/deallocate?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a937a7be-48e2-4601-b5e6-1924c5ed992e?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:14:38 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a937a7be-48e2-4601-b5e6-1924c5ed992e?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/DeleteVM3Min;239,Microsoft.Compute/DeleteVM30Min;1198 - x-ms-ratelimit-remaining-subscription-writes: '1197' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234/deallocate?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a937a7be-48e2-4601-b5e6-1924c5ed992e?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b3H907GO/t7u4dPHzwyc7Oo52dj0bmpXbd4I2z - 5cu6uqjzptGvlpmAyh7ee5A9mOTb+wf53vb+pzu725P7+afbuw/39qf389nDh3v5R79x8kv+H2oo - 3IeGAAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:14:48 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29943 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/a937a7be-48e2-4601-b5e6-1924c5ed992e?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a937a7be-48e2-4601-b5e6-1924c5ed992e?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3b3H907GO/t7u4dPHzwyc7Oo52dj0b8Ur6cDbxy - /9Hug/GnD+/f3713P3iF+mnXDd54vZ5O83yWz/SbZSaQsof3HmQPJvn2/kG+t73/6c7u9uR+/un2 - 7sO9/en9fPbw4V7+0W+c/JL/B2rI7Cm4AAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:15:18 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29942 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/a937a7be-48e2-4601-b5e6-1924c5ed992e?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a937a7be-48e2-4601-b5e6-1924c5ed992e?monitor=true&api-version=2021-03-01 - response: - body: - string: '' - headers: - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:15:18 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29941 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/a937a7be-48e2-4601-b5e6-1924c5ed992e?monitor=true&api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncnotification: Enabled - azure-asyncoperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/306caaa4-c191-44a4-be3f-0c1525ad8f62?api-version=2021-03-01 - cache-control: no-cache - content-length: '0' - date: Tue, 25 May 2021 10:15:20 GMT - expires: '-1' - location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/306caaa4-c191-44a4-be3f-0c1525ad8f62?monitor=true&api-version=2021-03-01 - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/DeleteVM3Min;238,Microsoft.Compute/DeleteVM30Min;1197 - x-ms-ratelimit-remaining-subscription-deletes: '14997' - status: - code: 202 - message: Accepted - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rgpy-467lo5bmhoinajvzog2mmva7pa5tikmjbxjw2ca5l7lru5y7mzjjlv3i757i6tks55jt3f3r5cp/providers/Microsoft.Compute/virtualMachines/virtualmachinexxx9a731234?api-version=2021-03-01 -- request: - body: null - headers: - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/306caaa4-c191-44a4-be3f-0c1525ad8f62?api-version=2021-03-01 - response: - body: - string: !!binary | - H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl - VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk - 6UdNm9Xtm2KRf/Qo/WhvZ293e+f+9t79N7s7j3bvP9p9OL53f/fB/YP9T3Z2Hu3sfDTil/LlbNMr - Dw4e7t3buR+8Qv206wZvvF5Pp3k+y2f6zTITSPd2Pp1mWba/Pd19uLu9v0+/TfJ759s70937e/ez - 2cH5p3sf/cbJL/l/AAJOWim4AAAA - headers: - cache-control: no-cache - content-encoding: gzip - content-type: application/json; charset=utf-8 - date: Tue, 25 May 2021 10:15:31 GMT - expires: '-1' - pragma: no-cache - server: Microsoft-HTTPAPI/2.0 - strict-transport-security: max-age=31536000; includeSubDomains - transfer-encoding: chunked - vary: Accept-Encoding - x-content-type-options: nosniff - x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29939 - status: - code: 200 - message: OK - url: https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Compute/locations/eastus/operations/306caaa4-c191-44a4-be3f-0c1525ad8f62?api-version=2021-03-01 -version: 1 diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_dedicated_hosts.test_dedicated_hosts.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_dedicated_hosts.test_dedicated_hosts.yaml deleted file mode 100644 index 16678d42762c..000000000000 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_dedicated_hosts.test_dedicated_hosts.yaml +++ /dev/null @@ -1,675 +0,0 @@ -interactions: -- request: - body: '{"location": "eastus", "tags": {"department": "finance"}, "zones": ["1"], - "properties": {"platformFaultDomainCount": 3}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '120' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"hostgroup640e162b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RGPY-2DCIKZZ6JXXQTXBSHXZNNVAK7WGAA76BXRBVM2IKNNXXYUAWMNTF4FOCOEH2PXKVOVXVRULMYQM/providers/Microsoft.Compute/hostGroups/hostgroup640e162b\",\r\n - \ \"type\": \"Microsoft.Compute/hostGroups\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"department\": \"finance\"\r\n },\r\n \"zones\": [\r\n - \ \"1\"\r\n ],\r\n \"properties\": {\r\n \"platformFaultDomainCount\": - 3,\r\n \"supportAutomaticPlacement\": false\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '498' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:15:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutDeleteDedicatedHost3Min;119,Microsoft.Compute/PutDeleteDedicatedHost30Min;599 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: '{"location": "eastus", "tags": {"department": "HR"}, "sku": {"name": "DSv3-Type1"}, - "properties": {"platformFaultDomain": 1}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '125' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"hostname640e162b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b\",\r\n - \ \"type\": \"Microsoft.Compute/hostGroups/hosts\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"department\": \"HR\"\r\n },\r\n \"sku\": {\r\n \"name\": - \"DSv3-Type1\"\r\n },\r\n \"properties\": {\r\n \"platformFaultDomain\": - 1,\r\n \"autoReplaceOnFailure\": true,\r\n \"hostId\": \"e6c02e25-f363-41a9-83a1-19f7b1e1aa54\",\r\n - \ \"provisioningState\": \"Creating\"\r\n }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a4b25f4d-3a60-46ff-8fbf-8c208c0fe95d?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '618' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:15:37 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutDeleteDedicatedHost3Min;118,Microsoft.Compute/PutDeleteDedicatedHost30Min;598 - x-ms-ratelimit-remaining-subscription-writes: - - '1197' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a4b25f4d-3a60-46ff-8fbf-8c208c0fe95d?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:15:37.0235123+00:00\",\r\n \"endTime\": - \"2021-05-25T10:15:38.8829038+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"a4b25f4d-3a60-46ff-8fbf-8c208c0fe95d\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '184' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:16:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29937 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"hostname640e162b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b\",\r\n - \ \"type\": \"Microsoft.Compute/hostGroups/hosts\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"department\": \"HR\"\r\n },\r\n \"sku\": {\r\n \"name\": - \"DSv3-Type1\"\r\n },\r\n \"properties\": {\r\n \"platformFaultDomain\": - 1,\r\n \"autoReplaceOnFailure\": true,\r\n \"hostId\": \"e6c02e25-f363-41a9-83a1-19f7b1e1aa54\",\r\n - \ \"virtualMachines\": [],\r\n \"provisioningTime\": \"2021-05-25T10:15:38.7110374+00:00\",\r\n - \ \"provisioningState\": \"Succeeded\"\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '709' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:16:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetDedicatedHost3Min;248,Microsoft.Compute/GetDedicatedHost30Min;998 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"hostgroup640e162b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RGPY-2DCIKZZ6JXXQTXBSHXZNNVAK7WGAA76BXRBVM2IKNNXXYUAWMNTF4FOCOEH2PXKVOVXVRULMYQM/providers/Microsoft.Compute/hostGroups/hostgroup640e162b\",\r\n - \ \"type\": \"Microsoft.Compute/hostGroups\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"department\": \"finance\"\r\n },\r\n \"zones\": [\r\n - \ \"1\"\r\n ],\r\n \"properties\": {\r\n \"platformFaultDomainCount\": - 3,\r\n \"hosts\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RGPY-2DCIKZZ6JXXQTXBSHXZNNVAK7WGAA76BXRBVM2IKNNXXYUAWMNTF4FOCOEH2PXKVOVXVRULMYQM/providers/Microsoft.Compute/hostGroups/HOSTGROUP640E162B/hosts/HOSTNAME640E162B\"\r\n - \ }\r\n ],\r\n \"supportAutomaticPlacement\": false\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '785' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:16:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetDedicatedHost30Min;997 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"hostname640e162b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b\",\r\n - \ \"type\": \"Microsoft.Compute/hostGroups/hosts\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"department\": \"HR\"\r\n },\r\n \"sku\": {\r\n \"name\": - \"DSv3-Type1\"\r\n },\r\n \"properties\": {\r\n \"platformFaultDomain\": - 1,\r\n \"autoReplaceOnFailure\": true,\r\n \"hostId\": \"e6c02e25-f363-41a9-83a1-19f7b1e1aa54\",\r\n - \ \"virtualMachines\": [],\r\n \"provisioningTime\": \"2021-05-25T10:15:38.7110374+00:00\",\r\n - \ \"provisioningState\": \"Succeeded\"\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '709' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:16:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetDedicatedHost3Min;247,Microsoft.Compute/GetDedicatedHost30Min;996 - status: - code: 200 - message: OK -- request: - body: '{"tags": {"department": "finance"}, "properties": {"platformFaultDomainCount": - 3}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '82' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"hostgroup640e162b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RGPY-2DCIKZZ6JXXQTXBSHXZNNVAK7WGAA76BXRBVM2IKNNXXYUAWMNTF4FOCOEH2PXKVOVXVRULMYQM/providers/Microsoft.Compute/hostGroups/hostgroup640e162b\",\r\n - \ \"type\": \"Microsoft.Compute/hostGroups\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"department\": \"finance\"\r\n },\r\n \"zones\": [\r\n - \ \"1\"\r\n ],\r\n \"properties\": {\r\n \"platformFaultDomainCount\": - 3,\r\n \"supportAutomaticPlacement\": false\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '498' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:16:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutDeleteDedicatedHost3Min;117,Microsoft.Compute/PutDeleteDedicatedHost30Min;597 - x-ms-ratelimit-remaining-subscription-writes: - - '1196' - status: - code: 200 - message: OK -- request: - body: '{"tags": {"department": "HR"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '30' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"hostname640e162b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b\",\r\n - \ \"type\": \"Microsoft.Compute/hostGroups/hosts\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"department\": \"HR\"\r\n },\r\n \"sku\": {\r\n \"name\": - \"DSv3-Type1\"\r\n },\r\n \"properties\": {\r\n \"platformFaultDomain\": - 1,\r\n \"autoReplaceOnFailure\": true,\r\n \"hostId\": \"e6c02e25-f363-41a9-83a1-19f7b1e1aa54\",\r\n - \ \"provisioningTime\": \"2021-05-25T10:15:38.7110374+00:00\",\r\n \"provisioningState\": - \"Updating\"\r\n }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a9201799-5a63-47ec-a135-b2025ca7ca71?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '680' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:16:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutDeleteDedicatedHost3Min;116,Microsoft.Compute/PutDeleteDedicatedHost30Min;596 - x-ms-ratelimit-remaining-subscription-writes: - - '1195' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a9201799-5a63-47ec-a135-b2025ca7ca71?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:16:09.382705+00:00\",\r\n \"endTime\": - \"2021-05-25T10:16:09.3983501+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"a9201799-5a63-47ec-a135-b2025ca7ca71\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '183' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:16:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29936 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"hostname640e162b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b\",\r\n - \ \"type\": \"Microsoft.Compute/hostGroups/hosts\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"department\": \"HR\"\r\n },\r\n \"sku\": {\r\n \"name\": - \"DSv3-Type1\"\r\n },\r\n \"properties\": {\r\n \"platformFaultDomain\": - 1,\r\n \"autoReplaceOnFailure\": true,\r\n \"hostId\": \"e6c02e25-f363-41a9-83a1-19f7b1e1aa54\",\r\n - \ \"virtualMachines\": [],\r\n \"provisioningTime\": \"2021-05-25T10:15:38.7110374+00:00\",\r\n - \ \"provisioningState\": \"Succeeded\"\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '709' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:16:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetDedicatedHost3Min;246,Microsoft.Compute/GetDedicatedHost30Min;995 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b/hosts/hostname640e162b?api-version=2021-03-01 - response: - body: - string: '' - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36f609dd-c333-4a4f-ba0f-be312fe6f676?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '0' - date: - - Tue, 25 May 2021 10:16:40 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36f609dd-c333-4a4f-ba0f-be312fe6f676?monitor=true&api-version=2021-03-01 - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutDeleteDedicatedHost3Min;115,Microsoft.Compute/PutDeleteDedicatedHost30Min;595 - x-ms-ratelimit-remaining-subscription-deletes: - - '14998' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36f609dd-c333-4a4f-ba0f-be312fe6f676?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:16:40.4137568+00:00\",\r\n \"endTime\": - \"2021-05-25T10:16:40.616905+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"36f609dd-c333-4a4f-ba0f-be312fe6f676\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '183' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:17:10 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14989,Microsoft.Compute/GetOperation30Min;29934 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/hostGroups/hostgroup640e162b?api-version=2021-03-01 - response: - body: - string: '{"error":{"code":"CannotDeleteResource","message":"Can not delete resource - before nested resources are deleted."}}' - headers: - cache-control: - - no-cache - content-length: - - '114' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:17:10 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - gateway - status: - code: 409 - message: Conflict -version: 1 diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_disks.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_disks.yaml index 02feca2dd6f8..8390ac69ad4d 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_disks.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_disks.yaml @@ -14,8 +14,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175?api-version=2020-12-01 response: @@ -26,7 +26,7 @@ interactions: \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8d5bbbc1-929f-4f6c-b627-a73aa6d04f52?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7a31d437-ecec-477e-9fd5-a6570f41a935?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -34,11 +34,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:18:57 GMT + - Thu, 08 Jul 2021 03:42:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8d5bbbc1-929f-4f6c-b627-a73aa6d04f52?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7a31d437-ecec-477e-9fd5-a6570f41a935?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -51,7 +51,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateDisks3Min;997,Microsoft.Compute/CreateUpdateDisks30Min;7997 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 202 message: Accepted @@ -65,14 +65,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8d5bbbc1-929f-4f6c-b627-a73aa6d04f52?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7a31d437-ecec-477e-9fd5-a6570f41a935?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:18:57.487762+00:00\",\r\n \"endTime\": - \"2021-05-25T10:18:57.6439763+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:42:10.9649588+00:00\",\r\n \"endTime\": + \"2021-07-08T03:42:11.0586873+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disknamex77f61175\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n @@ -80,20 +80,20 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:18:57.487762+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:42:10.9649588+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"fc74351c-a998-48e6-9698-6183e9b63b04\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"938dfe1b-016a-44f6-b3a6-b44643d88edd\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}\r\n },\r\n \"name\": - \"8d5bbbc1-929f-4f6c-b627-a73aa6d04f52\"\r\n}" + \"7a31d437-ecec-477e-9fd5-a6570f41a935\"\r\n}" headers: cache-control: - no-cache content-length: - - '1114' + - '1116' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:18:59 GMT + - Thu, 08 Jul 2021 03:42:12 GMT expires: - '-1' pragma: @@ -124,8 +124,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175?api-version=2020-12-01 response: @@ -136,19 +136,19 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:18:57.487762+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:42:10.9649588+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"fc74351c-a998-48e6-9698-6183e9b63b04\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"938dfe1b-016a-44f6-b3a6-b44643d88edd\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '890' + - '891' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:18:59 GMT + - Thu, 08 Jul 2021 03:42:12 GMT expires: - '-1' pragma: @@ -165,7 +165,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14991,Microsoft.Compute/LowCostGet30Min;119960 + - Microsoft.Compute/LowCostGet3Min;14991,Microsoft.Compute/LowCostGet30Min;119991 status: code: 200 message: OK @@ -179,8 +179,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175?api-version=2020-12-01 response: @@ -191,19 +191,19 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:18:57.487762+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:42:10.9649588+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"fc74351c-a998-48e6-9698-6183e9b63b04\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"938dfe1b-016a-44f6-b3a6-b44643d88edd\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '890' + - '891' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:18:59 GMT + - Thu, 08 Jul 2021 03:42:12 GMT expires: - '-1' pragma: @@ -220,7 +220,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14990,Microsoft.Compute/LowCostGet30Min;119959 + - Microsoft.Compute/LowCostGet3Min;14990,Microsoft.Compute/LowCostGet30Min;119990 status: code: 200 message: OK @@ -238,8 +238,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175?api-version=2020-12-01 response: @@ -251,7 +251,7 @@ interactions: \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/212c2b53-96bb-4cf6-9d23-8044120d3e00?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9811cbc2-d6ec-4241-b6d9-70f46cae9322?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -259,11 +259,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:18:59 GMT + - Thu, 08 Jul 2021 03:42:13 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/212c2b53-96bb-4cf6-9d23-8044120d3e00?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9811cbc2-d6ec-4241-b6d9-70f46cae9322?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -276,7 +276,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateDisks3Min;996,Microsoft.Compute/CreateUpdateDisks30Min;7996 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1197' status: code: 202 message: Accepted @@ -290,14 +290,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/212c2b53-96bb-4cf6-9d23-8044120d3e00?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9811cbc2-d6ec-4241-b6d9-70f46cae9322?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:19:00.2377654+00:00\",\r\n \"endTime\": - \"2021-05-25T10:19:00.3940186+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:42:13.4962467+00:00\",\r\n \"endTime\": + \"2021-07-08T03:42:13.5899538+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disknamex77f61175\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n @@ -305,20 +305,20 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:18:57.487762+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:42:10.9649588+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"fc74351c-a998-48e6-9698-6183e9b63b04\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"938dfe1b-016a-44f6-b3a6-b44643d88edd\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}\r\n },\r\n \"name\": - \"212c2b53-96bb-4cf6-9d23-8044120d3e00\"\r\n}" + \"9811cbc2-d6ec-4241-b6d9-70f46cae9322\"\r\n}" headers: cache-control: - no-cache content-length: - - '1115' + - '1116' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:19:01 GMT + - Thu, 08 Jul 2021 03:42:15 GMT expires: - '-1' pragma: @@ -349,8 +349,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175?api-version=2020-12-01 response: @@ -361,19 +361,19 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:18:57.487762+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:42:10.9649588+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"fc74351c-a998-48e6-9698-6183e9b63b04\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"938dfe1b-016a-44f6-b3a6-b44643d88edd\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '890' + - '891' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:19:01 GMT + - Thu, 08 Jul 2021 03:42:15 GMT expires: - '-1' pragma: @@ -390,7 +390,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14988,Microsoft.Compute/LowCostGet30Min;119957 + - Microsoft.Compute/LowCostGet3Min;14988,Microsoft.Compute/LowCostGet30Min;119988 status: code: 200 message: OK @@ -408,8 +408,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175/beginGetAccess?api-version=2020-12-01 response: @@ -417,17 +417,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/0e374b3e-a457-4491-af57-028035fdbe0e?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8124db2e-f6f5-4681-82fa-cf59ad05bb2a?api-version=2020-12-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:19:02 GMT + - Thu, 08 Jul 2021 03:42:15 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/0e374b3e-a457-4491-af57-028035fdbe0e?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8124db2e-f6f5-4681-82fa-cf59ad05bb2a?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -440,7 +440,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostDiskHydrate3Min;997,Microsoft.Compute/HighCostDiskHydrate30Min;7997 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 202 message: Accepted @@ -454,25 +454,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/0e374b3e-a457-4491-af57-028035fdbe0e?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8124db2e-f6f5-4681-82fa-cf59ad05bb2a?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:19:02.6128002+00:00\",\r\n \"endTime\": - \"2021-05-25T10:19:02.8784203+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:42:15.9181187+00:00\",\r\n \"endTime\": + \"2021-07-08T03:42:16.2462513+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"accessSAS\": \"FakeUrl\"\r\n}\r\n - \ },\r\n \"name\": \"0e374b3e-a457-4491-af57-028035fdbe0e\"\r\n}" + \ },\r\n \"name\": \"8124db2e-f6f5-4681-82fa-cf59ad05bb2a\"\r\n}" headers: cache-control: - no-cache content-length: - - '426' + - '428' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:19:32 GMT + - Thu, 08 Jul 2021 03:42:45 GMT expires: - '-1' pragma: @@ -503,10 +503,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/0e374b3e-a457-4491-af57-028035fdbe0e?monitor=true&api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8124db2e-f6f5-4681-82fa-cf59ad05bb2a?monitor=true&api-version=2020-12-01 response: body: string: "{\r\n \"accessSAS\": \"FakeUrl\"\r\n}" @@ -514,11 +514,11 @@ interactions: cache-control: - no-cache content-length: - - '201' + - '203' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:19:32 GMT + - Thu, 08 Jul 2021 03:42:45 GMT expires: - '-1' pragma: @@ -551,8 +551,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175/endGetAccess?api-version=2020-12-01 response: @@ -560,17 +560,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/90a959a0-018e-45ac-a518-d21824171433?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/fd469f07-805d-4606-a5eb-29e432324cb1?api-version=2020-12-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:19:33 GMT + - Thu, 08 Jul 2021 03:42:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/90a959a0-018e-45ac-a518-d21824171433?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/fd469f07-805d-4606-a5eb-29e432324cb1?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -583,7 +583,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostDiskHydrate3Min;996,Microsoft.Compute/HighCostDiskHydrate30Min;7996 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' status: code: 202 message: Accepted @@ -597,15 +597,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/90a959a0-018e-45ac-a518-d21824171433?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/fd469f07-805d-4606-a5eb-29e432324cb1?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:19:33.2224973+00:00\",\r\n \"endTime\": - \"2021-05-25T10:19:33.3787464+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"90a959a0-018e-45ac-a518-d21824171433\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:42:46.3558276+00:00\",\r\n \"endTime\": + \"2021-07-08T03:42:46.4964673+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"fd469f07-805d-4606-a5eb-29e432324cb1\"\r\n}" headers: cache-control: - no-cache @@ -614,7 +614,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:02 GMT + - Thu, 08 Jul 2021 03:43:16 GMT expires: - '-1' pragma: @@ -631,7 +631,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49984,Microsoft.Compute/GetOperation30Min;399981 + - Microsoft.Compute/GetOperation3Min;49981,Microsoft.Compute/GetOperation30Min;399981 status: code: 200 message: OK @@ -645,10 +645,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/90a959a0-018e-45ac-a518-d21824171433?monitor=true&api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/fd469f07-805d-4606-a5eb-29e432324cb1?monitor=true&api-version=2020-12-01 response: body: string: '' @@ -658,7 +658,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:20:02 GMT + - Thu, 08 Jul 2021 03:43:16 GMT expires: - '-1' pragma: @@ -671,7 +671,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49983,Microsoft.Compute/GetOperation30Min;399980 + - Microsoft.Compute/GetOperation3Min;49980,Microsoft.Compute/GetOperation30Min;399980 status: code: 200 message: OK @@ -687,8 +687,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex77f61175?api-version=2020-12-01 response: @@ -696,17 +696,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/24b830d6-9653-4aaf-b87f-1ada893af083?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/429d4603-af17-4271-b8be-2eb9e6db9982?api-version=2020-12-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:20:03 GMT + - Thu, 08 Jul 2021 03:43:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/24b830d6-9653-4aaf-b87f-1ada893af083?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/429d4603-af17-4271-b8be-2eb9e6db9982?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -733,15 +733,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/24b830d6-9653-4aaf-b87f-1ada893af083?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/429d4603-af17-4271-b8be-2eb9e6db9982?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:20:03.9573692+00:00\",\r\n \"endTime\": - \"2021-05-25T10:20:05.2541357+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"24b830d6-9653-4aaf-b87f-1ada893af083\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:43:17.0748984+00:00\",\r\n \"endTime\": + \"2021-07-08T03:43:17.3247422+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"429d4603-af17-4271-b8be-2eb9e6db9982\"\r\n}" headers: cache-control: - no-cache @@ -750,7 +750,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:34 GMT + - Thu, 08 Jul 2021 03:43:47 GMT expires: - '-1' pragma: @@ -767,7 +767,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49984,Microsoft.Compute/GetOperation30Min;399978 + - Microsoft.Compute/GetOperation3Min;49982,Microsoft.Compute/GetOperation30Min;399978 status: code: 200 message: OK diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_disks_multi.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_disks_multi.yaml index ed3d28752283..0beb9152fd05 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_disks_multi.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_disks_multi.yaml @@ -14,8 +14,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff?api-version=2019-03-01 response: @@ -26,7 +26,7 @@ interactions: \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/c791e18f-170a-4c37-bd74-c8866086cebc?api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/85c3f2c9-adb5-4e3e-8e76-2706fc47af91?api-version=2019-03-01 cache-control: - no-cache content-length: @@ -34,11 +34,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:14 GMT + - Thu, 08 Jul 2021 03:40:29 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/c791e18f-170a-4c37-bd74-c8866086cebc?monitor=true&api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/85c3f2c9-adb5-4e3e-8e76-2706fc47af91?monitor=true&api-version=2019-03-01 pragma: - no-cache server: @@ -51,7 +51,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateDisks3Min;999,Microsoft.Compute/CreateUpdateDisks30Min;7999 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 202 message: Accepted @@ -65,33 +65,33 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/c791e18f-170a-4c37-bd74-c8866086cebc?api-version=2019-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/85c3f2c9-adb5-4e3e-8e76-2706fc47af91?api-version=2019-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:17:15.18956+00:00\",\r\n \"endTime\": - \"2021-05-25T10:17:15.3301618+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:40:30.322766+00:00\",\r\n \"endTime\": + \"2021-07-08T03:40:30.4321271+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disknamexe97813ff\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": - 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-05-25T10:17:15.18956+00:00\",\r\n + 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-07-08T03:40:30.3383879+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"9ba8aa8e-0641-4f0d-9e95-0182a02d8601\"\r\n - \ }\r\n}\r\n },\r\n \"name\": \"c791e18f-170a-4c37-bd74-c8866086cebc\"\r\n}" + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"06a03c7e-54a5-4352-a4b7-a1b6883e60cc\"\r\n + \ }\r\n}\r\n },\r\n \"name\": \"85c3f2c9-adb5-4e3e-8e76-2706fc47af91\"\r\n}" headers: cache-control: - no-cache content-length: - - '994' + - '997' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:16 GMT + - Thu, 08 Jul 2021 03:40:31 GMT expires: - '-1' pragma: @@ -122,8 +122,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff?api-version=2019-03-01 response: @@ -133,19 +133,19 @@ interactions: \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": - 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-05-25T10:17:15.18956+00:00\",\r\n + 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-07-08T03:40:30.3383879+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"9ba8aa8e-0641-4f0d-9e95-0182a02d8601\"\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"06a03c7e-54a5-4352-a4b7-a1b6883e60cc\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '771' + - '773' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:16 GMT + - Thu, 08 Jul 2021 03:40:31 GMT expires: - '-1' pragma: @@ -162,7 +162,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14998,Microsoft.Compute/LowCostGet30Min;119968 + - Microsoft.Compute/LowCostGet3Min;14999,Microsoft.Compute/LowCostGet30Min;119999 status: code: 200 message: OK @@ -176,8 +176,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff?api-version=2019-03-01 response: @@ -187,19 +187,19 @@ interactions: \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": - 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-05-25T10:17:15.18956+00:00\",\r\n + 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-07-08T03:40:30.3383879+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"9ba8aa8e-0641-4f0d-9e95-0182a02d8601\"\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"06a03c7e-54a5-4352-a4b7-a1b6883e60cc\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '771' + - '773' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:16 GMT + - Thu, 08 Jul 2021 03:40:31 GMT expires: - '-1' pragma: @@ -216,7 +216,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14997,Microsoft.Compute/LowCostGet30Min;119967 + - Microsoft.Compute/LowCostGet3Min;14998,Microsoft.Compute/LowCostGet30Min;119998 status: code: 200 message: OK @@ -234,8 +234,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff?api-version=2019-03-01 response: @@ -247,7 +247,7 @@ interactions: \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/b680e85d-4db2-4332-9af8-ba8d685ff4cb?api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/37c7e62c-d5ca-49bb-b1f1-c9a4f71890aa?api-version=2019-03-01 cache-control: - no-cache content-length: @@ -255,11 +255,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:17 GMT + - Thu, 08 Jul 2021 03:40:32 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/b680e85d-4db2-4332-9af8-ba8d685ff4cb?monitor=true&api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/37c7e62c-d5ca-49bb-b1f1-c9a4f71890aa?monitor=true&api-version=2019-03-01 pragma: - no-cache server: @@ -272,7 +272,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateDisks3Min;998,Microsoft.Compute/CreateUpdateDisks30Min;7998 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 202 message: Accepted @@ -286,33 +286,33 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/b680e85d-4db2-4332-9af8-ba8d685ff4cb?api-version=2019-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/37c7e62c-d5ca-49bb-b1f1-c9a4f71890aa?api-version=2019-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:17:17.8145817+00:00\",\r\n \"endTime\": - \"2021-05-25T10:17:17.9552113+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:40:32.8540535+00:00\",\r\n \"endTime\": + \"2021-07-08T03:40:32.9633836+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disknamexe97813ff\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": - 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-05-25T10:17:15.18956+00:00\",\r\n + 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-07-08T03:40:30.3383879+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"9ba8aa8e-0641-4f0d-9e95-0182a02d8601\"\r\n - \ }\r\n}\r\n },\r\n \"name\": \"b680e85d-4db2-4332-9af8-ba8d685ff4cb\"\r\n}" + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"06a03c7e-54a5-4352-a4b7-a1b6883e60cc\"\r\n + \ }\r\n}\r\n },\r\n \"name\": \"37c7e62c-d5ca-49bb-b1f1-c9a4f71890aa\"\r\n}" headers: cache-control: - no-cache content-length: - - '996' + - '998' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:19 GMT + - Thu, 08 Jul 2021 03:40:34 GMT expires: - '-1' pragma: @@ -343,8 +343,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff?api-version=2019-03-01 response: @@ -354,19 +354,19 @@ interactions: \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": - 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-05-25T10:17:15.18956+00:00\",\r\n + 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"timeCreated\": \"2021-07-08T03:40:30.3383879+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"9ba8aa8e-0641-4f0d-9e95-0182a02d8601\"\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"06a03c7e-54a5-4352-a4b7-a1b6883e60cc\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '771' + - '773' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:19 GMT + - Thu, 08 Jul 2021 03:40:34 GMT expires: - '-1' pragma: @@ -383,7 +383,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14995,Microsoft.Compute/LowCostGet30Min;119965 + - Microsoft.Compute/LowCostGet3Min;14996,Microsoft.Compute/LowCostGet30Min;119996 status: code: 200 message: OK @@ -401,8 +401,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff/beginGetAccess?api-version=2019-03-01 response: @@ -410,17 +410,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/05eb8b8c-dfef-4e04-8266-28624d387da8?api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/edd296c6-d623-4050-8871-066f61117c06?api-version=2019-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:17:19 GMT + - Thu, 08 Jul 2021 03:40:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/05eb8b8c-dfef-4e04-8266-28624d387da8?monitor=true&api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/edd296c6-d623-4050-8871-066f61117c06?monitor=true&api-version=2019-03-01 pragma: - no-cache server: @@ -433,7 +433,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostDiskHydrate3Min;999,Microsoft.Compute/HighCostDiskHydrate30Min;7999 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 202 message: Accepted @@ -447,16 +447,16 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/05eb8b8c-dfef-4e04-8266-28624d387da8?api-version=2019-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/edd296c6-d623-4050-8871-066f61117c06?api-version=2019-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:17:20.3771203+00:00\",\r\n \"endTime\": - \"2021-05-25T10:17:20.6583664+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:40:35.2290864+00:00\",\r\n \"endTime\": + \"2021-07-08T03:40:35.557156+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"accessSAS\": \"FakeUrl\"\r\n}\r\n - \ },\r\n \"name\": \"05eb8b8c-dfef-4e04-8266-28624d387da8\"\r\n}" + \ },\r\n \"name\": \"edd296c6-d623-4050-8871-066f61117c06\"\r\n}" headers: cache-control: - no-cache @@ -465,7 +465,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:50 GMT + - Thu, 08 Jul 2021 03:41:05 GMT expires: - '-1' pragma: @@ -496,10 +496,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/05eb8b8c-dfef-4e04-8266-28624d387da8?monitor=true&api-version=2019-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/edd296c6-d623-4050-8871-066f61117c06?monitor=true&api-version=2019-03-01 response: body: string: "{\r\n \"accessSAS\": \"FakeUrl\"\r\n}" @@ -507,11 +507,11 @@ interactions: cache-control: - no-cache content-length: - - '203' + - '204' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:17:50 GMT + - Thu, 08 Jul 2021 03:41:05 GMT expires: - '-1' pragma: @@ -544,8 +544,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff/endGetAccess?api-version=2019-03-01 response: @@ -553,17 +553,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/46ff196c-c8e4-49ab-bb09-4f3b5617cff3?api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/d914728f-94ad-4df7-b503-0ab9b2df9cda?api-version=2019-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:17:50 GMT + - Thu, 08 Jul 2021 03:41:05 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/46ff196c-c8e4-49ab-bb09-4f3b5617cff3?monitor=true&api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/d914728f-94ad-4df7-b503-0ab9b2df9cda?monitor=true&api-version=2019-03-01 pragma: - no-cache server: @@ -576,7 +576,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostDiskHydrate3Min;998,Microsoft.Compute/HighCostDiskHydrate30Min;7998 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 202 message: Accepted @@ -590,15 +590,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/46ff196c-c8e4-49ab-bb09-4f3b5617cff3?api-version=2019-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/d914728f-94ad-4df7-b503-0ab9b2df9cda?api-version=2019-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:17:51.1274591+00:00\",\r\n \"endTime\": - \"2021-05-25T10:17:51.2993217+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"46ff196c-c8e4-49ab-bb09-4f3b5617cff3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:41:05.8698659+00:00\",\r\n \"endTime\": + \"2021-07-08T03:41:05.9948295+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"d914728f-94ad-4df7-b503-0ab9b2df9cda\"\r\n}" headers: cache-control: - no-cache @@ -607,7 +607,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:18:21 GMT + - Thu, 08 Jul 2021 03:41:35 GMT expires: - '-1' pragma: @@ -638,10 +638,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/46ff196c-c8e4-49ab-bb09-4f3b5617cff3?monitor=true&api-version=2019-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/d914728f-94ad-4df7-b503-0ab9b2df9cda?monitor=true&api-version=2019-03-01 response: body: string: '' @@ -651,7 +651,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:18:21 GMT + - Thu, 08 Jul 2021 03:41:35 GMT expires: - '-1' pragma: @@ -680,8 +680,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamexe97813ff?api-version=2019-03-01 response: @@ -689,17 +689,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7d7737c2-31e0-42bb-870c-0655e9de95ff?api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9f14bc4e-6071-4d96-93ac-4368a2f7eb71?api-version=2019-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:18:22 GMT + - Thu, 08 Jul 2021 03:41:36 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7d7737c2-31e0-42bb-870c-0655e9de95ff?monitor=true&api-version=2019-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9f14bc4e-6071-4d96-93ac-4368a2f7eb71?monitor=true&api-version=2019-03-01 pragma: - no-cache server: @@ -712,7 +712,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteDisks3Min;2999,Microsoft.Compute/DeleteDisks30Min;23999 x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -726,15 +726,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7d7737c2-31e0-42bb-870c-0655e9de95ff?api-version=2019-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9f14bc4e-6071-4d96-93ac-4368a2f7eb71?api-version=2019-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:18:22.0184492+00:00\",\r\n \"endTime\": - \"2021-05-25T10:18:22.3465814+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"7d7737c2-31e0-42bb-870c-0655e9de95ff\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:41:36.5584261+00:00\",\r\n \"endTime\": + \"2021-07-08T03:41:37.3240694+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"9f14bc4e-6071-4d96-93ac-4368a2f7eb71\"\r\n}" headers: cache-control: - no-cache @@ -743,7 +743,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:18:52 GMT + - Thu, 08 Jul 2021 03:42:06 GMT expires: - '-1' pragma: diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_shot.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_shot.yaml index 9d83353fc799..c3c99167588c 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_shot.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_disks.test_compute_shot.yaml @@ -14,8 +14,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115?api-version=2020-12-01 response: @@ -26,7 +26,7 @@ interactions: \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/cbea8600-a1e2-4217-950a-adcaf82bb2f8?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/929e081e-f95f-467c-a9cb-a966c0c39cfe?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -34,11 +34,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:39 GMT + - Thu, 08 Jul 2021 03:43:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/cbea8600-a1e2-4217-950a-adcaf82bb2f8?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/929e081e-f95f-467c-a9cb-a966c0c39cfe?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -51,7 +51,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateDisks3Min;997,Microsoft.Compute/CreateUpdateDisks30Min;7995 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 202 message: Accepted @@ -65,14 +65,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/cbea8600-a1e2-4217-950a-adcaf82bb2f8?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/929e081e-f95f-467c-a9cb-a966c0c39cfe?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:20:38.9732195+00:00\",\r\n \"endTime\": - \"2021-05-25T10:20:39.1138915+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:43:51.9344633+00:00\",\r\n \"endTime\": + \"2021-07-08T03:43:52.0281948+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disknamex66bb1115\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n @@ -80,11 +80,11 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:20:38.9732195+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:43:51.9344633+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}\r\n },\r\n \"name\": - \"cbea8600-a1e2-4217-950a-adcaf82bb2f8\"\r\n}" + \"929e081e-f95f-467c-a9cb-a966c0c39cfe\"\r\n}" headers: cache-control: - no-cache @@ -93,7 +93,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:41 GMT + - Thu, 08 Jul 2021 03:43:53 GMT expires: - '-1' pragma: @@ -110,7 +110,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49983,Microsoft.Compute/GetOperation30Min;399977 + - Microsoft.Compute/GetOperation3Min;49981,Microsoft.Compute/GetOperation30Min;399977 status: code: 200 message: OK @@ -124,8 +124,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115?api-version=2020-12-01 response: @@ -136,9 +136,9 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:20:38.9732195+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:43:51.9344633+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: @@ -148,7 +148,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:41 GMT + - Thu, 08 Jul 2021 03:43:53 GMT expires: - '-1' pragma: @@ -165,7 +165,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14989,Microsoft.Compute/LowCostGet30Min;119961 + - Microsoft.Compute/LowCostGet3Min;14989,Microsoft.Compute/LowCostGet30Min;119983 status: code: 200 message: OK @@ -184,20 +184,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115?api-version=2020-12-01 response: body: string: "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceUri\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115\",\r\n - \ \"sourceUniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\"\r\n },\r\n + \ \"sourceUniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\"\r\n },\r\n \ \"provisioningState\": \"Updating\",\r\n \"isArmResource\": true\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/f68cbbfc-aed9-4f99-937b-f7e4f2b3a009?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/47ff2aaf-68b2-4798-b5c1-514b81551852?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -205,11 +205,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:42 GMT + - Thu, 08 Jul 2021 03:43:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/f68cbbfc-aed9-4f99-937b-f7e4f2b3a009?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/47ff2aaf-68b2-4798-b5c1-514b81551852?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -222,7 +222,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostSnapshotCreateHydrate3Min;999,Microsoft.Compute/HighCostSnapshotCreateHydrate30Min;7999 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' status: code: 202 message: Accepted @@ -236,27 +236,27 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/f68cbbfc-aed9-4f99-937b-f7e4f2b3a009?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/47ff2aaf-68b2-4798-b5c1-514b81551852?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:20:42.8951282+00:00\",\r\n \"endTime\": - \"2021-05-25T10:20:43.8326434+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:43:55.5594856+00:00\",\r\n \"endTime\": + \"2021-07-08T03:43:56.4501157+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"snapshotx66bb1115\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115\",\r\n \ \"type\": \"Microsoft.Compute/snapshots\",\r\n \"location\": \"eastus\",\r\n \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115\",\r\n - \ \"sourceUniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\"\r\n },\r\n + \ \"sourceUniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\"\r\n },\r\n \ \"diskSizeGB\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n - \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-05-25T10:20:42.8951282+00:00\",\r\n + \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-07-08T03:43:55.5751113+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"e775f0d2-1c1d-434c-9d88-d847241ec4e6\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"a1d4dafc-9d05-47c1-ace4-9a8637c7afad\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}\r\n },\r\n \"name\": - \"f68cbbfc-aed9-4f99-937b-f7e4f2b3a009\"\r\n}" + \"47ff2aaf-68b2-4798-b5c1-514b81551852\"\r\n}" headers: cache-control: - no-cache @@ -265,7 +265,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:44 GMT + - Thu, 08 Jul 2021 03:43:57 GMT expires: - '-1' pragma: @@ -282,7 +282,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49981,Microsoft.Compute/GetOperation30Min;399975 + - Microsoft.Compute/GetOperation3Min;49979,Microsoft.Compute/GetOperation30Min;399975 status: code: 200 message: OK @@ -296,8 +296,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115?api-version=2020-12-01 response: @@ -307,11 +307,11 @@ interactions: \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115\",\r\n - \ \"sourceUniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\"\r\n },\r\n + \ \"sourceUniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\"\r\n },\r\n \ \"diskSizeGB\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n - \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-05-25T10:20:42.8951282+00:00\",\r\n + \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-07-08T03:43:55.5751113+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"e775f0d2-1c1d-434c-9d88-d847241ec4e6\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"a1d4dafc-9d05-47c1-ace4-9a8637c7afad\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: @@ -321,7 +321,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:44 GMT + - Thu, 08 Jul 2021 03:43:57 GMT expires: - '-1' pragma: @@ -338,7 +338,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14987,Microsoft.Compute/LowCostGet30Min;119959 + - Microsoft.Compute/LowCostGet3Min;14987,Microsoft.Compute/LowCostGet30Min;119981 status: code: 200 message: OK @@ -359,8 +359,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/images/imagex66bb1115?api-version=2021-03-01 response: @@ -378,7 +378,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/459d115e-889d-48bc-959d-8126aae7cdc3?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/2e4fc592-e6bc-40a2-aaeb-a56da60d0db9?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -386,7 +386,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:20:46 GMT + - Thu, 08 Jul 2021 03:43:58 GMT expires: - '-1' pragma: @@ -401,7 +401,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateImages3Min;39,Microsoft.Compute/CreateImages30Min;199 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1195' status: code: 201 message: Created @@ -415,15 +415,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/459d115e-889d-48bc-959d-8126aae7cdc3?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/2e4fc592-e6bc-40a2-aaeb-a56da60d0db9?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:20:46.0233086+00:00\",\r\n \"endTime\": - \"2021-05-25T10:20:51.163943+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"459d115e-889d-48bc-959d-8126aae7cdc3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:43:58.5916165+00:00\",\r\n \"endTime\": + \"2021-07-08T03:44:03.935409+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"2e4fc592-e6bc-40a2-aaeb-a56da60d0db9\"\r\n}" headers: cache-control: - no-cache @@ -432,7 +432,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:17 GMT + - Thu, 08 Jul 2021 03:44:28 GMT expires: - '-1' pragma: @@ -449,7 +449,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14997,Microsoft.Compute/GetOperation30Min;29930 + - Microsoft.Compute/GetOperation3Min;14998,Microsoft.Compute/GetOperation30Min;29994 status: code: 200 message: OK @@ -463,8 +463,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/images/imagex66bb1115?api-version=2021-03-01 response: @@ -487,7 +487,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:17 GMT + - Thu, 08 Jul 2021 03:44:28 GMT expires: - '-1' pragma: @@ -518,8 +518,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115?api-version=2020-12-01 response: @@ -529,11 +529,11 @@ interactions: \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115\",\r\n - \ \"sourceUniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\"\r\n },\r\n + \ \"sourceUniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\"\r\n },\r\n \ \"diskSizeGB\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n - \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-05-25T10:20:42.8951282+00:00\",\r\n + \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-07-08T03:43:55.5751113+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"e775f0d2-1c1d-434c-9d88-d847241ec4e6\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"a1d4dafc-9d05-47c1-ace4-9a8637c7afad\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: @@ -543,7 +543,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:17 GMT + - Thu, 08 Jul 2021 03:44:28 GMT expires: - '-1' pragma: @@ -560,7 +560,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14983,Microsoft.Compute/LowCostGet30Min;119954 + - Microsoft.Compute/LowCostGet3Min;14982,Microsoft.Compute/LowCostGet30Min;119976 status: code: 200 message: OK @@ -574,8 +574,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/images/imagex66bb1115?api-version=2021-03-01 response: @@ -598,7 +598,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:17 GMT + - Thu, 08 Jul 2021 03:44:28 GMT expires: - '-1' pragma: @@ -633,8 +633,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/images/imagex66bb1115?api-version=2021-03-01 response: @@ -653,7 +653,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/67ffe060-eacf-4032-b1f6-9cd39153c83e?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/70e068ff-667a-41a1-b753-b42344e0e6a8?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -661,7 +661,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:18 GMT + - Thu, 08 Jul 2021 03:44:30 GMT expires: - '-1' pragma: @@ -680,7 +680,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateImages3Min;38,Microsoft.Compute/CreateImages30Min;198 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1194' status: code: 200 message: OK @@ -694,15 +694,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/67ffe060-eacf-4032-b1f6-9cd39153c83e?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/70e068ff-667a-41a1-b753-b42344e0e6a8?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:21:18.1014828+00:00\",\r\n \"endTime\": - \"2021-05-25T10:21:23.2108661+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"67ffe060-eacf-4032-b1f6-9cd39153c83e\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:44:29.8730531+00:00\",\r\n \"endTime\": + \"2021-07-08T03:44:34.9512104+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"70e068ff-667a-41a1-b753-b42344e0e6a8\"\r\n}" headers: cache-control: - no-cache @@ -711,7 +711,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:48 GMT + - Thu, 08 Jul 2021 03:45:00 GMT expires: - '-1' pragma: @@ -728,7 +728,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29928 + - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29992 status: code: 200 message: OK @@ -742,8 +742,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/images/imagex66bb1115?api-version=2021-03-01 response: @@ -766,7 +766,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:48 GMT + - Thu, 08 Jul 2021 03:45:00 GMT expires: - '-1' pragma: @@ -801,8 +801,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115?api-version=2020-12-01 response: @@ -810,12 +810,12 @@ interactions: string: "{\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \ \"tier\": \"Standard\"\r\n },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115\",\r\n - \ \"sourceUniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\"\r\n },\r\n + \ \"sourceUniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\"\r\n },\r\n \ \"diskSizeGB\": 200,\r\n \"provisioningState\": \"Updating\",\r\n \"isArmResource\": true,\r\n \"faultDomain\": 0\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/59314633-6560-4552-9da7-d8b9d3741713?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/3e17f2f6-0067-4443-9fae-904b77f7bcc1?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -823,11 +823,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:48 GMT + - Thu, 08 Jul 2021 03:45:00 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/59314633-6560-4552-9da7-d8b9d3741713?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/3e17f2f6-0067-4443-9fae-904b77f7bcc1?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -838,9 +838,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/CreateUpdateDisks3Min;997,Microsoft.Compute/CreateUpdateDisks30Min;7994 + - Microsoft.Compute/CreateUpdateDisks3Min;998,Microsoft.Compute/CreateUpdateDisks30Min;7994 x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1193' status: code: 202 message: Accepted @@ -854,36 +854,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/59314633-6560-4552-9da7-d8b9d3741713?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/3e17f2f6-0067-4443-9fae-904b77f7bcc1?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:21:49.1458854+00:00\",\r\n \"endTime\": - \"2021-05-25T10:21:49.2865526+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:45:00.9513731+00:00\",\r\n \"endTime\": + \"2021-07-08T03:45:01.076368+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"snapshotx66bb1115\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115\",\r\n \ \"type\": \"Microsoft.Compute/snapshots\",\r\n \"location\": \"eastus\",\r\n \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115\",\r\n - \ \"sourceUniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\"\r\n },\r\n + \ \"sourceUniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\"\r\n },\r\n \ \"diskSizeGB\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n - \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-05-25T10:20:42.8951282+00:00\",\r\n + \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-07-08T03:43:55.5751113+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"e775f0d2-1c1d-434c-9d88-d847241ec4e6\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"a1d4dafc-9d05-47c1-ace4-9a8637c7afad\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}\r\n },\r\n \"name\": - \"59314633-6560-4552-9da7-d8b9d3741713\"\r\n}" + \"3e17f2f6-0067-4443-9fae-904b77f7bcc1\"\r\n}" headers: cache-control: - no-cache content-length: - - '1384' + - '1383' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:50 GMT + - Thu, 08 Jul 2021 03:45:02 GMT expires: - '-1' pragma: @@ -900,7 +900,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49981,Microsoft.Compute/GetOperation30Min;399969 + - Microsoft.Compute/GetOperation3Min;49983,Microsoft.Compute/GetOperation30Min;399969 status: code: 200 message: OK @@ -914,8 +914,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115?api-version=2020-12-01 response: @@ -925,11 +925,11 @@ interactions: \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/disknamex66bb1115\",\r\n - \ \"sourceUniqueId\": \"a0832e40-13b7-47a8-bda6-017ef2b61b21\"\r\n },\r\n + \ \"sourceUniqueId\": \"84fd3b54-9f34-4cd1-80ed-23b395d6bed8\"\r\n },\r\n \ \"diskSizeGB\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n - \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-05-25T10:20:42.8951282+00:00\",\r\n + \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-07-08T03:43:55.5751113+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"e775f0d2-1c1d-434c-9d88-d847241ec4e6\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"a1d4dafc-9d05-47c1-ace4-9a8637c7afad\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: @@ -939,7 +939,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:21:51 GMT + - Thu, 08 Jul 2021 03:45:02 GMT expires: - '-1' pragma: @@ -956,7 +956,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14981,Microsoft.Compute/LowCostGet30Min;119951 + - Microsoft.Compute/LowCostGet3Min;14988,Microsoft.Compute/LowCostGet30Min;119974 status: code: 200 message: OK @@ -974,8 +974,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115/beginGetAccess?api-version=2020-12-01 response: @@ -983,17 +983,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/004407f8-1a01-4d27-bc36-f7b8f1a8449e?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/425f102a-ec66-4bbc-b3b8-02289aae2f09?api-version=2020-12-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:21:51 GMT + - Thu, 08 Jul 2021 03:45:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/004407f8-1a01-4d27-bc36-f7b8f1a8449e?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/425f102a-ec66-4bbc-b3b8-02289aae2f09?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -1006,7 +1006,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostSnapshotCreateHydrate3Min;998,Microsoft.Compute/HighCostSnapshotCreateHydrate30Min;7998 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 202 message: Accepted @@ -1020,25 +1020,25 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/004407f8-1a01-4d27-bc36-f7b8f1a8449e?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/425f102a-ec66-4bbc-b3b8-02289aae2f09?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:21:51.5678249+00:00\",\r\n \"endTime\": - \"2021-05-25T10:21:51.7396803+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:45:03.4200912+00:00\",\r\n \"endTime\": + \"2021-07-08T03:45:03.560733+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"accessSAS\": \"FakeUrl\"\r\n}\r\n - \ },\r\n \"name\": \"004407f8-1a01-4d27-bc36-f7b8f1a8449e\"\r\n}" + \ },\r\n \"name\": \"425f102a-ec66-4bbc-b3b8-02289aae2f09\"\r\n}" headers: cache-control: - no-cache content-length: - - '432' + - '433' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:22:21 GMT + - Thu, 08 Jul 2021 03:45:33 GMT expires: - '-1' pragma: @@ -1055,7 +1055,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49982,Microsoft.Compute/GetOperation30Min;399967 + - Microsoft.Compute/GetOperation3Min;49984,Microsoft.Compute/GetOperation30Min;399967 status: code: 200 message: OK @@ -1069,10 +1069,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/004407f8-1a01-4d27-bc36-f7b8f1a8449e?monitor=true&api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/425f102a-ec66-4bbc-b3b8-02289aae2f09?monitor=true&api-version=2020-12-01 response: body: string: "{\r\n \"accessSAS\": \"FakeUrl\"\r\n}" @@ -1080,11 +1080,11 @@ interactions: cache-control: - no-cache content-length: - - '207' + - '209' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:22:21 GMT + - Thu, 08 Jul 2021 03:45:33 GMT expires: - '-1' pragma: @@ -1101,7 +1101,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49981,Microsoft.Compute/GetOperation30Min;399966 + - Microsoft.Compute/GetOperation3Min;49983,Microsoft.Compute/GetOperation30Min;399966 status: code: 200 message: OK @@ -1117,8 +1117,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115/endGetAccess?api-version=2020-12-01 response: @@ -1126,17 +1126,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/b954b756-1e0a-4fa2-be00-b276c9c8a48e?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/69bb995c-607c-4ba1-801a-c585c9d530e3?api-version=2020-12-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:22:21 GMT + - Thu, 08 Jul 2021 03:45:33 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/b954b756-1e0a-4fa2-be00-b276c9c8a48e?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/69bb995c-607c-4ba1-801a-c585c9d530e3?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -1149,7 +1149,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostSnapshotCreateHydrate3Min;997,Microsoft.Compute/HighCostSnapshotCreateHydrate30Min;7997 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 202 message: Accepted @@ -1163,15 +1163,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/b954b756-1e0a-4fa2-be00-b276c9c8a48e?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/69bb995c-607c-4ba1-801a-c585c9d530e3?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:22:22.0369067+00:00\",\r\n \"endTime\": - \"2021-05-25T10:22:22.2243967+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"b954b756-1e0a-4fa2-be00-b276c9c8a48e\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:45:33.9515654+00:00\",\r\n \"endTime\": + \"2021-07-08T03:45:34.1078353+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"69bb995c-607c-4ba1-801a-c585c9d530e3\"\r\n}" headers: cache-control: - no-cache @@ -1180,7 +1180,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:22:52 GMT + - Thu, 08 Jul 2021 03:46:03 GMT expires: - '-1' pragma: @@ -1197,7 +1197,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49982,Microsoft.Compute/GetOperation30Min;399964 + - Microsoft.Compute/GetOperation3Min;49984,Microsoft.Compute/GetOperation30Min;399964 status: code: 200 message: OK @@ -1211,10 +1211,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/b954b756-1e0a-4fa2-be00-b276c9c8a48e?monitor=true&api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/69bb995c-607c-4ba1-801a-c585c9d530e3?monitor=true&api-version=2020-12-01 response: body: string: '' @@ -1224,7 +1224,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:22:52 GMT + - Thu, 08 Jul 2021 03:46:03 GMT expires: - '-1' pragma: @@ -1237,7 +1237,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49981,Microsoft.Compute/GetOperation30Min;399963 + - Microsoft.Compute/GetOperation3Min;49983,Microsoft.Compute/GetOperation30Min;399963 status: code: 200 message: OK @@ -1253,8 +1253,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/images/imagex66bb1115?api-version=2021-03-01 response: @@ -1264,17 +1264,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/412eec30-6cfe-4d9f-8c58-ba6fea4659f5?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4bd54395-6591-487a-95a6-56c7f1e1a7f7?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:22:52 GMT + - Thu, 08 Jul 2021 03:46:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/412eec30-6cfe-4d9f-8c58-ba6fea4659f5?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4bd54395-6591-487a-95a6-56c7f1e1a7f7?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1301,15 +1301,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/412eec30-6cfe-4d9f-8c58-ba6fea4659f5?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4bd54395-6591-487a-95a6-56c7f1e1a7f7?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:22:52.7731955+00:00\",\r\n \"endTime\": - \"2021-05-25T10:22:57.8513726+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"412eec30-6cfe-4d9f-8c58-ba6fea4659f5\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:46:04.6386936+00:00\",\r\n \"endTime\": + \"2021-07-08T03:46:09.7324665+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"4bd54395-6591-487a-95a6-56c7f1e1a7f7\"\r\n}" headers: cache-control: - no-cache @@ -1318,7 +1318,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:23:22 GMT + - Thu, 08 Jul 2021 03:46:34 GMT expires: - '-1' pragma: @@ -1335,7 +1335,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29926 + - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29990 status: code: 200 message: OK @@ -1351,8 +1351,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotx66bb1115?api-version=2020-12-01 response: @@ -1360,17 +1360,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/c76862cf-ee38-4c00-bd66-9d91480380eb?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/47446106-7629-4a49-beb6-13ee28dc3046?api-version=2020-12-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:23:22 GMT + - Thu, 08 Jul 2021 03:46:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/c76862cf-ee38-4c00-bd66-9d91480380eb?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/47446106-7629-4a49-beb6-13ee28dc3046?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -1397,24 +1397,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/c76862cf-ee38-4c00-bd66-9d91480380eb?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/47446106-7629-4a49-beb6-13ee28dc3046?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:23:23.2720289+00:00\",\r\n \"endTime\": - \"2021-05-25T10:23:24.8970499+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"c76862cf-ee38-4c00-bd66-9d91480380eb\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:46:35.2019533+00:00\",\r\n \"endTime\": + \"2021-07-08T03:46:35.405081+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"47446106-7629-4a49-beb6-13ee28dc3046\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:23:52 GMT + - Thu, 08 Jul 2021 03:47:04 GMT expires: - '-1' pragma: @@ -1431,7 +1431,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49987,Microsoft.Compute/GetOperation30Min;399959 + - Microsoft.Compute/GetOperation3Min;49988,Microsoft.Compute/GetOperation30Min;399959 status: code: 200 message: OK diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_galleries.test_compute_galleries.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_galleries.test_compute_galleries.yaml index 0ab9e48b2944..323a53d8ebef 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_galleries.test_compute_galleries.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_galleries.test_compute_galleries.yaml @@ -14,8 +14,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/diskname10bb14a9?api-version=2020-12-01 response: @@ -26,7 +26,7 @@ interactions: \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/fc7b6c10-b0c3-4586-8859-c7a214f5ce6d?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/274fd91d-ad56-4bb9-a192-8a3ec3d6685d?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -34,11 +34,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:23:56 GMT + - Thu, 08 Jul 2021 03:47:09 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/fc7b6c10-b0c3-4586-8859-c7a214f5ce6d?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/274fd91d-ad56-4bb9-a192-8a3ec3d6685d?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -51,7 +51,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateDisks3Min;998,Microsoft.Compute/CreateUpdateDisks30Min;7993 x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 202 message: Accepted @@ -65,14 +65,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/fc7b6c10-b0c3-4586-8859-c7a214f5ce6d?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/274fd91d-ad56-4bb9-a192-8a3ec3d6685d?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:23:56.663046+00:00\",\r\n \"endTime\": - \"2021-05-25T10:23:56.8036274+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:47:09.1084458+00:00\",\r\n \"endTime\": + \"2021-07-08T03:47:09.1865905+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"diskname10bb14a9\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/diskname10bb14a9\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n @@ -80,20 +80,20 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:23:56.663046+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:47:09.1084458+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"7d57443d-cb50-47df-9d87-bc7650a93122\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"74927b2a-4cb1-4b45-a196-15d30562e894\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}\r\n },\r\n \"name\": - \"fc7b6c10-b0c3-4586-8859-c7a214f5ce6d\"\r\n}" + \"274fd91d-ad56-4bb9-a192-8a3ec3d6685d\"\r\n}" headers: cache-control: - no-cache content-length: - - '1112' + - '1114' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:23:58 GMT + - Thu, 08 Jul 2021 03:47:11 GMT expires: - '-1' pragma: @@ -110,7 +110,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49986,Microsoft.Compute/GetOperation30Min;399958 + - Microsoft.Compute/GetOperation3Min;49987,Microsoft.Compute/GetOperation30Min;399958 status: code: 200 message: OK @@ -124,8 +124,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/diskname10bb14a9?api-version=2020-12-01 response: @@ -136,19 +136,19 @@ interactions: \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n },\r\n \"diskSizeGB\": 200,\r\n \"diskIOPSReadWrite\": 500,\r\n \"diskMBpsReadWrite\": 60,\r\n \"encryption\": {\r\n \"type\": - \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-05-25T10:23:56.663046+00:00\",\r\n + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"timeCreated\": \"2021-07-08T03:47:09.1084458+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"7d57443d-cb50-47df-9d87-bc7650a93122\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"74927b2a-4cb1-4b45-a196-15d30562e894\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '888' + - '889' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:23:58 GMT + - Thu, 08 Jul 2021 03:47:11 GMT expires: - '-1' pragma: @@ -165,7 +165,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14990,Microsoft.Compute/LowCostGet30Min;119945 + - Microsoft.Compute/LowCostGet3Min;14993,Microsoft.Compute/LowCostGet30Min;119969 status: code: 200 message: OK @@ -184,20 +184,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9?api-version=2020-12-01 response: body: string: "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceUri\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/diskname10bb14a9\",\r\n - \ \"sourceUniqueId\": \"7d57443d-cb50-47df-9d87-bc7650a93122\"\r\n },\r\n + \ \"sourceUniqueId\": \"74927b2a-4cb1-4b45-a196-15d30562e894\"\r\n },\r\n \ \"provisioningState\": \"Updating\",\r\n \"isArmResource\": true\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9be6d889-c356-4e1f-9c0c-4ea65feca743?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8b3eacde-d3fb-40bb-bff1-438370034b09?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -205,11 +205,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:23:59 GMT + - Thu, 08 Jul 2021 03:47:12 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9be6d889-c356-4e1f-9c0c-4ea65feca743?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8b3eacde-d3fb-40bb-bff1-438370034b09?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -222,7 +222,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostSnapshotCreateHydrate3Min;997,Microsoft.Compute/HighCostSnapshotCreateHydrate30Min;7996 x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1196' status: code: 202 message: Accepted @@ -236,83 +236,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9be6d889-c356-4e1f-9c0c-4ea65feca743?api-version=2020-12-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:24:00.4130847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"9be6d889-c356-4e1f-9c0c-4ea65feca743\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:24:01 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49986,Microsoft.Compute/GetOperation30Min;399956 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/9be6d889-c356-4e1f-9c0c-4ea65feca743?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/8b3eacde-d3fb-40bb-bff1-438370034b09?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:24:00.4130847+00:00\",\r\n \"endTime\": - \"2021-05-25T10:24:06.9600373+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T03:47:12.717878+00:00\",\r\n \"endTime\": + \"2021-07-08T03:47:13.4209631+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"snapshotname10bb14a9\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9\",\r\n \ \"type\": \"Microsoft.Compute/snapshots\",\r\n \"location\": \"eastus\",\r\n \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/diskname10bb14a9\",\r\n - \ \"sourceUniqueId\": \"7d57443d-cb50-47df-9d87-bc7650a93122\"\r\n },\r\n + \ \"sourceUniqueId\": \"74927b2a-4cb1-4b45-a196-15d30562e894\"\r\n },\r\n \ \"diskSizeGB\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n - \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-05-25T10:24:00.4286899+00:00\",\r\n + \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-07-08T03:47:12.7334836+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"4692ec42-97af-430d-bb8d-89867051f2be\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"440071b5-b7f4-43d8-8340-0b9d1f5182e9\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}\r\n },\r\n \"name\": - \"9be6d889-c356-4e1f-9c0c-4ea65feca743\"\r\n}" + \"8b3eacde-d3fb-40bb-bff1-438370034b09\"\r\n}" headers: cache-control: - no-cache content-length: - - '1389' + - '1388' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:24:11 GMT + - Thu, 08 Jul 2021 03:47:14 GMT expires: - '-1' pragma: @@ -329,7 +282,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49984,Microsoft.Compute/GetOperation30Min;399954 + - Microsoft.Compute/GetOperation3Min;49985,Microsoft.Compute/GetOperation30Min;399956 status: code: 200 message: OK @@ -343,8 +296,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9?api-version=2020-12-01 response: @@ -354,11 +307,11 @@ interactions: \ \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n \ },\r\n \"properties\": {\r\n \"creationData\": {\r\n \"createOption\": \"Copy\",\r\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/diskname10bb14a9\",\r\n - \ \"sourceUniqueId\": \"7d57443d-cb50-47df-9d87-bc7650a93122\"\r\n },\r\n + \ \"sourceUniqueId\": \"74927b2a-4cb1-4b45-a196-15d30562e894\"\r\n },\r\n \ \"diskSizeGB\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n - \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-05-25T10:24:00.4286899+00:00\",\r\n + \ },\r\n \"incremental\": false,\r\n \"timeCreated\": \"2021-07-08T03:47:12.7334836+00:00\",\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n - \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"4692ec42-97af-430d-bb8d-89867051f2be\",\r\n + \ \"diskSizeBytes\": 214748364800,\r\n \"uniqueId\": \"440071b5-b7f4-43d8-8340-0b9d1f5182e9\",\r\n \ \"networkAccessPolicy\": \"AllowAll\"\r\n }\r\n}" headers: cache-control: @@ -368,7 +321,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:24:11 GMT + - Thu, 08 Jul 2021 03:47:14 GMT expires: - '-1' pragma: @@ -385,7 +338,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14989,Microsoft.Compute/LowCostGet30Min;119942 + - Microsoft.Compute/LowCostGet3Min;14991,Microsoft.Compute/LowCostGet30Min;119967 status: code: 200 message: OK @@ -404,8 +357,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9?api-version=2020-09-30 response: @@ -418,7 +371,7 @@ interactions: \ },\r\n \"provisioningState\": \"Creating\"\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/11f3b960-e5ac-4a80-bf23-e450c6c3fcd9?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/53aac572-3a80-4b29-a7df-801fe4fd9a58?api-version=2020-09-30 cache-control: - no-cache content-length: @@ -426,7 +379,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:24:13 GMT + - Thu, 08 Jul 2021 03:47:16 GMT expires: - '-1' pragma: @@ -441,7 +394,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateGallery3Min;49,Microsoft.Compute/CreateUpdateGallery30Min;299 x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1195' status: code: 201 message: Created @@ -455,15 +408,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/11f3b960-e5ac-4a80-bf23-e450c6c3fcd9?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/53aac572-3a80-4b29-a7df-801fe4fd9a58?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:24:13.7510523+00:00\",\r\n \"endTime\": - \"2021-05-25T10:24:13.9853913+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"11f3b960-e5ac-4a80-bf23-e450c6c3fcd9\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:47:16.0300599+00:00\",\r\n \"endTime\": + \"2021-07-08T03:47:16.7488279+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"53aac572-3a80-4b29-a7df-801fe4fd9a58\"\r\n}" headers: cache-control: - no-cache @@ -472,7 +425,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:24:44 GMT + - Thu, 08 Jul 2021 03:47:46 GMT expires: - '-1' pragma: @@ -503,8 +456,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9?api-version=2020-09-30 response: @@ -522,7 +475,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:24:44 GMT + - Thu, 08 Jul 2021 03:47:46 GMT expires: - '-1' pragma: @@ -559,8 +512,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/applications/applicationname10bb14a9?api-version=2020-09-30 response: @@ -578,7 +531,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:24:44 GMT + - Thu, 08 Jul 2021 03:47:46 GMT expires: - '-1' pragma: @@ -593,7 +546,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateGalleryApplication3Min;149,Microsoft.Compute/CreateUpdateGalleryApplication30Min;749 x-ms-ratelimit-remaining-subscription-writes: - - '1191' + - '1194' status: code: 201 message: Created @@ -607,8 +560,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/applications/applicationname10bb14a9?api-version=2020-09-30 response: @@ -626,7 +579,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:25:14 GMT + - Thu, 08 Jul 2021 03:48:17 GMT expires: - '-1' pragma: @@ -663,8 +616,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9?api-version=2020-09-30 response: @@ -678,7 +631,7 @@ interactions: \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/ed11ad2e-ea5e-4e69-badf-c77eabf23669?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/889b0d35-ec57-40c7-9517-e2cf9ab6c3dc?api-version=2020-09-30 cache-control: - no-cache content-length: @@ -686,7 +639,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:25:16 GMT + - Thu, 08 Jul 2021 03:48:19 GMT expires: - '-1' pragma: @@ -701,7 +654,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateGalleryImage3Min;149,Microsoft.Compute/CreateUpdateGalleryImage30Min;749 x-ms-ratelimit-remaining-subscription-writes: - - '1190' + - '1193' status: code: 201 message: Created @@ -715,15 +668,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/ed11ad2e-ea5e-4e69-badf-c77eabf23669?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/889b0d35-ec57-40c7-9517-e2cf9ab6c3dc?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:16.9232174+00:00\",\r\n \"endTime\": - \"2021-05-25T10:25:17.0325916+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"ed11ad2e-ea5e-4e69-badf-c77eabf23669\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:18.8428928+00:00\",\r\n \"endTime\": + \"2021-07-08T03:48:18.9366526+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"889b0d35-ec57-40c7-9517-e2cf9ab6c3dc\"\r\n}" headers: cache-control: - no-cache @@ -732,7 +685,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:25:47 GMT + - Thu, 08 Jul 2021 03:48:49 GMT expires: - '-1' pragma: @@ -763,8 +716,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9?api-version=2020-09-30 response: @@ -784,7 +737,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:25:47 GMT + - Thu, 08 Jul 2021 03:48:49 GMT expires: - '-1' pragma: @@ -822,8 +775,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9/versions/1.0.0?api-version=2020-09-30 response: @@ -834,7 +787,7 @@ interactions: [\r\n {\r\n \"name\": \"East US\",\r\n \"regionalReplicaCount\": 2,\r\n \"storageAccountType\": \"Standard_ZRS\"\r\n }\r\n \ ],\r\n \"replicaCount\": 1,\r\n \"excludeFromLatest\": false,\r\n - \ \"publishedDate\": \"2021-05-25T10:25:48.7514913+00:00\",\r\n \"storageAccountType\": + \ \"publishedDate\": \"2021-07-08T03:48:50.5149477+00:00\",\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n \"storageProfile\": {\r\n \"osDiskImage\": {\r\n \"hostCaching\": \"ReadOnly\",\r\n \"source\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9\"\r\n @@ -842,7 +795,7 @@ interactions: \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 cache-control: - no-cache content-length: @@ -850,7 +803,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:25:49 GMT + - Thu, 08 Jul 2021 03:48:50 GMT expires: - '-1' pragma: @@ -865,7 +818,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateGalleryImageVersion3Min;374,Microsoft.Compute/CreateUpdateGalleryImageVersion30Min;1199 x-ms-ratelimit-remaining-subscription-writes: - - '1189' + - '1192' status: code: 201 message: Created @@ -879,14 +832,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:48.735868+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"1088d204-908d-4ccb-b275-1e21ca79dba1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" headers: cache-control: - no-cache @@ -895,7 +848,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:26:48 GMT + - Thu, 08 Jul 2021 03:49:51 GMT expires: - '-1' pragma: @@ -912,7 +865,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4195 + - Microsoft.Compute/GetOperationStatus3Min;1194,Microsoft.Compute/GetOperationStatus30Min;4194 status: code: 200 message: OK @@ -926,14 +879,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:48.735868+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"1088d204-908d-4ccb-b275-1e21ca79dba1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" headers: cache-control: - no-cache @@ -942,7 +895,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:27:49 GMT + - Thu, 08 Jul 2021 03:50:51 GMT expires: - '-1' pragma: @@ -959,7 +912,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4193 + - Microsoft.Compute/GetOperationStatus3Min;1194,Microsoft.Compute/GetOperationStatus30Min;4192 status: code: 200 message: OK @@ -973,14 +926,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:48.735868+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"1088d204-908d-4ccb-b275-1e21ca79dba1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" headers: cache-control: - no-cache @@ -989,7 +942,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:28:49 GMT + - Thu, 08 Jul 2021 03:51:51 GMT expires: - '-1' pragma: @@ -1020,14 +973,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:48.735868+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"1088d204-908d-4ccb-b275-1e21ca79dba1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" headers: cache-control: - no-cache @@ -1036,7 +989,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:29:49 GMT + - Thu, 08 Jul 2021 03:52:52 GMT expires: - '-1' pragma: @@ -1067,14 +1020,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:48.735868+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"1088d204-908d-4ccb-b275-1e21ca79dba1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" headers: cache-control: - no-cache @@ -1083,7 +1036,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:30:50 GMT + - Thu, 08 Jul 2021 03:53:52 GMT expires: - '-1' pragma: @@ -1114,14 +1067,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:48.735868+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"1088d204-908d-4ccb-b275-1e21ca79dba1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" headers: cache-control: - no-cache @@ -1130,7 +1083,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:31:50 GMT + - Thu, 08 Jul 2021 03:54:52 GMT expires: - '-1' pragma: @@ -1161,14 +1114,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:48.735868+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"1088d204-908d-4ccb-b275-1e21ca79dba1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" headers: cache-control: - no-cache @@ -1177,7 +1130,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:32:50 GMT + - Thu, 08 Jul 2021 03:55:52 GMT expires: - '-1' pragma: @@ -1208,24 +1161,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/1088d204-908d-4ccb-b275-1e21ca79dba1?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:25:48.735868+00:00\",\r\n \"endTime\": - \"2021-05-25T10:33:20.034481+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"1088d204-908d-4ccb-b275-1e21ca79dba1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" headers: cache-control: - no-cache content-length: - - '182' + - '133' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:33:51 GMT + - Thu, 08 Jul 2021 03:56:53 GMT expires: - '-1' pragma: @@ -1256,8 +1208,197 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 + response: + body: + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 08 Jul 2021 03:57:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4179 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 + response: + body: + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 08 Jul 2021 03:58:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4177 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 + response: + body: + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 08 Jul 2021 03:59:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4175 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/f3d9dcf3-fc7c-45e2-a055-ce8b8211d127?api-version=2020-09-30 + response: + body: + string: "{\r\n \"startTime\": \"2021-07-08T03:48:50.499348+00:00\",\r\n \"endTime\": + \"2021-07-08T04:00:06.7988625+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"f3d9dcf3-fc7c-45e2-a055-ce8b8211d127\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '183' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 08 Jul 2021 04:00:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4173 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9/versions/1.0.0?api-version=2020-09-30 response: @@ -1268,7 +1409,7 @@ interactions: [\r\n {\r\n \"name\": \"East US\",\r\n \"regionalReplicaCount\": 2,\r\n \"storageAccountType\": \"Standard_ZRS\"\r\n }\r\n \ ],\r\n \"replicaCount\": 1,\r\n \"excludeFromLatest\": false,\r\n - \ \"publishedDate\": \"2021-05-25T10:25:48.7514913+00:00\",\r\n \"storageAccountType\": + \ \"publishedDate\": \"2021-07-08T03:48:50.5149477+00:00\",\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n \"storageProfile\": {\r\n \"osDiskImage\": {\r\n \"sizeInGB\": 200,\r\n \"hostCaching\": \"ReadOnly\",\r\n \ \"source\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9\"\r\n @@ -1282,7 +1423,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:33:51 GMT + - Thu, 08 Jul 2021 04:00:54 GMT expires: - '-1' pragma: @@ -1313,8 +1454,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9/versions/1.0.0?api-version=2020-09-30 response: @@ -1325,7 +1466,7 @@ interactions: [\r\n {\r\n \"name\": \"East US\",\r\n \"regionalReplicaCount\": 2,\r\n \"storageAccountType\": \"Standard_ZRS\"\r\n }\r\n \ ],\r\n \"replicaCount\": 1,\r\n \"excludeFromLatest\": false,\r\n - \ \"publishedDate\": \"2021-05-25T10:25:48.7514913+00:00\",\r\n \"storageAccountType\": + \ \"publishedDate\": \"2021-07-08T03:48:50.5149477+00:00\",\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n \"storageProfile\": {\r\n \"osDiskImage\": {\r\n \"sizeInGB\": 200,\r\n \"hostCaching\": \"ReadOnly\",\r\n \ \"source\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9\"\r\n @@ -1339,7 +1480,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:33:51 GMT + - Thu, 08 Jul 2021 04:00:55 GMT expires: - '-1' pragma: @@ -1370,8 +1511,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9?api-version=2020-09-30 response: @@ -1391,7 +1532,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:33:51 GMT + - Thu, 08 Jul 2021 04:00:55 GMT expires: - '-1' pragma: @@ -1408,7 +1549,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetGalleryImage3Min;599,Microsoft.Compute/GetGalleryImage30Min;2994 + - Microsoft.Compute/GetGalleryImage3Min;595,Microsoft.Compute/GetGalleryImage30Min;2989 status: code: 200 message: OK @@ -1422,8 +1563,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/applications/applicationname10bb14a9?api-version=2020-09-30 response: @@ -1441,7 +1582,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:33:51 GMT + - Thu, 08 Jul 2021 04:00:55 GMT expires: - '-1' pragma: @@ -1458,7 +1599,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetGalleryApplication3Min;299,Microsoft.Compute/GetGalleryApplication30Min;1996 + - Microsoft.Compute/GetGalleryApplication3Min;299,Microsoft.Compute/GetGalleryApplication30Min;1995 status: code: 200 message: OK @@ -1472,8 +1613,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9?api-version=2020-09-30 response: @@ -1491,7 +1632,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:33:51 GMT + - Thu, 08 Jul 2021 04:00:55 GMT expires: - '-1' pragma: @@ -1508,7 +1649,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetGallery3Min;349,Microsoft.Compute/GetGallery30Min;2494 + - Microsoft.Compute/GetGallery3Min;349,Microsoft.Compute/GetGallery30Min;2489 status: code: 200 message: OK @@ -1528,8 +1669,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9/versions/1.0.0?api-version=2020-09-30 response: @@ -1540,7 +1681,7 @@ interactions: [\r\n {\r\n \"name\": \"East US\",\r\n \"regionalReplicaCount\": 2,\r\n \"storageAccountType\": \"Standard_ZRS\"\r\n }\r\n \ ],\r\n \"replicaCount\": 1,\r\n \"excludeFromLatest\": false,\r\n - \ \"publishedDate\": \"2021-05-25T10:25:48.7514913+00:00\",\r\n \"storageAccountType\": + \ \"publishedDate\": \"2021-07-08T03:48:50.5149477+00:00\",\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n \"storageProfile\": {\r\n \"osDiskImage\": {\r\n \"sizeInGB\": 200,\r\n \"hostCaching\": \"ReadOnly\",\r\n \ \"source\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9\"\r\n @@ -1548,7 +1689,7 @@ interactions: \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/bafdd636-667d-4d5e-9aec-4b286c22b69d?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/d5ac051e-0909-42ab-b262-d91a281c3aa2?api-version=2020-09-30 cache-control: - no-cache content-length: @@ -1556,7 +1697,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:33:51 GMT + - Thu, 08 Jul 2021 04:00:55 GMT expires: - '-1' pragma: @@ -1575,7 +1716,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateGalleryImageVersion3Min;374,Microsoft.Compute/CreateUpdateGalleryImageVersion30Min;1198 x-ms-ratelimit-remaining-subscription-writes: - - '1188' + - '1191' status: code: 200 message: OK @@ -1589,14 +1730,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/bafdd636-667d-4d5e-9aec-4b286c22b69d?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/d5ac051e-0909-42ab-b262-d91a281c3aa2?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:33:52.1439125+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"bafdd636-667d-4d5e-9aec-4b286c22b69d\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:00:55.6897002+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d5ac051e-0909-42ab-b262-d91a281c3aa2\"\r\n}" headers: cache-control: - no-cache @@ -1605,7 +1746,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:34:52 GMT + - Thu, 08 Jul 2021 04:01:55 GMT expires: - '-1' pragma: @@ -1622,7 +1763,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4179 + - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4171 status: code: 200 message: OK @@ -1636,14 +1777,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/bafdd636-667d-4d5e-9aec-4b286c22b69d?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/d5ac051e-0909-42ab-b262-d91a281c3aa2?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:33:52.1439125+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"bafdd636-667d-4d5e-9aec-4b286c22b69d\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:00:55.6897002+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d5ac051e-0909-42ab-b262-d91a281c3aa2\"\r\n}" headers: cache-control: - no-cache @@ -1652,7 +1793,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:35:52 GMT + - Thu, 08 Jul 2021 04:02:55 GMT expires: - '-1' pragma: @@ -1669,7 +1810,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4178 + - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4170 status: code: 200 message: OK @@ -1683,15 +1824,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/bafdd636-667d-4d5e-9aec-4b286c22b69d?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/d5ac051e-0909-42ab-b262-d91a281c3aa2?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:33:52.1439125+00:00\",\r\n \"endTime\": - \"2021-05-25T10:36:22.3007253+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"bafdd636-667d-4d5e-9aec-4b286c22b69d\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:00:55.6897002+00:00\",\r\n \"endTime\": + \"2021-07-08T04:03:25.8623866+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"d5ac051e-0909-42ab-b262-d91a281c3aa2\"\r\n}" headers: cache-control: - no-cache @@ -1700,7 +1841,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:36:52 GMT + - Thu, 08 Jul 2021 04:03:56 GMT expires: - '-1' pragma: @@ -1717,7 +1858,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1197,Microsoft.Compute/GetOperationStatus30Min;4177 + - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4169 status: code: 200 message: OK @@ -1731,8 +1872,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9/versions/1.0.0?api-version=2020-09-30 response: @@ -1743,7 +1884,7 @@ interactions: [\r\n {\r\n \"name\": \"East US\",\r\n \"regionalReplicaCount\": 2,\r\n \"storageAccountType\": \"Standard_ZRS\"\r\n }\r\n \ ],\r\n \"replicaCount\": 1,\r\n \"excludeFromLatest\": false,\r\n - \ \"publishedDate\": \"2021-05-25T10:25:48.7514913+00:00\",\r\n \"storageAccountType\": + \ \"publishedDate\": \"2021-07-08T03:48:50.5149477+00:00\",\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n \"storageProfile\": {\r\n \"osDiskImage\": {\r\n \"sizeInGB\": 200,\r\n \"hostCaching\": \"ReadOnly\",\r\n \ \"source\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9\"\r\n @@ -1757,7 +1898,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:36:53 GMT + - Thu, 08 Jul 2021 04:03:56 GMT expires: - '-1' pragma: @@ -1774,7 +1915,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetGalleryImageVersion3Min;1997,Microsoft.Compute/GetGalleryImageVersion30Min;9990 + - Microsoft.Compute/GetGalleryImageVersion3Min;1997,Microsoft.Compute/GetGalleryImageVersion30Min;9992 status: code: 200 message: OK @@ -1793,8 +1934,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9?api-version=2020-09-30 response: @@ -1808,7 +1949,7 @@ interactions: \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/faf364c7-1166-4e60-9277-e62e82ef4be2?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/0c6af378-4234-4a82-85c9-6d4740ed3115?api-version=2020-09-30 cache-control: - no-cache content-length: @@ -1816,7 +1957,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:36:53 GMT + - Thu, 08 Jul 2021 04:03:56 GMT expires: - '-1' pragma: @@ -1835,7 +1976,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateGalleryImage3Min;149,Microsoft.Compute/CreateUpdateGalleryImage30Min;748 x-ms-ratelimit-remaining-subscription-writes: - - '1187' + - '1190' status: code: 200 message: OK @@ -1849,15 +1990,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/faf364c7-1166-4e60-9277-e62e82ef4be2?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/0c6af378-4234-4a82-85c9-6d4740ed3115?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:36:53.3165375+00:00\",\r\n \"endTime\": - \"2021-05-25T10:36:53.3477597+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"faf364c7-1166-4e60-9277-e62e82ef4be2\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:03:57.0187917+00:00\",\r\n \"endTime\": + \"2021-07-08T04:03:57.0500404+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"0c6af378-4234-4a82-85c9-6d4740ed3115\"\r\n}" headers: cache-control: - no-cache @@ -1866,7 +2007,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:37:23 GMT + - Thu, 08 Jul 2021 04:04:26 GMT expires: - '-1' pragma: @@ -1883,7 +2024,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4176 + - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4168 status: code: 200 message: OK @@ -1897,8 +2038,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9?api-version=2020-09-30 response: @@ -1918,7 +2059,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:37:23 GMT + - Thu, 08 Jul 2021 04:04:26 GMT expires: - '-1' pragma: @@ -1935,7 +2076,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetGalleryImage3Min;593,Microsoft.Compute/GetGalleryImage30Min;2987 + - Microsoft.Compute/GetGalleryImage3Min;597,Microsoft.Compute/GetGalleryImage30Min;2986 status: code: 200 message: OK @@ -1955,8 +2096,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/applications/applicationname10bb14a9?api-version=2020-09-30 response: @@ -1975,7 +2116,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:37:23 GMT + - Thu, 08 Jul 2021 04:04:26 GMT expires: - '-1' pragma: @@ -1994,7 +2135,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateGalleryApplication3Min;149,Microsoft.Compute/CreateUpdateGalleryApplication30Min;748 x-ms-ratelimit-remaining-subscription-writes: - - '1186' + - '1189' status: code: 200 message: OK @@ -2012,8 +2153,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9?api-version=2020-09-30 response: @@ -2026,7 +2167,7 @@ interactions: \ },\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/5b3db9f6-c06b-40a0-96e7-f5ab539aa7fc?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/6098fb2c-4ac0-4fa5-ab7b-621de952fc12?api-version=2020-09-30 cache-control: - no-cache content-length: @@ -2034,7 +2175,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:37:23 GMT + - Thu, 08 Jul 2021 04:04:27 GMT expires: - '-1' pragma: @@ -2053,7 +2194,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateGallery3Min;49,Microsoft.Compute/CreateUpdateGallery30Min;298 x-ms-ratelimit-remaining-subscription-writes: - - '1185' + - '1188' status: code: 200 message: OK @@ -2067,15 +2208,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/5b3db9f6-c06b-40a0-96e7-f5ab539aa7fc?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/6098fb2c-4ac0-4fa5-ab7b-621de952fc12?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:37:23.9104507+00:00\",\r\n \"endTime\": - \"2021-05-25T10:37:23.9416679+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"5b3db9f6-c06b-40a0-96e7-f5ab539aa7fc\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:04:27.7533356+00:00\",\r\n \"endTime\": + \"2021-07-08T04:04:27.7845702+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"6098fb2c-4ac0-4fa5-ab7b-621de952fc12\"\r\n}" headers: cache-control: - no-cache @@ -2084,7 +2225,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:37:53 GMT + - Thu, 08 Jul 2021 04:04:57 GMT expires: - '-1' pragma: @@ -2101,7 +2242,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4175 + - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4167 status: code: 200 message: OK @@ -2115,8 +2256,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9?api-version=2020-09-30 response: @@ -2134,7 +2275,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:37:53 GMT + - Thu, 08 Jul 2021 04:04:57 GMT expires: - '-1' pragma: @@ -2151,7 +2292,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetGallery3Min;348,Microsoft.Compute/GetGallery30Min;2488 + - Microsoft.Compute/GetGallery3Min;348,Microsoft.Compute/GetGallery30Min;2487 status: code: 200 message: OK @@ -2167,8 +2308,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9/versions/1.0.0?api-version=2020-09-30 response: @@ -2176,17 +2317,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/b7f9938b-5f51-41ea-8e2c-d7973d1d57ae?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/8aab0b53-59af-4eef-9eed-1fa6c7cd12e0?api-version=2020-09-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:37:53 GMT + - Thu, 08 Jul 2021 04:04:58 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/b7f9938b-5f51-41ea-8e2c-d7973d1d57ae?monitor=true&api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/8aab0b53-59af-4eef-9eed-1fa6c7cd12e0?monitor=true&api-version=2020-09-30 pragma: - no-cache server: @@ -2199,7 +2340,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteGalleryImageVersion3Min;149,Microsoft.Compute/DeleteGalleryImageVersion30Min;999 x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14998' status: code: 202 message: Accepted @@ -2213,23 +2354,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/b7f9938b-5f51-41ea-8e2c-d7973d1d57ae?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/8aab0b53-59af-4eef-9eed-1fa6c7cd12e0?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:37:54.6293087+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"b7f9938b-5f51-41ea-8e2c-d7973d1d57ae\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:04:58.378482+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"8aab0b53-59af-4eef-9eed-1fa6c7cd12e0\"\r\n}" headers: cache-control: - no-cache content-length: - - '134' + - '133' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:38:54 GMT + - Thu, 08 Jul 2021 04:05:58 GMT expires: - '-1' pragma: @@ -2246,7 +2387,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4174 + - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4166 status: code: 200 message: OK @@ -2260,24 +2401,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/b7f9938b-5f51-41ea-8e2c-d7973d1d57ae?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/8aab0b53-59af-4eef-9eed-1fa6c7cd12e0?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:37:54.6293087+00:00\",\r\n \"endTime\": - \"2021-05-25T10:39:24.8172883+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"b7f9938b-5f51-41ea-8e2c-d7973d1d57ae\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:04:58.378482+00:00\",\r\n \"endTime\": + \"2021-07-08T04:06:28.6588726+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"8aab0b53-59af-4eef-9eed-1fa6c7cd12e0\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:39:54 GMT + - Thu, 08 Jul 2021 04:06:58 GMT expires: - '-1' pragma: @@ -2294,7 +2435,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4172 + - Microsoft.Compute/GetOperationStatus3Min;1195,Microsoft.Compute/GetOperationStatus30Min;4164 status: code: 200 message: OK @@ -2310,8 +2451,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/applications/applicationname10bb14a9?api-version=2020-09-30 response: @@ -2323,7 +2464,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:39:54 GMT + - Thu, 08 Jul 2021 04:06:58 GMT expires: - '-1' pragma: @@ -2338,7 +2479,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteGalleryApplication3Min;49,Microsoft.Compute/DeleteGalleryApplication30Min;299 x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14997' status: code: 200 message: OK @@ -2354,8 +2495,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9/endGetAccess?api-version=2020-12-01 response: @@ -2363,17 +2504,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/e69a14d7-bc50-4ba2-91be-c2227c70b6ae?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7cfb720d-983a-4086-977b-412afc533a93?api-version=2020-12-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:39:55 GMT + - Thu, 08 Jul 2021 04:06:59 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/e69a14d7-bc50-4ba2-91be-c2227c70b6ae?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7cfb720d-983a-4086-977b-412afc533a93?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -2386,7 +2527,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/HighCostSnapshotCreateHydrate3Min;999,Microsoft.Compute/HighCostSnapshotCreateHydrate30Min;7994 x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 202 message: Accepted @@ -2400,24 +2541,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/e69a14d7-bc50-4ba2-91be-c2227c70b6ae?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7cfb720d-983a-4086-977b-412afc533a93?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:39:55.9304937+00:00\",\r\n \"endTime\": - \"2021-05-25T10:39:56.0242185+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"e69a14d7-bc50-4ba2-91be-c2227c70b6ae\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:06:59.6084483+00:00\",\r\n \"endTime\": + \"2021-07-08T04:06:59.749115+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"7cfb720d-983a-4086-977b-412afc533a93\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:40:25 GMT + - Thu, 08 Jul 2021 04:07:29 GMT expires: - '-1' pragma: @@ -2434,7 +2575,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49996,Microsoft.Compute/GetOperation30Min;399923 + - Microsoft.Compute/GetOperation3Min;49996,Microsoft.Compute/GetOperation30Min;399924 status: code: 200 message: OK @@ -2448,10 +2589,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/e69a14d7-bc50-4ba2-91be-c2227c70b6ae?monitor=true&api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/7cfb720d-983a-4086-977b-412afc533a93?monitor=true&api-version=2020-12-01 response: body: string: '' @@ -2461,7 +2602,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:40:26 GMT + - Thu, 08 Jul 2021 04:07:29 GMT expires: - '-1' pragma: @@ -2474,7 +2615,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49995,Microsoft.Compute/GetOperation30Min;399922 + - Microsoft.Compute/GetOperation3Min;49995,Microsoft.Compute/GetOperation30Min;399923 status: code: 200 message: OK @@ -2490,8 +2631,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/snapshots/snapshotname10bb14a9?api-version=2020-12-01 response: @@ -2499,17 +2640,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/3d72010b-e47b-4262-a3da-005993839ba9?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/f1524b4f-e971-47e7-91ec-202ce3e7b73b?api-version=2020-12-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:40:26 GMT + - Thu, 08 Jul 2021 04:07:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/3d72010b-e47b-4262-a3da-005993839ba9?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/f1524b4f-e971-47e7-91ec-202ce3e7b73b?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -2522,7 +2663,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteDisks3Min;2996,Microsoft.Compute/DeleteDisks30Min;23990 x-ms-ratelimit-remaining-subscription-deletes: - - '14995' + - '14996' status: code: 202 message: Accepted @@ -2536,24 +2677,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/3d72010b-e47b-4262-a3da-005993839ba9?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/f1524b4f-e971-47e7-91ec-202ce3e7b73b?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:40:26.6964546+00:00\",\r\n \"endTime\": - \"2021-05-25T10:40:28.5245916+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"3d72010b-e47b-4262-a3da-005993839ba9\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:07:30.218167+00:00\",\r\n \"endTime\": + \"2021-07-08T04:07:30.9681674+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"f1524b4f-e971-47e7-91ec-202ce3e7b73b\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:40:56 GMT + - Thu, 08 Jul 2021 04:07:59 GMT expires: - '-1' pragma: @@ -2570,7 +2711,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49993,Microsoft.Compute/GetOperation30Min;399920 + - Microsoft.Compute/GetOperation3Min;49993,Microsoft.Compute/GetOperation30Min;399921 status: code: 200 message: OK @@ -2586,8 +2727,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9/images/imagex10bb14a9?api-version=2020-09-30 response: @@ -2595,17 +2736,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/a3b73db1-9631-46e8-805a-e26c2587e7aa?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/da3edc84-ee52-4ab7-917e-0b895ebe9c77?api-version=2020-09-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:40:57 GMT + - Thu, 08 Jul 2021 04:08:00 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/a3b73db1-9631-46e8-805a-e26c2587e7aa?monitor=true&api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/da3edc84-ee52-4ab7-917e-0b895ebe9c77?monitor=true&api-version=2020-09-30 pragma: - no-cache server: @@ -2618,7 +2759,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteGalleryImage3Min;49,Microsoft.Compute/DeleteGalleryImage30Min;299 x-ms-ratelimit-remaining-subscription-deletes: - - '14994' + - '14995' status: code: 202 message: Accepted @@ -2632,15 +2773,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/a3b73db1-9631-46e8-805a-e26c2587e7aa?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/da3edc84-ee52-4ab7-917e-0b895ebe9c77?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:40:57.3646382+00:00\",\r\n \"endTime\": - \"2021-05-25T10:40:57.5989581+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"a3b73db1-9631-46e8-805a-e26c2587e7aa\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:08:00.9414422+00:00\",\r\n \"endTime\": + \"2021-07-08T04:08:01.3164196+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"da3edc84-ee52-4ab7-917e-0b895ebe9c77\"\r\n}" headers: cache-control: - no-cache @@ -2649,7 +2790,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:41:26 GMT + - Thu, 08 Jul 2021 04:08:31 GMT expires: - '-1' pragma: @@ -2666,7 +2807,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1194,Microsoft.Compute/GetOperationStatus30Min;4169 + - Microsoft.Compute/GetOperationStatus3Min;1196,Microsoft.Compute/GetOperationStatus30Min;4161 status: code: 200 message: OK @@ -2682,8 +2823,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/galleries/galleryname10bb14a9?api-version=2020-09-30 response: @@ -2691,17 +2832,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/e4c9904f-7426-4a87-bb64-34bba642d194?api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/2cac4ac6-4403-4121-a145-2cbe0aa3f761?api-version=2020-09-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:41:27 GMT + - Thu, 08 Jul 2021 04:08:32 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/e4c9904f-7426-4a87-bb64-34bba642d194?monitor=true&api-version=2020-09-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/2cac4ac6-4403-4121-a145-2cbe0aa3f761?monitor=true&api-version=2020-09-30 pragma: - no-cache server: @@ -2714,7 +2855,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteGallery3Min;49,Microsoft.Compute/DeleteGallery30Min;299 x-ms-ratelimit-remaining-subscription-deletes: - - '14993' + - '14994' status: code: 202 message: Accepted @@ -2728,24 +2869,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/e4c9904f-7426-4a87-bb64-34bba642d194?api-version=2020-09-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/capsOperations/2cac4ac6-4403-4121-a145-2cbe0aa3f761?api-version=2020-09-30 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:41:27.974112+00:00\",\r\n \"endTime\": - \"2021-05-25T10:41:28.0678418+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"e4c9904f-7426-4a87-bb64-34bba642d194\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:08:31.5039309+00:00\",\r\n \"endTime\": + \"2021-07-08T04:08:32.2226639+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"2cac4ac6-4403-4121-a145-2cbe0aa3f761\"\r\n}" headers: cache-control: - no-cache content-length: - - '183' + - '184' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:41:58 GMT + - Thu, 08 Jul 2021 04:09:01 GMT expires: - '-1' pragma: @@ -2762,7 +2903,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperationStatus3Min;1194,Microsoft.Compute/GetOperationStatus30Min;4167 + - Microsoft.Compute/GetOperationStatus3Min;1194,Microsoft.Compute/GetOperationStatus30Min;4159 status: code: 200 message: OK diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm.yaml index c72e7bd7a94a..79c9521dc822 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm.yaml @@ -14,17 +14,17 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex15cf0eff?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex15cf0eff\",\r\n - \ \"etag\": \"W/\\\"607dec19-1665-41fc-8ffa-b27c0db7cb9e\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"dd70cc05-74d0-47e0-960d-e6305b2aba8f\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"eda75f7c-b5ee-40ac-bd8b-b62c68636fbe\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"3f98eed4-2a24-4663-a8c9-30736a0edfbe\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -32,7 +32,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/977a6c93-979f-493b-bb9b-907c1f4e0b94?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/27332efb-2d35-4993-ae8f-7ee2ececa2e9?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -40,7 +40,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:04 GMT + - Thu, 08 Jul 2021 04:09:07 GMT expires: - '-1' pragma: @@ -53,9 +53,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f4580d1b-73aa-4959-bd48-397adba92b1e + - 3677e948-7b7f-4dec-99e9-d97ed9f60e8d x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1192' status: code: 201 message: Created @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/977a6c93-979f-493b-bb9b-907c1f4e0b94?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/27332efb-2d35-4993-ae8f-7ee2ececa2e9?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -84,7 +84,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:07 GMT + - Thu, 08 Jul 2021 04:09:10 GMT expires: - '-1' pragma: @@ -101,7 +101,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 06316726-9b2d-482b-9b26-41d179607e0b + - d72998f6-4960-4572-8ac0-81d5616ab011 status: code: 200 message: OK @@ -115,17 +115,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex15cf0eff?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex15cf0eff\",\r\n - \ \"etag\": \"W/\\\"3e23827e-5b9b-4111-a89a-cb22a8a05aa8\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"bb66f4e8-d2c3-4a41-93e9-c2c1146e6c06\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"eda75f7c-b5ee-40ac-bd8b-b62c68636fbe\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"3f98eed4-2a24-4663-a8c9-30736a0edfbe\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -137,9 +137,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:07 GMT + - Thu, 08 Jul 2021 04:09:10 GMT etag: - - W/"3e23827e-5b9b-4111-a89a-cb22a8a05aa8" + - W/"bb66f4e8-d2c3-4a41-93e9-c2c1146e6c06" expires: - '-1' pragma: @@ -156,7 +156,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 40cf46b4-ce95-4b2e-9074-88508521899a + - 1a6cb651-233d-4795-8a68-40e48a194ef7 status: code: 200 message: OK @@ -174,21 +174,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex15cf0eff/subnets/subnetx15cf0eff?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetx15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex15cf0eff/subnets/subnetx15cf0eff\",\r\n - \ \"etag\": \"W/\\\"651a9e1b-db7d-4009-ab68-3232fc1de4d4\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"8fe7b0e2-b3b5-4e17-ab38-f036c26fc89b\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/97f1d5e8-3d2a-4fd0-ba15-6b47419d0626?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/48193200-5fcf-4a1a-85e2-5039b61f7146?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -196,7 +196,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:08 GMT + - Thu, 08 Jul 2021 04:09:10 GMT expires: - '-1' pragma: @@ -209,9 +209,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fb476dd5-d6d8-45b6-a04e-a0457b612d65 + - 1a668909-f18f-43e2-b6ef-f04dc3d67473 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1191' status: code: 201 message: Created @@ -225,10 +225,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/97f1d5e8-3d2a-4fd0-ba15-6b47419d0626?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/48193200-5fcf-4a1a-85e2-5039b61f7146?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -240,7 +240,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:11 GMT + - Thu, 08 Jul 2021 04:09:13 GMT expires: - '-1' pragma: @@ -257,7 +257,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1f40d2ae-f7cb-47db-ad60-a22ffcf4a066 + - ac29a8ba-4268-4bf2-90c9-c432804195d9 status: code: 200 message: OK @@ -271,14 +271,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex15cf0eff/subnets/subnetx15cf0eff?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetx15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex15cf0eff/subnets/subnetx15cf0eff\",\r\n - \ \"etag\": \"W/\\\"5c9a8b33-1ad4-4c3b-bda8-8554c140e658\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"2f248f52-cd04-4084-9177-515d3beafa7b\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": @@ -291,9 +291,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:11 GMT + - Thu, 08 Jul 2021 04:09:14 GMT etag: - - W/"5c9a8b33-1ad4-4c3b-bda8-8554c140e658" + - W/"2f248f52-cd04-4084-9177-515d3beafa7b" expires: - '-1' pragma: @@ -310,7 +310,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c3a66ee7-d65d-4e5c-807c-172c91f7fe09 + - f84f9627-f457-4880-8f22-2edd4f5df166 status: code: 200 message: OK @@ -329,18 +329,18 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex15cf0eff?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"interfacex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex15cf0eff\",\r\n - \ \"etag\": \"W/\\\"a40ad757-4086-4a4c-822a-3edea638fbbc\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"644b3900-2e26-404c-96f4-45d27c952c7b\\\"\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"79ed2af1-693b-49cd-a041-551e40730d7d\",\r\n \"ipConfigurations\": + \ \"resourceGuid\": \"04e4a7c9-3768-44a7-b0bc-0a81e1ad736a\",\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"MyIpConfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex15cf0eff/ipConfigurations/MyIpConfig\",\r\n - \ \"etag\": \"W/\\\"a40ad757-4086-4a4c-822a-3edea638fbbc\\\"\",\r\n + \ \"etag\": \"W/\\\"644b3900-2e26-404c-96f4-45d27c952c7b\\\"\",\r\n \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -348,7 +348,7 @@ interactions: \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": - \"prp0p1powwwebpmlwywgqy1pxg.bx.internal.cloudapp.net\"\r\n },\r\n \"enableAcceleratedNetworking\": + \"0txjqpzefjrunkgjgbzwudw5xg.bx.internal.cloudapp.net\"\r\n },\r\n \"enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\": false,\r\n \"hostedWorkloads\": [],\r\n \ \"tapConfigurations\": [],\r\n \"nicType\": \"Standard\"\r\n },\r\n \ \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" @@ -356,7 +356,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/57a80478-e843-4168-8fe5-86f8df571f60?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/34afa084-d499-42b9-b912-f53e664f54ba?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -364,7 +364,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:12 GMT + - Thu, 08 Jul 2021 04:09:15 GMT expires: - '-1' pragma: @@ -377,9 +377,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - be21ce33-82c7-4892-964b-a37db831d47b + - 6cc64ecc-c9ea-4198-b05e-3d341bd507fc x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1190' status: code: 201 message: Created @@ -393,10 +393,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/57a80478-e843-4168-8fe5-86f8df571f60?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/34afa084-d499-42b9-b912-f53e664f54ba?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -408,7 +408,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:43 GMT + - Thu, 08 Jul 2021 04:09:45 GMT expires: - '-1' pragma: @@ -425,7 +425,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a87a87cd-fd34-4b79-aa61-726bd6d2989f + - f831b0af-5f80-47b4-a930-a76190d1449e status: code: 200 message: OK @@ -439,18 +439,18 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex15cf0eff?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"interfacex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex15cf0eff\",\r\n - \ \"etag\": \"W/\\\"a40ad757-4086-4a4c-822a-3edea638fbbc\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"644b3900-2e26-404c-96f4-45d27c952c7b\\\"\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"79ed2af1-693b-49cd-a041-551e40730d7d\",\r\n \"ipConfigurations\": + \ \"resourceGuid\": \"04e4a7c9-3768-44a7-b0bc-0a81e1ad736a\",\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"MyIpConfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex15cf0eff/ipConfigurations/MyIpConfig\",\r\n - \ \"etag\": \"W/\\\"a40ad757-4086-4a4c-822a-3edea638fbbc\\\"\",\r\n + \ \"etag\": \"W/\\\"644b3900-2e26-404c-96f4-45d27c952c7b\\\"\",\r\n \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -458,7 +458,7 @@ interactions: \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": - \"prp0p1powwwebpmlwywgqy1pxg.bx.internal.cloudapp.net\"\r\n },\r\n \"enableAcceleratedNetworking\": + \"0txjqpzefjrunkgjgbzwudw5xg.bx.internal.cloudapp.net\"\r\n },\r\n \"enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\": false,\r\n \"hostedWorkloads\": [],\r\n \ \"tapConfigurations\": [],\r\n \"nicType\": \"Standard\"\r\n },\r\n \ \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" @@ -470,9 +470,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:43 GMT + - Thu, 08 Jul 2021 04:09:45 GMT etag: - - W/"a40ad757-4086-4a4c-822a-3edea638fbbc" + - W/"644b3900-2e26-404c-96f4-45d27c952c7b" expires: - '-1' pragma: @@ -489,7 +489,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e07f5470-8d32-4bf0-b9c3-e5790feab943 + - 26000f49-5cd9-4f3e-bdb3-efb9673f231a status: code: 200 message: OK @@ -516,20 +516,20 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff?api-version=2021-03-01 response: body: string: "{\r\n \"name\": \"virtualmachinex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"vmId\": \"59f59d01-504a-456a-b061-93cead79500b\",\r\n + \ \"properties\": {\r\n \"vmId\": \"e97d58c0-74f3-4960-86b7-f630f62d1e4c\",\r\n \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D2_v2\"\r\n },\r\n \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"14393.4467.2106061537\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"name\": \"myVMosdisk\",\r\n \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n @@ -555,7 +555,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b7d07f39-4fdf-4cd1-8381-f44b3bd1a804?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d37623bb-4000-4dd4-9509-f74082a9b881?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -563,7 +563,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:42:47 GMT + - Thu, 08 Jul 2021 04:09:48 GMT expires: - '-1' pragma: @@ -576,9 +576,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutVM3Min;744,Microsoft.Compute/PutVM30Min;3728 + - Microsoft.Compute/PutVM3Min;745,Microsoft.Compute/PutVM30Min;3729 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 201 message: Created @@ -592,61 +592,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b7d07f39-4fdf-4cd1-8381-f44b3bd1a804?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:42:46.1815244+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"b7d07f39-4fdf-4cd1-8381-f44b3bd1a804\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:42:57 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14999,Microsoft.Compute/GetOperation30Min;29982 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b7d07f39-4fdf-4cd1-8381-f44b3bd1a804?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d37623bb-4000-4dd4-9509-f74082a9b881?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:42:46.1815244+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"b7d07f39-4fdf-4cd1-8381-f44b3bd1a804\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:09:48.3476064+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d37623bb-4000-4dd4-9509-f74082a9b881\"\r\n}" headers: cache-control: - no-cache @@ -655,7 +608,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:43:46 GMT + - Thu, 08 Jul 2021 04:09:58 GMT expires: - '-1' pragma: @@ -672,7 +625,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14998,Microsoft.Compute/GetOperation30Min;29981 + - Microsoft.Compute/GetOperation3Min;14999,Microsoft.Compute/GetOperation30Min;29991 status: code: 200 message: OK @@ -686,14 +639,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b7d07f39-4fdf-4cd1-8381-f44b3bd1a804?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d37623bb-4000-4dd4-9509-f74082a9b881?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:42:46.1815244+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"b7d07f39-4fdf-4cd1-8381-f44b3bd1a804\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:09:48.3476064+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d37623bb-4000-4dd4-9509-f74082a9b881\"\r\n}" headers: cache-control: - no-cache @@ -702,7 +655,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:44:17 GMT + - Thu, 08 Jul 2021 04:10:49 GMT expires: - '-1' pragma: @@ -719,7 +672,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14997,Microsoft.Compute/GetOperation30Min;29980 + - Microsoft.Compute/GetOperation3Min;14998,Microsoft.Compute/GetOperation30Min;29995 status: code: 200 message: OK @@ -733,15 +686,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b7d07f39-4fdf-4cd1-8381-f44b3bd1a804?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d37623bb-4000-4dd4-9509-f74082a9b881?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:42:46.1815244+00:00\",\r\n \"endTime\": - \"2021-05-25T10:44:34.1659812+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"b7d07f39-4fdf-4cd1-8381-f44b3bd1a804\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:09:48.3476064+00:00\",\r\n \"endTime\": + \"2021-07-08T04:11:19.0981286+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"d37623bb-4000-4dd4-9509-f74082a9b881\"\r\n}" headers: cache-control: - no-cache @@ -750,7 +703,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:44:47 GMT + - Thu, 08 Jul 2021 04:11:19 GMT expires: - '-1' pragma: @@ -767,7 +720,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29978 + - Microsoft.Compute/GetOperation3Min;14997,Microsoft.Compute/GetOperation30Min;29994 status: code: 200 message: OK @@ -781,36 +734,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff?api-version=2021-03-01 response: body: string: "{\r\n \"name\": \"virtualmachinex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"vmId\": \"59f59d01-504a-456a-b061-93cead79500b\",\r\n + \ \"properties\": {\r\n \"vmId\": \"e97d58c0-74f3-4960-86b7-f630f62d1e4c\",\r\n \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D2_v2\"\r\n },\r\n \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"14393.4467.2106061537\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"name\": \"myVMosdisk\",\r\n \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/myVMosdisk\"\r\n \ },\r\n \"diskSizeGB\": 127,\r\n \"deleteOption\": \"Detach\"\r\n \ },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": 0,\r\n - \ \"name\": \"virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\",\r\n + \ \"name\": \"virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\",\r\n \ \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\"\r\n \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n \"deleteOption\": \"Detach\"\r\n },\r\n {\r\n - \ \"lun\": 1,\r\n \"name\": \"virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\",\r\n + \ \"lun\": 1,\r\n \"name\": \"virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\",\r\n \ \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\"\r\n \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n \"deleteOption\": \"Detach\"\r\n }\r\n ]\r\n \ },\r\n \"osProfile\": {\r\n \"computerName\": \"myVM\",\r\n \"adminUsername\": @@ -829,7 +782,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:44:47 GMT + - Thu, 08 Jul 2021 04:11:19 GMT expires: - '-1' pragma: @@ -846,7 +799,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3993,Microsoft.Compute/LowCostGet30Min;31943 + - Microsoft.Compute/LowCostGet3Min;3999,Microsoft.Compute/LowCostGet30Min;31997 status: code: 200 message: OK @@ -866,8 +819,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/extensions/virtualmachineextensionx15cf0eff?api-version=2021-03-01 response: @@ -883,7 +836,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f498e29b-bcfa-40df-a9a9-6096aa37fc4f?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c997af96-e104-49b6-a939-e4f9c5264000?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -891,7 +844,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:44:49 GMT + - Thu, 08 Jul 2021 04:11:21 GMT expires: - '-1' pragma: @@ -906,7 +859,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/UpdateVM3Min;239,Microsoft.Compute/UpdateVM30Min;1199 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1196' status: code: 201 message: Created @@ -920,14 +873,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f498e29b-bcfa-40df-a9a9-6096aa37fc4f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c997af96-e104-49b6-a939-e4f9c5264000?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:44:49.5096608+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"f498e29b-bcfa-40df-a9a9-6096aa37fc4f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:11:21.7231202+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"c997af96-e104-49b6-a939-e4f9c5264000\"\r\n}" headers: cache-control: - no-cache @@ -936,7 +889,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:45:19 GMT + - Thu, 08 Jul 2021 04:11:51 GMT expires: - '-1' pragma: @@ -953,7 +906,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29988 + - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29992 status: code: 200 message: OK @@ -967,14 +920,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f498e29b-bcfa-40df-a9a9-6096aa37fc4f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c997af96-e104-49b6-a939-e4f9c5264000?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:44:49.5096608+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"f498e29b-bcfa-40df-a9a9-6096aa37fc4f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:11:21.7231202+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"c997af96-e104-49b6-a939-e4f9c5264000\"\r\n}" headers: cache-control: - no-cache @@ -983,7 +936,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:45:50 GMT + - Thu, 08 Jul 2021 04:12:22 GMT expires: - '-1' pragma: @@ -1000,7 +953,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29987 + - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29991 status: code: 200 message: OK @@ -1014,14 +967,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f498e29b-bcfa-40df-a9a9-6096aa37fc4f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c997af96-e104-49b6-a939-e4f9c5264000?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:44:49.5096608+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"f498e29b-bcfa-40df-a9a9-6096aa37fc4f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:11:21.7231202+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"c997af96-e104-49b6-a939-e4f9c5264000\"\r\n}" headers: cache-control: - no-cache @@ -1030,7 +983,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:46:20 GMT + - Thu, 08 Jul 2021 04:12:51 GMT expires: - '-1' pragma: @@ -1047,7 +1000,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29986 + - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29990 status: code: 200 message: OK @@ -1061,15 +1014,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f498e29b-bcfa-40df-a9a9-6096aa37fc4f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c997af96-e104-49b6-a939-e4f9c5264000?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:44:49.5096608+00:00\",\r\n \"endTime\": - \"2021-05-25T10:46:35.0095953+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"f498e29b-bcfa-40df-a9a9-6096aa37fc4f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:11:21.7231202+00:00\",\r\n \"endTime\": + \"2021-07-08T04:13:09.2705772+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"c997af96-e104-49b6-a939-e4f9c5264000\"\r\n}" headers: cache-control: - no-cache @@ -1078,7 +1031,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:46:50 GMT + - Thu, 08 Jul 2021 04:13:22 GMT expires: - '-1' pragma: @@ -1095,7 +1048,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29984 + - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29988 status: code: 200 message: OK @@ -1109,8 +1062,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/extensions/virtualmachineextensionx15cf0eff?api-version=2021-03-01 response: @@ -1130,7 +1083,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:46:50 GMT + - Thu, 08 Jul 2021 04:13:22 GMT expires: - '-1' pragma: @@ -1147,7 +1100,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3988,Microsoft.Compute/LowCostGet30Min;31940 + - Microsoft.Compute/LowCostGet3Min;3995,Microsoft.Compute/LowCostGet30Min;31994 status: code: 200 message: OK @@ -1161,8 +1114,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/instanceView?api-version=2021-03-01 response: @@ -1173,7 +1126,7 @@ interactions: [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n \"message\": \"GuestAgent is running and processing the extensions.\",\r\n \"time\": - \"2021-05-25T10:46:33+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": + \"2021-07-08T04:13:03+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": [\r\n {\r\n \"type\": \"Microsoft.Azure.NetworkWatcher.NetworkWatcherAgentWindows\",\r\n \ \"typeHandlerVersion\": \"1.4.1693.3\",\r\n \"status\": {\r\n \ \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": @@ -1183,15 +1136,15 @@ interactions: \ },\r\n \"disks\": [\r\n {\r\n \"name\": \"myVMosdisk\",\r\n \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-05-25T10:42:50.7440243+00:00\"\r\n - \ }\r\n ]\r\n },\r\n {\r\n \"name\": \"virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\",\r\n + succeeded\",\r\n \"time\": \"2021-07-08T04:09:50.7850987+00:00\"\r\n + \ }\r\n ]\r\n },\r\n {\r\n \"name\": \"virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-05-25T10:42:50.7440243+00:00\"\r\n - \ }\r\n ]\r\n },\r\n {\r\n \"name\": \"virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\",\r\n + succeeded\",\r\n \"time\": \"2021-07-08T04:09:50.7850987+00:00\"\r\n + \ }\r\n ]\r\n },\r\n {\r\n \"name\": \"virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-05-25T10:42:50.7440243+00:00\"\r\n + succeeded\",\r\n \"time\": \"2021-07-08T04:09:50.7850987+00:00\"\r\n \ }\r\n ]\r\n }\r\n ],\r\n \"extensions\": [\r\n {\r\n \ \"name\": \"virtualmachineextensionx15cf0eff\",\r\n \"type\": \"Microsoft.Azure.NetworkWatcher.NetworkWatcherAgentWindows\",\r\n \ \"typeHandlerVersion\": \"1.4.1693.3\",\r\n \"statuses\": [\r\n @@ -1201,7 +1154,7 @@ interactions: extension name: , version: 1.4.1693.3).\"\r\n }\r\n ]\r\n }\r\n \ ],\r\n \"hyperVGeneration\": \"V1\",\r\n \"statuses\": [\r\n {\r\n \ \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n - \ \"displayStatus\": \"Provisioning succeeded\",\r\n \"time\": \"2021-05-25T10:46:34.9939773+00:00\"\r\n + \ \"displayStatus\": \"Provisioning succeeded\",\r\n \"time\": \"2021-07-08T04:13:09.2705772+00:00\"\r\n \ },\r\n {\r\n \"code\": \"PowerState/running\",\r\n \"level\": \"Info\",\r\n \"displayStatus\": \"VM running\"\r\n }\r\n ]\r\n}" headers: @@ -1212,7 +1165,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:46:50 GMT + - Thu, 08 Jul 2021 04:13:22 GMT expires: - '-1' pragma: @@ -1229,7 +1182,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3987,Microsoft.Compute/LowCostGet30Min;31939 + - Microsoft.Compute/LowCostGet3Min;3994,Microsoft.Compute/LowCostGet30Min;31993 status: code: 200 message: OK @@ -1243,8 +1196,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/extensions/virtualmachineextensionx15cf0eff?api-version=2021-03-01 response: @@ -1264,7 +1217,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:46:51 GMT + - Thu, 08 Jul 2021 04:13:23 GMT expires: - '-1' pragma: @@ -1281,7 +1234,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3986,Microsoft.Compute/LowCostGet30Min;31938 + - Microsoft.Compute/LowCostGet3Min;3993,Microsoft.Compute/LowCostGet30Min;31992 status: code: 200 message: OK @@ -1295,15 +1248,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/runCommands/RunPowerShellScript?api-version=2021-03-01 response: body: string: "{\r\n \"script\": [\r\n \"param(\\r\\n [string]$arg1,\\r\\n [string]$arg2\\r\\n)\\r\\nWrite-Host This is a sample script with parameters $arg1 $arg2\\r\\n\\r\\n# SIG # Begin - signature block\\r\\n# MIIjkQYJKoZIhvcNAQcCoIIjgjCCI34CAQExDzANBglghkgBZQMEAgEFADB5Bgor\\r\\n# + signature block\\r\\n# MIIjhQYJKoZIhvcNAQcCoIIjdjCCI3ICAQExDzANBglghkgBZQMEAgEFADB5Bgor\\r\\n# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG\\r\\n# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCB6jm9GJUxEj/xj\\r\\n# xRn7NMmK1YlgeGDCHEVx3xVyCBNnmaCCDYEwggX/MIID56ADAgECAhMzAAAB32vw\\r\\n# LpKnSrTQAAAAAAHfMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD\\r\\n# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy\\r\\n# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p\\r\\n# @@ -1341,68 +1294,68 @@ interactions: wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ\\r\\n# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j\\r\\n# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B\\r\\n# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96\\r\\n# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7\\r\\n# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I\\r\\n# - RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVZjCCFWICAQEwgZUwfjELMAkG\\r\\n# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx\\r\\n# + RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVWjCCFVYCAQEwgZUwfjELMAkG\\r\\n# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx\\r\\n# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z\\r\\n# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAd9r8C6Sp0q00AAAAAAB3zAN\\r\\n# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor\\r\\n# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgtFV7nVIA\\r\\n# MzAyvGRGFyVFPBXkTNlNDitxIkf6V1ugHIUwQgYKKwYBBAGCNwIBDDE0MDKgFIAS\\r\\n# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN\\r\\n# BgkqhkiG9w0BAQEFAASCAQCdcZkwG3N2yyK8zjw+MCmVYaQKrdUoDeuk/eGP1cNs\\r\\n# 2/0LZ1Nl5T1BXbVxIXU8gqL9GzokG58Fo1kTzUx0Vk/mJyAaV+KHVPDe0pIfreZL\\r\\n# cosVVdCKCXc6zhBrapOG/fY5bmrhSMVsGGe04uvInKlItOltcAc1xx/z3yl3e4L7\\r\\n# d1esSaFrr+e95j4YwkCuQ8cUiAMWi9817841qYi36oIwVgsE29/d2b7+l5S2eEDy\\r\\n# - 0Umdiz2jWVXfSA6CePldzhOk5ySI5ShcBpn2b132gIs5lWlj3r1OD/lkOgOjQhSN\\r\\n# khCltIJso0c+f+LP822OJeHCSc1S6aKMH54rsrLZlSr9oYIS8DCCEuwGCisGAQQB\\r\\n# - gjcDAwExghLcMIIS2AYJKoZIhvcNAQcCoIISyTCCEsUCAQMxDzANBglghkgBZQME\\r\\n# AgEFADCCAVQGCyqGSIb3DQEJEAEEoIIBQwSCAT8wggE7AgEBBgorBgEEAYRZCgMB\\r\\n# - MDEwDQYJYIZIAWUDBAIBBQAEICye+7PcMlsaxZQZ4xS/CJz3pTAcisYNJPqQgd+y\\r\\n# OPl2AgZgifpDqiEYEjIwMjEwNTEwMjM1NTA2LjI3WjAEgAIB9KCB1KSB0TCBzjEL\\r\\n# - MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v\\r\\n# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcGA1UECxMgTWlj\\r\\n# - cm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRvIFJpY28xJjAkBgNVBAsTHVRoYWxlcyBU\\r\\n# U1MgRVNOOkY3QTYtRTI1MS0xNTBBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1T\\r\\n# - dGFtcCBTZXJ2aWNloIIORDCCBPUwggPdoAMCAQICEzMAAAFZn/x+Xyzq8kMAAAAA\\r\\n# AVkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp\\r\\n# - bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw\\r\\n# b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw\\r\\n# - HhcNMjEwMTE0MTkwMjE1WhcNMjIwNDExMTkwMjE1WjCBzjELMAkGA1UEBhMCVVMx\\r\\n# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT\\r\\n# - FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcGA1UECxMgTWljcm9zb2Z0IE9wZXJh\\r\\n# dGlvbnMgUHVlcnRvIFJpY28xJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkY3QTYt\\r\\n# - RTI1MS0xNTBBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl\\r\\n# MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArnjEYclnxIdES00igGj0\\r\\n# - AboyujyARkK3xaBX+Y10i3a0w4/fNVhTj6xGwibFPB/MkQMFZpNzsvGUTL/XfTZ9\\r\\n# GZ39HanCdjunJP3TK9kCZBAtnoP59oYHDCGLmut7+2YEl1sBcVnyovYkNzi3EGff\\r\\n# - QyvULwMUF2siPBs/6LZF0A5pLAiz/FCwx5kDPe/mP1UR3Crz6IzphwtyoqtgDA/4\\r\\n# 4TnzfvVJPmSPZ/uq5Oh5NeFK8NzMpitWiQvdmfT4o0CdumnisfW1fKaaBdByBULP\\r\\n# - UT8TLw0Sy9nUWNXlA/qi8MxPxgCjsrNpi9PgjH7ExW9b7X/UydhpqhHxsudDGZNk\\r\\n# 4wIDAQABo4IBGzCCARcwHQYDVR0OBBYEFPbQqYVGvK365Osn14jCPLLpN2PnMB8G\\r\\n# - A1UdIwQYMBaAFNVjOlyKMZDzQ3t8RhvFM2hahW1VMFYGA1UdHwRPME0wS6BJoEeG\\r\\n# RWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Rp\\r\\n# - bVN0YVBDQV8yMDEwLTA3LTAxLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUH\\r\\n# MAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljVGltU3Rh\\r\\n# - UENBXzIwMTAtMDctMDEuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYB\\r\\n# BQUHAwgwDQYJKoZIhvcNAQELBQADggEBAI2RVBLoD4GGt8Y4IBajcpy5Rrh6y2nP\\r\\n# - Kf5kuWSHSkmYAmngRQOstayJ5gJ/ajKhzwqNUwL40cUVW8cutIyFadHkW1jqXdnp\\r\\n# Sv0hMFLPriPnBNFETy8ilCIdViNFU08ZHa2Kobmco/n6wPStkjjrg4U3Pift6sMk\\r\\n# - 6lXsibUv+wDB9f4YehziPmt+4C5BMVjzax1i+0czgtPHBX33u6GUWznagdql0VbU\\r\\n# pe3q8zERedJfyyhB9R34z5ircnu51zpH3jUa7F93oDS95xXnomO+akKeDiNGSq4B\\r\\n# - 7J/90qZBRpHV8q8AsFECZmQBS1aKNL/cyR5C/+VS8dWjsY8XMn87fAkwggZxMIIE\\r\\n# WaADAgECAgphCYEqAAAAAAACMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJV\\r\\n# - UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE\\r\\n# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9v\\r\\n# - dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0xMDA3MDEyMTM2NTVaFw0y\\r\\n# NTA3MDEyMTQ2NTVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u\\r\\n# - MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp\\r\\n# b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIBIjAN\\r\\n# - BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqR0NvHcRijog7PwTl/X6f2mUa3RU\\r\\n# ENWlCgCChfvtfGhLLF/Fw+Vhwna3PmYrW/AVUycEMR9BGxqVHc4JE458YTBZsTBE\\r\\n# - D/FgiIRUQwzXTbg4CLNC3ZOs1nMwVyaCo0UN0Or1R4HNvyRgMlhgRvJYR4YyhB50\\r\\n# YWeRX4FUsc+TTJLBxKZd0WETbijGGvmGgLvfYfxGwScdJGcSchohiq9LZIlQYrFd\\r\\n# - /XcfPfBXday9ikJNQFHRD5wGPmd/9WbAA5ZEfu/QS/1u5ZrKsajyeioKMfDaTgaR\\r\\n# togINeh4HLDpmc085y9Euqf03GS9pAHBIAmTeM38vMDJRF1eFpwBBU8iTQIDAQAB\\r\\n# - o4IB5jCCAeIwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFNVjOlyKMZDzQ3t8\\r\\n# RhvFM2hahW1VMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\\r\\n# - hjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fO\\r\\n# mhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\\r\\n# - a2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggr\\r\\n# BgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNv\\r\\n# - bS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MIGgBgNVHSAB\\r\\n# Af8EgZUwgZIwgY8GCSsGAQQBgjcuAzCBgTA9BggrBgEFBQcCARYxaHR0cDovL3d3\\r\\n# - dy5taWNyb3NvZnQuY29tL1BLSS9kb2NzL0NQUy9kZWZhdWx0Lmh0bTBABggrBgEF\\r\\n# BQcCAjA0HjIgHQBMAGUAZwBhAGwAXwBQAG8AbABpAGMAeQBfAFMAdABhAHQAZQBt\\r\\n# - AGUAbgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEAB+aIUQ3ixuCYP4FxAz2do6Eh\\r\\n# b7Prpsz1Mb7PBeKp/vpXbRkws8LFZslq3/Xn8Hi9x6ieJeP5vO1rVFcIK1GCRBL7\\r\\n# - uVOMzPRgEop2zEBAQZvcXBf/XPleFzWYJFZLdO9CEMivv3/Gf/I3fVo/HPKZeUqR\\r\\n# UgCvOA8X9S95gWXZqbVr5MfO9sp6AG9LMEQkIjzP7QOllo9ZKby2/QThcJ8ySif9\\r\\n# - Va8v/rbljjO7Yl+a21dA6fHOmWaQjP9qYn/dxUoLkSbiOewZSnFjnXshbcOco6I8\\r\\n# +n99lmqQeKZt0uGc+R38ONiU9MalCpaGpL2eGq4EQoO4tYCbIjggtSXlZOz39L9+\\r\\n# - Y1klD3ouOVd2onGqBooPiRa6YacRy5rYDkeagMXQzafQ732D8OE7cQnfXXSYIghh\\r\\n# 2rBQHm+98eEA3+cxB6STOvdlR3jo+KhIq/fecn5ha293qYHLpwmsObvsxsvYgrRy\\r\\n# - zR30uIUBHoD7G4kqVDmyW9rIDVWZeodzOwjmmC3qjeAzLhIp9cAvVCch98isTtoo\\r\\n# uLGp25ayp0Kiyc8ZQU3ghvkqmqMRZjDTu3QyS99je/WZii8bxyGvWbWu3EQ8l1Bx\\r\\n# - 16HSxVXjad5XwdHeMMD9zOZN+w2/XU/pnR4ZOC+8z1gFLu8NoFA12u8JJxzVs341\\r\\n# Hgi62jbb01+P3nSISRKhggLSMIICOwIBATCB/KGB1KSB0TCBzjELMAkGA1UEBhMC\\r\\n# - VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV\\r\\n# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcGA1UECxMgTWljcm9zb2Z0IE9w\\r\\n# - ZXJhdGlvbnMgUHVlcnRvIFJpY28xJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkY3\\r\\n# QTYtRTI1MS0xNTBBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2\\r\\n# - aWNloiMKAQEwBwYFKw4DAhoDFQAqdssAjx+E7nxIJaulmde9cRmyEaCBgzCBgKR+\\r\\n# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS\\r\\n# - ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT\\r\\n# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBBQUAAgUA\\r\\n# - 5EOhvDAiGA8yMDIxMDUxMDE2MTI0NFoYDzIwMjEwNTExMTYxMjQ0WjB3MD0GCisG\\r\\n# AQQBhFkKBAExLzAtMAoCBQDkQ6G8AgEAMAoCAQACAiHnAgH/MAcCAQACAhFTMAoC\\r\\n# - BQDkRPM8AgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEA\\r\\n# AgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAIChiGS06WIDgoSWj\\r\\n# - Q9tbjcp5y92qZNrvFbXTIy+snY86X9oNnL4Kain+hscXioO62oJqD0SPjRJCdxbA\\r\\n# /IH3nY1IEosfLjV54am/JQulZb6+/ZCXg05mm0423c+ZJw3Tk6BCgL+00KCRBoxk\\r\\n# - IgkGk2HR6ZKm6dj/Fhjh6EzreDoxggMNMIIDCQIBATCBkzB8MQswCQYDVQQGEwJV\\r\\n# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE\\r\\n# - ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt\\r\\n# ZS1TdGFtcCBQQ0EgMjAxMAITMwAAAVmf/H5fLOryQwAAAAABWTANBglghkgBZQME\\r\\n# - AgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJ\\r\\n# BDEiBCCJQbG7rky8z1MtMECT5qqOLKgfY1QKHS0/EywXjQFoOzCB+gYLKoZIhvcN\\r\\n# - AQkQAi8xgeowgecwgeQwgb0EIAFYG8+/MOZ815LOYlPj50YD66P+qrv98qRSffqv\\r\\n# E0PoMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x\\r\\n# - EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv\\r\\n# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAFZ\\r\\n# - n/x+Xyzq8kMAAAAAAVkwIgQg5GvzAxeK08zXJpHMDwEn04hcuO1QVN/cfwsQt+NN\\r\\n# tHcwDQYJKoZIhvcNAQELBQAEggEAghMeN+BOvB/U+OyNpaI/f/fJQ9/qEnuxS+GW\\r\\n# - 6TmZhp8umBSJBg6DMOmpb0JWUK5f4ORnoN/w2Y0PDt3WFTACaSZIYRvLY1FOdyJH\\r\\n# APXo2kyixWLm1TQZjQdA5UxUxSrdhNStMK9php/vDUn+WmA3ttEZBgK28VK1KRn7\\r\\n# - wN9l5VE/VyXOBzkfrPH4Mcd1hhf7MmaIXCyGyjiNRBx3Ai4r5troGz797FyS/nAV\\r\\n# U0LGBUk4QRSof8KUYxm+Q6aAuhIglt2Hr3dBXcTZc+4MK5V7ePNqCs2wA77PnOqd\\r\\n# - gPFIUada4RhtjCuulw5ulZjBtQbLt05mg0x1aKOpi2O2eUXwVw==\\r\\n# SIG # End signature - block\\r\\n\"\r\n ],\r\n \"parameters\": [\r\n {\r\n \"name\": \"arg1\",\r\n - \ \"type\": \"string\",\r\n \"required\": false\r\n },\r\n {\r\n - \ \"name\": \"arg2\",\r\n \"type\": \"string\",\r\n \"required\": - false\r\n }\r\n ],\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2016-11-17/runcommands.json\",\r\n + 0Umdiz2jWVXfSA6CePldzhOk5ySI5ShcBpn2b132gIs5lWlj3r1OD/lkOgOjQhSN\\r\\n# khCltIJso0c+f+LP822OJeHCSc1S6aKMH54rsrLZlSr9oYIS5DCCEuAGCisGAQQB\\r\\n# + gjcDAwExghLQMIISzAYJKoZIhvcNAQcCoIISvTCCErkCAQMxDzANBglghkgBZQME\\r\\n# AgEFADCCAVAGCyqGSIb3DQEJEAEEoIIBPwSCATswggE3AgEBBgorBgEEAYRZCgMB\\r\\n# + MDEwDQYJYIZIAWUDBAIBBQAEICye+7PcMlsaxZQZ4xS/CJz3pTAcisYNJPqQgd+y\\r\\n# OPl2AgZgrpmc4xkYEjIwMjEwNjE3MTgyMzUwLjI0WjAEgAIB9KCB0KSBzTCByjEL\\r\\n# + MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v\\r\\n# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWlj\\r\\n# + cm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBF\\r\\n# U046M0U3QS1FMzU5LUEyNUQxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1w\\r\\n# + IFNlcnZpY2Wggg48MIIE8TCCA9mgAwIBAgITMwAAAVIwS12JrOZwRwAAAAABUjAN\\r\\n# BgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv\\r\\n# + bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0\\r\\n# aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0y\\r\\n# + MDExMTIxODI2MDVaFw0yMjAyMTExODI2MDVaMIHKMQswCQYDVQQGEwJVUzETMBEG\\r\\n# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj\\r\\n# + cm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBP\\r\\n# cGVyYXRpb25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjozRTdBLUUzNTktQTI1\\r\\n# + RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCASIwDQYJ\\r\\n# KoZIhvcNAQEBBQADggEPADCCAQoCggEBAK7MboSJmHS1oJJuzAyK6kxNidtugXOO\\r\\n# + PUO4Ntu9PRFcoEJWX+6YD5TLbXgOYeIWGR65F2UsHTJrlL26bloqvuUEGpnO+0qA\\r\\n# Y2AJFsNMb1i7qTMPM9PNBG6VUi+hZXLSAhOcTKgnU7ebkg+mwsE1AJ1eyH7dNkXv\\r\\n# + ckBy5vbVufGb/izF7jNN1t220Gupfz8kkXZUScA/4wG8XZRBKjpdQBpMoL8c8M8J\\r\\n# x78iw2gDHEsMjXAeEiWqNEGe3gczkdwoetmu8f68eeKGKR2UTOHd+NAWjCTV8bs9\\r\\n# + WGY7rQ7m9V2oD4f3fXiEcQ1AjRxuj5KRKLxJIlIs2LGCPR5Z49OHulsCAwEAAaOC\\r\\n# ARswggEXMB0GA1UdDgQWBBSE3a7arCPWXZzaH+RQsO4FEmx7FDAfBgNVHSMEGDAW\\r\\n# + gBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8v\\r\\n# Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNUaW1TdGFQQ0Ff\\r\\n# + MjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRw\\r\\n# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0YVBDQV8yMDEw\\r\\n# + LTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G\\r\\n# CSqGSIb3DQEBCwUAA4IBAQBVxSdx8WpJrNBsMRd/d3XT+6mJZBTkd1NvAb2/1t5U\\r\\n# + gNobigQvIhw0Tp7oJs4EyU9T6yalhhycreO5w2oKHCq4ubF2LaI/LiJDq+MB0Gn3\\r\\n# 5UVaWsGpSw1dnOMKmAwJmPpu7xerQ2d2XhbIFsjQmS7ry9Q0bjCwx0o/d3P7UzOT\\r\\n# + 1JSZrePsfI0Dnn12j2eEqahkyfl21/TdC/GVoTAwBo+T3G5S/0E3xw28WelaTiYs\\r\\n# RFBbq0DetcrSygQhIpNgbs6x7ugxdkNg9bF/2gWFgrNnD9LCeF0GiPZLl7JgTcC4\\r\\n# + X9lfNHeF2nf9cbNl450RF8XLWsLtkHCEMhqN4UyLncafMIIGcTCCBFmgAwIBAgIK\\r\\n# YQmBKgAAAAAAAjANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV\\r\\n# + BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv\\r\\n# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm\\r\\n# + aWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0\\r\\n# NjU1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE\\r\\n# + BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD\\r\\n# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcN\\r\\n# + AQEBBQADggEPADCCAQoCggEBAKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX7\\r\\n# 7XxoSyxfxcPlYcJ2tz5mK1vwFVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM\\r\\n# + 1024OAizQt2TrNZzMFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHP\\r\\n# k0ySwcSmXdFhE24oxhr5hoC732H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3Ws\\r\\n# + vYpCTUBR0Q+cBj5nf/VmwAOWRH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw\\r\\n# 6ZnNPOcvRLqn9NxkvaQBwSAJk3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHi\\r\\n# + MBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVt\\r\\n# VTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0T\\r\\n# + AQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNV\\r\\n# HR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9w\\r\\n# + cm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEE\\r\\n# TjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl\\r\\n# + cnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGS\\r\\n# MIGPBgkrBgEEAYI3LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9z\\r\\n# + b2Z0LmNvbS9QS0kvZG9jcy9DUFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4y\\r\\n# IB0ATABlAGcAYQBsAF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAu\\r\\n# + IB0wDQYJKoZIhvcNAQELBQADggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+\\r\\n# zwXiqf76V20ZMLPCxWbJat/15/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKK\\r\\n# + dsxAQEGb3FwX/1z5Xhc1mCRWS3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/Uv\\r\\n# eYFl2am1a+THzvbKegBvSzBEJCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4z\\r\\n# + u2JfmttXQOnxzplmkIz/amJ/3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHim\\r\\n# bdLhnPkd/DjYlPTGpQqWhqS9nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlX\\r\\n# + dqJxqgaKD4kWumGnEcua2A5HmoDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHh\\r\\n# AN/nMQekkzr3ZUd46PioSKv33nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A\\r\\n# + +xuJKlQ5slvayA1VmXqHczsI5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdC\\r\\n# osnPGUFN4Ib5KpqjEWYw07t0MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42ne\\r\\n# + V8HR3jDA/czmTfsNv11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nf\\r\\n# j950iEkSoYICzjCCAjcCAQEwgfihgdCkgc0wgcoxCzAJBgNVBAYTAlVTMRMwEQYD\\r\\n# + VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy\\r\\n# b3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9w\\r\\n# + ZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjNFN0EtRTM1OS1BMjVE\\r\\n# MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYF\\r\\n# + Kw4DAhoDFQC/bp5Ulq6ZyZNyF3qGprJAw0NeW6CBgzCBgKR+MHwxCzAJBgNVBAYT\\r\\n# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD\\r\\n# + VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBU\\r\\n# aW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBBQUAAgUA5HVvvTAiGA8yMDIx\\r\\n# + MDYxNzE0NTI0NVoYDzIwMjEwNjE4MTQ1MjQ1WjB3MD0GCisGAQQBhFkKBAExLzAt\\r\\n# MAoCBQDkdW+9AgEAMAoCAQACAhMMAgH/MAcCAQACAhGjMAoCBQDkdsE9AgEAMDYG\\r\\n# + CisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEA\\r\\n# AgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAWH2uUm8L5ZAOfZ1hK6F7nsPP2D5YHFen\\r\\n# + 6xfPDeKHCVTHFx3Syo/AfJO8MAjM2H2mWiB5BY2kfQUkTw5gWcPRO2qgg0mEu4KR\\r\\n# XcLhDgsUB0qYpD0uW3lcY9sdVyJ2kfxSCKzED+2UCNZBBAj3k47kN5f+4xXaGdVR\\r\\n# + H/lMgmAhAXwxggMNMIIDCQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK\\r\\n# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0\\r\\n# + IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg\\r\\n# MjAxMAITMwAAAVIwS12JrOZwRwAAAAABUjANBglghkgBZQMEAgEFAKCCAUowGgYJ\\r\\n# + KoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCAzYs+Y/Zdl\\r\\n# ZA/2jCDt+ETpvii1BrEoliHQA2SybVLq1DCB+gYLKoZIhvcNAQkQAi8xgeowgecw\\r\\n# + geQwgb0EIJPuXMejiyVQjF8QanwtdA2KT95wrq+64ZYhyYGuuyemMIGYMIGApH4w\\r\\n# fDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl\\r\\n# + ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMd\\r\\n# TWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAFSMEtdiazmcEcAAAAA\\r\\n# + AVIwIgQgh5ZLnHfhk2RwWk8svJSUxAnSyakqyQFNhm/pnHOyfCswDQYJKoZIhvcN\\r\\n# AQELBQAEggEASvG/aMEqHX4reRULoNavv8MVsgMygUiN9uxohEvUl6ZiMfg9ntOs\\r\\n# + KlP4h5zGIP9fVUb1hgNzgC/QVZlEIuYNW+KPTjIKW0Ah4z6da0EXXHGqNnPBTxOU\\r\\n# tO1yM0lJrAqPciy06uTRRmuPNnCait9mQTmMsOIRvOddUMCwnD/Vc1zA/CUM145Q\\r\\n# + nP9KMcBgoBYh2efBR/hxWJQoOk7st4NW6wjpdwB31eKN8M7F48oX9jIz5lsB6hqn\\r\\n# 0ksmqt9R3XBAykklM9NTbY2anTwEzK93vY/gx5Hy2dXWDmEj6keE5+D5yTKtPnyW\\r\\n# + ZUq0C+kDW7BETs7VKNWYL0RSNk9cNxTnLg==\\r\\n# SIG # End signature block\\r\\n\"\r\n + \ ],\r\n \"parameters\": [\r\n {\r\n \"name\": \"arg1\",\r\n \"type\": + \"string\",\r\n \"required\": false\r\n },\r\n {\r\n \"name\": + \"arg2\",\r\n \"type\": \"string\",\r\n \"required\": false\r\n + \ }\r\n ],\r\n \"$schema\": \"http://schema.management.azure.com/schemas/2016-11-17/runcommands.json\",\r\n \ \"id\": \"RunPowerShellScript\",\r\n \"osType\": \"Windows\",\r\n \"label\": \"Executes a PowerShell script\",\r\n \"description\": \"Custom multiline PowerShell script should be defined in script property. Optional parameters @@ -1411,11 +1364,11 @@ interactions: cache-control: - no-cache content-length: - - '14045' + - '14029' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:46:51 GMT + - Thu, 08 Jul 2021 04:13:23 GMT expires: - '-1' pragma: @@ -1446,8 +1399,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/extensions?api-version=2021-03-01 response: @@ -1467,7 +1420,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:46:51 GMT + - Thu, 08 Jul 2021 04:13:23 GMT expires: - '-1' pragma: @@ -1484,7 +1437,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3985,Microsoft.Compute/LowCostGet30Min;31937 + - Microsoft.Compute/LowCostGet3Min;3992,Microsoft.Compute/LowCostGet30Min;31991 status: code: 200 message: OK @@ -1498,36 +1451,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff?api-version=2021-03-01 response: body: string: "{\r\n \"name\": \"virtualmachinex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"vmId\": \"59f59d01-504a-456a-b061-93cead79500b\",\r\n + \ \"properties\": {\r\n \"vmId\": \"e97d58c0-74f3-4960-86b7-f630f62d1e4c\",\r\n \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D2_v2\"\r\n },\r\n \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"14393.4467.2106061537\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"name\": \"myVMosdisk\",\r\n \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/myVMosdisk\"\r\n \ },\r\n \"diskSizeGB\": 127,\r\n \"deleteOption\": \"Detach\"\r\n \ },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": 0,\r\n - \ \"name\": \"virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\",\r\n + \ \"name\": \"virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\",\r\n \ \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\"\r\n \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n \"deleteOption\": \"Detach\"\r\n },\r\n {\r\n - \ \"lun\": 1,\r\n \"name\": \"virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\",\r\n + \ \"lun\": 1,\r\n \"name\": \"virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\",\r\n \ \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\"\r\n \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n \"deleteOption\": \"Detach\"\r\n }\r\n ]\r\n \ },\r\n \"osProfile\": {\r\n \"computerName\": \"myVM\",\r\n \"adminUsername\": @@ -1553,7 +1506,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:46:51 GMT + - Thu, 08 Jul 2021 04:13:23 GMT expires: - '-1' pragma: @@ -1570,7 +1523,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3984,Microsoft.Compute/LowCostGet30Min;31936 + - Microsoft.Compute/LowCostGet3Min;3991,Microsoft.Compute/LowCostGet30Min;31990 status: code: 200 message: OK @@ -1588,8 +1541,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/runCommand?api-version=2021-03-01 response: @@ -1597,17 +1550,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61b5fcc7-e667-424f-bdcf-5325fe838455?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/41e5b07d-13b4-4f4e-bf36-b4c86deb45e1?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:46:51 GMT + - Thu, 08 Jul 2021 04:13:23 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61b5fcc7-e667-424f-bdcf-5325fe838455?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/41e5b07d-13b4-4f4e-bf36-b4c86deb45e1?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1620,7 +1573,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/UpdateVM3Min;238,Microsoft.Compute/UpdateVM30Min;1198 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -1634,14 +1587,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61b5fcc7-e667-424f-bdcf-5325fe838455?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/41e5b07d-13b4-4f4e-bf36-b4c86deb45e1?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:46:51.4940016+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"61b5fcc7-e667-424f-bdcf-5325fe838455\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:13:24.0518585+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"41e5b07d-13b4-4f4e-bf36-b4c86deb45e1\"\r\n}" headers: cache-control: - no-cache @@ -1650,7 +1603,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:47:21 GMT + - Thu, 08 Jul 2021 04:13:53 GMT expires: - '-1' pragma: @@ -1667,7 +1620,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29982 + - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29986 status: code: 200 message: OK @@ -1681,17 +1634,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61b5fcc7-e667-424f-bdcf-5325fe838455?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/41e5b07d-13b4-4f4e-bf36-b4c86deb45e1?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:46:51.4940016+00:00\",\r\n \"endTime\": - \"2021-05-25T10:47:22.0553044+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T04:13:24.0518585+00:00\",\r\n \"endTime\": + \"2021-07-08T04:13:54.6145095+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\"value\":[{\"code\":\"ComponentStatus/StdOut/succeeded\",\"level\":\"Info\",\"displayStatus\":\"Provisioning succeeded\",\"message\":\"This is a sample script with parameters \"},{\"code\":\"ComponentStatus/StdErr/succeeded\",\"level\":\"Info\",\"displayStatus\":\"Provisioning - succeeded\",\"message\":\"\"}]}\r\n },\r\n \"name\": \"61b5fcc7-e667-424f-bdcf-5325fe838455\"\r\n}" + succeeded\",\"message\":\"\"}]}\r\n },\r\n \"name\": \"41e5b07d-13b4-4f4e-bf36-b4c86deb45e1\"\r\n}" headers: cache-control: - no-cache @@ -1700,7 +1653,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:47:51 GMT + - Thu, 08 Jul 2021 04:14:24 GMT expires: - '-1' pragma: @@ -1717,7 +1670,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29980 + - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29984 status: code: 200 message: OK @@ -1731,10 +1684,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61b5fcc7-e667-424f-bdcf-5325fe838455?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/41e5b07d-13b4-4f4e-bf36-b4c86deb45e1?monitor=true&api-version=2021-03-01 response: body: string: '{"value":[{"code":"ComponentStatus/StdOut/succeeded","level":"Info","displayStatus":"Provisioning @@ -1748,7 +1701,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:47:51 GMT + - Thu, 08 Jul 2021 04:14:24 GMT expires: - '-1' pragma: @@ -1765,7 +1718,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29979 + - Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29983 status: code: 200 message: OK @@ -1781,8 +1734,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/restart?api-version=2021-03-01 response: @@ -1790,17 +1743,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/90ccabf6-5be1-4f1f-b93f-8830369be3c2?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/37886e05-45bc-4e85-8978-42fcba0f28de?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:47:51 GMT + - Thu, 08 Jul 2021 04:14:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/90ccabf6-5be1-4f1f-b93f-8830369be3c2?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/37886e05-45bc-4e85-8978-42fcba0f28de?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1813,7 +1766,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/UpdateVM3Min;238,Microsoft.Compute/UpdateVM30Min;1197 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 202 message: Accepted @@ -1827,24 +1780,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/90ccabf6-5be1-4f1f-b93f-8830369be3c2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/37886e05-45bc-4e85-8978-42fcba0f28de?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:47:52.2437749+00:00\",\r\n \"endTime\": - \"2021-05-25T10:47:52.6500414+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"90ccabf6-5be1-4f1f-b93f-8830369be3c2\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:14:24.786597+00:00\",\r\n \"endTime\": + \"2021-07-08T04:14:25.1147095+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"37886e05-45bc-4e85-8978-42fcba0f28de\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:48:22 GMT + - Thu, 08 Jul 2021 04:14:54 GMT expires: - '-1' pragma: @@ -1861,7 +1814,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14989,Microsoft.Compute/GetOperation30Min;29977 + - Microsoft.Compute/GetOperation3Min;14989,Microsoft.Compute/GetOperation30Min;29981 status: code: 200 message: OK @@ -1875,10 +1828,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/90ccabf6-5be1-4f1f-b93f-8830369be3c2?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/37886e05-45bc-4e85-8978-42fcba0f28de?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1888,7 +1841,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:48:22 GMT + - Thu, 08 Jul 2021 04:14:54 GMT expires: - '-1' pragma: @@ -1901,7 +1854,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29976 + - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29980 status: code: 200 message: OK @@ -1917,8 +1870,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/powerOff?skipShutdown=false&api-version=2021-03-01 response: @@ -1926,17 +1879,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/edcb413e-d9b8-496c-be0a-4510c0833b82?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/76315a14-dd44-4a12-9caa-b3dbe91b8c61?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:48:22 GMT + - Thu, 08 Jul 2021 04:14:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/edcb413e-d9b8-496c-be0a-4510c0833b82?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/76315a14-dd44-4a12-9caa-b3dbe91b8c61?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1949,7 +1902,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/UpdateVM3Min;237,Microsoft.Compute/UpdateVM30Min;1196 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 202 message: Accepted @@ -1963,15 +1916,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/edcb413e-d9b8-496c-be0a-4510c0833b82?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/76315a14-dd44-4a12-9caa-b3dbe91b8c61?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:48:22.8846953+00:00\",\r\n \"endTime\": - \"2021-05-25T10:48:29.8536251+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"edcb413e-d9b8-496c-be0a-4510c0833b82\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:14:55.7555784+00:00\",\r\n \"endTime\": + \"2021-07-08T04:15:03.1774504+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"76315a14-dd44-4a12-9caa-b3dbe91b8c61\"\r\n}" headers: cache-control: - no-cache @@ -1980,7 +1933,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:48:52 GMT + - Thu, 08 Jul 2021 04:15:25 GMT expires: - '-1' pragma: @@ -1997,7 +1950,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29974 + - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29981 status: code: 200 message: OK @@ -2011,10 +1964,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/edcb413e-d9b8-496c-be0a-4510c0833b82?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/76315a14-dd44-4a12-9caa-b3dbe91b8c61?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -2024,7 +1977,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:48:52 GMT + - Thu, 08 Jul 2021 04:15:25 GMT expires: - '-1' pragma: @@ -2037,7 +1990,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29973 + - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29980 status: code: 200 message: OK @@ -2053,8 +2006,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/start?api-version=2021-03-01 response: @@ -2062,17 +2015,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d780a5b2-6026-4e2b-9ae6-312b4d4d4870?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7720360c-1ec5-40a6-8fe7-39dde2f5c19d?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:48:52 GMT + - Thu, 08 Jul 2021 04:15:25 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d780a5b2-6026-4e2b-9ae6-312b4d4d4870?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7720360c-1ec5-40a6-8fe7-39dde2f5c19d?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -2085,7 +2038,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/UpdateVM3Min;236,Microsoft.Compute/UpdateVM30Min;1195 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1196' status: code: 202 message: Accepted @@ -2099,109 +2052,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d780a5b2-6026-4e2b-9ae6-312b4d4d4870?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7720360c-1ec5-40a6-8fe7-39dde2f5c19d?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:48:53.4316919+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"d780a5b2-6026-4e2b-9ae6-312b4d4d4870\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:49:02 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29972 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d780a5b2-6026-4e2b-9ae6-312b4d4d4870?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:48:53.4316919+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"d780a5b2-6026-4e2b-9ae6-312b4d4d4870\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:49:11 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29970 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d780a5b2-6026-4e2b-9ae6-312b4d4d4870?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:48:53.4316919+00:00\",\r\n \"endTime\": - \"2021-05-25T10:49:17.6817375+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"d780a5b2-6026-4e2b-9ae6-312b4d4d4870\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:15:26.2869381+00:00\",\r\n \"endTime\": + \"2021-07-08T04:15:35.8494853+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"7720360c-1ec5-40a6-8fe7-39dde2f5c19d\"\r\n}" headers: cache-control: - no-cache @@ -2210,7 +2069,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:49:42 GMT + - Thu, 08 Jul 2021 04:15:36 GMT expires: - '-1' pragma: @@ -2227,7 +2086,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29968 + - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29979 status: code: 200 message: OK @@ -2241,10 +2100,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d780a5b2-6026-4e2b-9ae6-312b4d4d4870?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7720360c-1ec5-40a6-8fe7-39dde2f5c19d?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -2254,7 +2113,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:49:42 GMT + - Thu, 08 Jul 2021 04:15:36 GMT expires: - '-1' pragma: @@ -2267,7 +2126,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29967 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29977 status: code: 200 message: OK @@ -2285,8 +2144,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/extensions/virtualmachineextensionx15cf0eff?api-version=2021-03-01 response: @@ -2300,7 +2159,7 @@ interactions: \"1.4\"\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a2fd0a2f-a451-4b48-b823-cfc63092b510?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d4ad60b-04b6-4325-a6db-b171fda1b62a?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -2308,7 +2167,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:49:43 GMT + - Thu, 08 Jul 2021 04:15:37 GMT expires: - '-1' pragma: @@ -2325,9 +2184,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/UpdateVM3Min;236,Microsoft.Compute/UpdateVM30Min;1194 + - Microsoft.Compute/UpdateVM3Min;235,Microsoft.Compute/UpdateVM30Min;1194 x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1195' status: code: 200 message: OK @@ -2341,24 +2200,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a2fd0a2f-a451-4b48-b823-cfc63092b510?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/8d4ad60b-04b6-4325-a6db-b171fda1b62a?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:49:43.1977038+00:00\",\r\n \"endTime\": - \"2021-05-25T10:49:43.6664541+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"a2fd0a2f-a451-4b48-b823-cfc63092b510\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:15:36.8182617+00:00\",\r\n \"endTime\": + \"2021-07-08T04:15:37.115155+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"8d4ad60b-04b6-4325-a6db-b171fda1b62a\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:50:12 GMT + - Thu, 08 Jul 2021 04:16:06 GMT expires: - '-1' pragma: @@ -2375,7 +2234,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29972 + - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29976 status: code: 200 message: OK @@ -2389,8 +2248,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/extensions/virtualmachineextensionx15cf0eff?api-version=2021-03-01 response: @@ -2410,7 +2269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:50:12 GMT + - Thu, 08 Jul 2021 04:16:07 GMT expires: - '-1' pragma: @@ -2427,7 +2286,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3995,Microsoft.Compute/LowCostGet30Min;31937 + - Microsoft.Compute/LowCostGet3Min;3997,Microsoft.Compute/LowCostGet30Min;31989 status: code: 200 message: OK @@ -2443,8 +2302,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/extensions/virtualmachineextensionx15cf0eff?api-version=2021-03-01 response: @@ -2454,17 +2313,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/96ba536f-a2ed-4901-a1fa-ed5864cfdfff?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0c46c351-b2d6-408f-86ad-9eff8f04fa8e?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:50:13 GMT + - Thu, 08 Jul 2021 04:16:13 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/96ba536f-a2ed-4901-a1fa-ed5864cfdfff?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0c46c351-b2d6-408f-86ad-9eff8f04fa8e?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -2477,7 +2336,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/UpdateVM3Min;235,Microsoft.Compute/UpdateVM30Min;1193 x-ms-ratelimit-remaining-subscription-deletes: - - '14994' + - '14995' status: code: 202 message: Accepted @@ -2491,14 +2350,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/96ba536f-a2ed-4901-a1fa-ed5864cfdfff?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0c46c351-b2d6-408f-86ad-9eff8f04fa8e?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:50:13.9791079+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"96ba536f-a2ed-4901-a1fa-ed5864cfdfff\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:16:07.8340359+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"0c46c351-b2d6-408f-86ad-9eff8f04fa8e\"\r\n}" headers: cache-control: - no-cache @@ -2507,7 +2366,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:50:43 GMT + - Thu, 08 Jul 2021 04:16:43 GMT expires: - '-1' pragma: @@ -2524,7 +2383,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29971 + - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29975 status: code: 200 message: OK @@ -2538,15 +2397,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/96ba536f-a2ed-4901-a1fa-ed5864cfdfff?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0c46c351-b2d6-408f-86ad-9eff8f04fa8e?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:50:13.9791079+00:00\",\r\n \"endTime\": - \"2021-05-25T10:50:44.6197268+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"96ba536f-a2ed-4901-a1fa-ed5864cfdfff\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:16:07.8340359+00:00\",\r\n \"endTime\": + \"2021-07-08T04:16:55.4749124+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"0c46c351-b2d6-408f-86ad-9eff8f04fa8e\"\r\n}" headers: cache-control: - no-cache @@ -2555,7 +2414,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:51:14 GMT + - Thu, 08 Jul 2021 04:17:14 GMT expires: - '-1' pragma: @@ -2572,7 +2431,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29969 + - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29973 status: code: 200 message: OK @@ -2588,8 +2447,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/powerOff?skipShutdown=false&api-version=2021-03-01 response: @@ -2597,17 +2456,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dba629ca-187c-4a2e-984f-1467302b895d?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/9404eda1-6b6c-40f5-b0f8-eea058a4772a?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:51:14 GMT + - Thu, 08 Jul 2021 04:17:14 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dba629ca-187c-4a2e-984f-1467302b895d?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/9404eda1-6b6c-40f5-b0f8-eea058a4772a?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -2618,9 +2477,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/UpdateVM3Min;236,Microsoft.Compute/UpdateVM30Min;1192 + - Microsoft.Compute/UpdateVM3Min;235,Microsoft.Compute/UpdateVM30Min;1192 x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1195' status: code: 202 message: Accepted @@ -2634,15 +2493,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dba629ca-187c-4a2e-984f-1467302b895d?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/9404eda1-6b6c-40f5-b0f8-eea058a4772a?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:51:14.4009609+00:00\",\r\n \"endTime\": - \"2021-05-25T10:51:30.7291296+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"dba629ca-187c-4a2e-984f-1467302b895d\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:17:14.3343937+00:00\",\r\n \"endTime\": + \"2021-07-08T04:17:26.6157209+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"9404eda1-6b6c-40f5-b0f8-eea058a4772a\"\r\n}" headers: cache-control: - no-cache @@ -2651,7 +2510,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:51:44 GMT + - Thu, 08 Jul 2021 04:17:44 GMT expires: - '-1' pragma: @@ -2668,7 +2527,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29967 + - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29971 status: code: 200 message: OK @@ -2682,10 +2541,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dba629ca-187c-4a2e-984f-1467302b895d?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/9404eda1-6b6c-40f5-b0f8-eea058a4772a?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -2695,7 +2554,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:51:44 GMT + - Thu, 08 Jul 2021 04:17:44 GMT expires: - '-1' pragma: @@ -2708,7 +2567,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29966 + - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29970 status: code: 200 message: OK @@ -2724,8 +2583,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/reapply?api-version=2021-03-01 response: @@ -2733,17 +2592,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61f4d532-77c7-42c1-9073-d0d99f63d6d9?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ed8805ee-a029-4cea-8468-8317c9e217ce?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:51:44 GMT + - Thu, 08 Jul 2021 04:17:44 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61f4d532-77c7-42c1-9073-d0d99f63d6d9?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ed8805ee-a029-4cea-8468-8317c9e217ce?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -2754,9 +2613,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/UpdateVM3Min;236,Microsoft.Compute/UpdateVM30Min;1191 + - Microsoft.Compute/UpdateVM3Min;235,Microsoft.Compute/UpdateVM30Min;1191 x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1194' status: code: 202 message: Accepted @@ -2770,15 +2629,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61f4d532-77c7-42c1-9073-d0d99f63d6d9?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ed8805ee-a029-4cea-8468-8317c9e217ce?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:51:44.8697672+00:00\",\r\n \"endTime\": - \"2021-05-25T10:51:46.3697713+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"61f4d532-77c7-42c1-9073-d0d99f63d6d9\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:17:44.7407807+00:00\",\r\n \"endTime\": + \"2021-07-08T04:17:46.5064208+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"ed8805ee-a029-4cea-8468-8317c9e217ce\"\r\n}" headers: cache-control: - no-cache @@ -2787,7 +2646,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:52:14 GMT + - Thu, 08 Jul 2021 04:18:14 GMT expires: - '-1' pragma: @@ -2804,7 +2663,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14989,Microsoft.Compute/GetOperation30Min;29964 + - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29968 status: code: 200 message: OK @@ -2818,10 +2677,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/61f4d532-77c7-42c1-9073-d0d99f63d6d9?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ed8805ee-a029-4cea-8468-8317c9e217ce?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -2831,7 +2690,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:52:14 GMT + - Thu, 08 Jul 2021 04:18:14 GMT expires: - '-1' pragma: @@ -2844,7 +2703,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29963 + - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29967 status: code: 200 message: OK @@ -2860,8 +2719,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/redeploy?api-version=2021-03-01 response: @@ -2869,17 +2728,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/851b8483-2b79-4ccf-957f-cefd87a824f7?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3ca6b8dd-68ce-4f27-9761-2c85be88ba07?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:52:14 GMT + - Thu, 08 Jul 2021 04:18:14 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/851b8483-2b79-4ccf-957f-cefd87a824f7?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3ca6b8dd-68ce-4f27-9761-2c85be88ba07?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -2892,7 +2751,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/UpdateVM3Min;235,Microsoft.Compute/UpdateVM30Min;1190 x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1193' status: code: 202 message: Accepted @@ -2906,14 +2765,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/851b8483-2b79-4ccf-957f-cefd87a824f7?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3ca6b8dd-68ce-4f27-9761-2c85be88ba07?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:52:15.3228873+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"851b8483-2b79-4ccf-957f-cefd87a824f7\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:18:15.2566073+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"3ca6b8dd-68ce-4f27-9761-2c85be88ba07\"\r\n}" headers: cache-control: - no-cache @@ -2922,7 +2781,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:52:45 GMT + - Thu, 08 Jul 2021 04:18:44 GMT expires: - '-1' pragma: @@ -2939,7 +2798,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29961 + - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29965 status: code: 200 message: OK @@ -2953,14 +2812,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/851b8483-2b79-4ccf-957f-cefd87a824f7?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3ca6b8dd-68ce-4f27-9761-2c85be88ba07?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:52:15.3228873+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"851b8483-2b79-4ccf-957f-cefd87a824f7\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:18:15.2566073+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"3ca6b8dd-68ce-4f27-9761-2c85be88ba07\"\r\n}" headers: cache-control: - no-cache @@ -2969,7 +2828,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:53:15 GMT + - Thu, 08 Jul 2021 04:19:15 GMT expires: - '-1' pragma: @@ -2986,7 +2845,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29958 + - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29962 status: code: 200 message: OK @@ -3000,14 +2859,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/851b8483-2b79-4ccf-957f-cefd87a824f7?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3ca6b8dd-68ce-4f27-9761-2c85be88ba07?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:52:15.3228873+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"851b8483-2b79-4ccf-957f-cefd87a824f7\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:18:15.2566073+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"3ca6b8dd-68ce-4f27-9761-2c85be88ba07\"\r\n}" headers: cache-control: - no-cache @@ -3016,7 +2875,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:53:45 GMT + - Thu, 08 Jul 2021 04:19:44 GMT expires: - '-1' pragma: @@ -3033,7 +2892,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29955 + - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29959 status: code: 200 message: OK @@ -3047,15 +2906,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/851b8483-2b79-4ccf-957f-cefd87a824f7?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3ca6b8dd-68ce-4f27-9761-2c85be88ba07?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:52:15.3228873+00:00\",\r\n \"endTime\": - \"2021-05-25T10:54:07.7136528+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"851b8483-2b79-4ccf-957f-cefd87a824f7\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:18:15.2566073+00:00\",\r\n \"endTime\": + \"2021-07-08T04:20:07.6005133+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"3ca6b8dd-68ce-4f27-9761-2c85be88ba07\"\r\n}" headers: cache-control: - no-cache @@ -3064,7 +2923,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:54:15 GMT + - Thu, 08 Jul 2021 04:20:15 GMT expires: - '-1' pragma: @@ -3081,7 +2940,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29952 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29956 status: code: 200 message: OK @@ -3095,10 +2954,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/851b8483-2b79-4ccf-957f-cefd87a824f7?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3ca6b8dd-68ce-4f27-9761-2c85be88ba07?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -3108,7 +2967,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:54:15 GMT + - Thu, 08 Jul 2021 04:20:15 GMT expires: - '-1' pragma: @@ -3121,7 +2980,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29951 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29955 status: code: 200 message: OK @@ -3140,36 +2999,36 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff?api-version=2021-03-01 response: body: string: "{\r\n \"name\": \"virtualmachinex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"vmId\": \"59f59d01-504a-456a-b061-93cead79500b\",\r\n + \ \"properties\": {\r\n \"vmId\": \"e97d58c0-74f3-4960-86b7-f630f62d1e4c\",\r\n \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D2_v2\"\r\n },\r\n \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"14393.4467.2106061537\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"name\": \"myVMosdisk\",\r\n \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/myVMosdisk\"\r\n \ },\r\n \"diskSizeGB\": 127,\r\n \"deleteOption\": \"Detach\"\r\n \ },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": 0,\r\n - \ \"name\": \"virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\",\r\n + \ \"name\": \"virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\",\r\n \ \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\"\r\n \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n \"deleteOption\": \"Detach\"\r\n },\r\n {\r\n - \ \"lun\": 1,\r\n \"name\": \"virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\",\r\n + \ \"lun\": 1,\r\n \"name\": \"virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\",\r\n \ \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\"\r\n \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n \"deleteOption\": \"Detach\"\r\n }\r\n ]\r\n \ },\r\n \"osProfile\": {\r\n \"computerName\": \"myVM\",\r\n \"adminUsername\": @@ -3188,7 +3047,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:54:16 GMT + - Thu, 08 Jul 2021 04:20:17 GMT expires: - '-1' pragma: @@ -3207,7 +3066,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/PutVM3Min;744,Microsoft.Compute/PutVM30Min;3727 x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1194' status: code: 200 message: OK @@ -3221,36 +3080,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff?api-version=2021-03-01 response: body: string: "{\r\n \"name\": \"virtualmachinex15cf0eff\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"vmId\": \"59f59d01-504a-456a-b061-93cead79500b\",\r\n + \ \"properties\": {\r\n \"vmId\": \"e97d58c0-74f3-4960-86b7-f630f62d1e4c\",\r\n \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D2_v2\"\r\n },\r\n \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"14393.4467.2106061537\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"name\": \"myVMosdisk\",\r\n \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/myVMosdisk\"\r\n \ },\r\n \"diskSizeGB\": 127,\r\n \"deleteOption\": \"Detach\"\r\n \ },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": 0,\r\n - \ \"name\": \"virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\",\r\n + \ \"name\": \"virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\",\r\n \ \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk2_d0afd54c9c45480e8b9b99601fdd65ef\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk2_9168b95461c042f898cfccb0ffd4560f\"\r\n \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n \"deleteOption\": \"Detach\"\r\n },\r\n {\r\n - \ \"lun\": 1,\r\n \"name\": \"virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\",\r\n + \ \"lun\": 1,\r\n \"name\": \"virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\",\r\n \ \"createOption\": \"Empty\",\r\n \"caching\": \"None\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk3_c2ecc5c2329e47afbc892c5ee789a3ab\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinex15cf0eff_disk3_d85bf295620346e3972071c87d853201\"\r\n \ },\r\n \"diskSizeGB\": 1023,\r\n \"toBeDetached\": false,\r\n \"deleteOption\": \"Detach\"\r\n }\r\n ]\r\n \ },\r\n \"osProfile\": {\r\n \"computerName\": \"myVM\",\r\n \"adminUsername\": @@ -3269,7 +3128,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:54:47 GMT + - Thu, 08 Jul 2021 04:20:47 GMT expires: - '-1' pragma: @@ -3286,7 +3145,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3990,Microsoft.Compute/LowCostGet30Min;31925 + - Microsoft.Compute/LowCostGet3Min;3998,Microsoft.Compute/LowCostGet30Min;31986 status: code: 200 message: OK @@ -3302,8 +3161,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/generalize?api-version=2021-03-01 response: @@ -3315,7 +3174,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:54:47 GMT + - Thu, 08 Jul 2021 04:20:47 GMT expires: - '-1' pragma: @@ -3330,7 +3189,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/UpdateVM3Min;238,Microsoft.Compute/UpdateVM30Min;1189 x-ms-ratelimit-remaining-subscription-writes: - - '1191' + - '1192' status: code: 200 message: OK @@ -3346,8 +3205,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff/deallocate?api-version=2021-03-01 response: @@ -3355,17 +3214,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4cc5819b-4514-4715-a3ec-25fa077a9024?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fb59ed22-2014-42e8-a8aa-61cdf4f5b4af?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:54:48 GMT + - Thu, 08 Jul 2021 04:20:47 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4cc5819b-4514-4715-a3ec-25fa077a9024?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fb59ed22-2014-42e8-a8aa-61cdf4f5b4af?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -3378,7 +3237,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteVM3Min;239,Microsoft.Compute/DeleteVM30Min;1199 x-ms-ratelimit-remaining-subscription-writes: - - '1190' + - '1191' status: code: 202 message: Accepted @@ -3392,14 +3251,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4cc5819b-4514-4715-a3ec-25fa077a9024?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fb59ed22-2014-42e8-a8aa-61cdf4f5b4af?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:54:48.3073769+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"4cc5819b-4514-4715-a3ec-25fa077a9024\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:20:48.3817464+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"fb59ed22-2014-42e8-a8aa-61cdf4f5b4af\"\r\n}" headers: cache-control: - no-cache @@ -3408,7 +3267,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:54:58 GMT + - Thu, 08 Jul 2021 04:20:57 GMT expires: - '-1' pragma: @@ -3425,7 +3284,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29949 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29953 status: code: 200 message: OK @@ -3439,15 +3298,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4cc5819b-4514-4715-a3ec-25fa077a9024?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fb59ed22-2014-42e8-a8aa-61cdf4f5b4af?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:54:48.3073769+00:00\",\r\n \"endTime\": - \"2021-05-25T10:55:27.6979934+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"4cc5819b-4514-4715-a3ec-25fa077a9024\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:20:48.3817464+00:00\",\r\n \"endTime\": + \"2021-07-08T04:21:22.5693271+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"fb59ed22-2014-42e8-a8aa-61cdf4f5b4af\"\r\n}" headers: cache-control: - no-cache @@ -3456,7 +3315,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:55:33 GMT + - Thu, 08 Jul 2021 04:21:34 GMT expires: - '-1' pragma: @@ -3473,7 +3332,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29945 + - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29949 status: code: 200 message: OK @@ -3487,10 +3346,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4cc5819b-4514-4715-a3ec-25fa077a9024?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fb59ed22-2014-42e8-a8aa-61cdf4f5b4af?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -3500,7 +3359,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 10:55:34 GMT + - Thu, 08 Jul 2021 04:21:34 GMT expires: - '-1' pragma: @@ -3513,7 +3372,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29944 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29948 status: code: 200 message: OK @@ -3529,8 +3388,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex15cf0eff?api-version=2021-03-01 response: @@ -3540,17 +3399,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6889ae8c-9082-42aa-8e96-0705f771a5b1?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a144f1a8-2ed8-4c97-bdec-4872599859dd?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 10:55:34 GMT + - Thu, 08 Jul 2021 04:21:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6889ae8c-9082-42aa-8e96-0705f771a5b1?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a144f1a8-2ed8-4c97-bdec-4872599859dd?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -3563,7 +3422,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteVM3Min;238,Microsoft.Compute/DeleteVM30Min;1198 x-ms-ratelimit-remaining-subscription-deletes: - - '14993' + - '14994' status: code: 202 message: Accepted @@ -3577,15 +3436,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6889ae8c-9082-42aa-8e96-0705f771a5b1?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a144f1a8-2ed8-4c97-bdec-4872599859dd?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:55:35.3230201+00:00\",\r\n \"endTime\": - \"2021-05-25T10:55:35.7761054+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"6889ae8c-9082-42aa-8e96-0705f771a5b1\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:21:35.0848672+00:00\",\r\n \"endTime\": + \"2021-07-08T04:21:35.5535916+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"a144f1a8-2ed8-4c97-bdec-4872599859dd\"\r\n}" headers: cache-control: - no-cache @@ -3594,7 +3453,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:55:45 GMT + - Thu, 08 Jul 2021 04:21:44 GMT expires: - '-1' pragma: @@ -3611,7 +3470,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29942 + - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29946 status: code: 200 message: OK diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_2.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_2.yaml deleted file mode 100644 index a0d8ad97d8e6..000000000000 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_2.yaml +++ /dev/null @@ -1,878 +0,0 @@ -interactions: -- request: - body: '{"location": "eastus", "properties": {"addressSpace": {"addressPrefixes": - ["10.0.0.0/16"]}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '92' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"networknamex34bd0f90\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90\",\r\n - \ \"etag\": \"W/\\\"79996046-d29c-42b1-9196-d9a26c3955a0\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"b2bde5aa-2437-4e04-91b9-7eb700398dc8\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": - [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n - \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n - \ }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/17ebcab5-2f12-4b8d-8263-cdcb3f2c15e7?api-version=2021-02-01 - cache-control: - - no-cache - content-length: - - '698' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:55:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 9a9c6941-04f5-402e-b9e4-f717b9313b62 - x-ms-ratelimit-remaining-subscription-writes: - - '1193' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/17ebcab5-2f12-4b8d-8263-cdcb3f2c15e7?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '29' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:55:52 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 121e2201-fc37-4767-9a97-2da6d3c0f419 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"networknamex34bd0f90\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90\",\r\n - \ \"etag\": \"W/\\\"ecfdf9fd-fb9e-4a18-b458-c3d568f95912\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"b2bde5aa-2437-4e04-91b9-7eb700398dc8\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": - [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n - \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n - \ }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '699' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:55:52 GMT - etag: - - W/"ecfdf9fd-fb9e-4a18-b458-c3d568f95912" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 5240ec43-1101-4b26-806b-de0393672107 - status: - code: 200 - message: OK -- request: - body: '{"properties": {"addressPrefix": "10.0.0.0/24"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '48' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90/subnets/subnetx34bd0f90?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"subnetx34bd0f90\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90/subnets/subnetx34bd0f90\",\r\n - \ \"etag\": \"W/\\\"fe4bf767-58c6-4e9a-ab47-d21f00dcc3c0\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/11a61c4e-7b10-4d36-bf7d-01cf66ffb40d?api-version=2021-02-01 - cache-control: - - no-cache - content-length: - - '621' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:55:52 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - d8560747-e8cc-4e6a-b0b7-1199f336fce4 - x-ms-ratelimit-remaining-subscription-writes: - - '1192' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/11a61c4e-7b10-4d36-bf7d-01cf66ffb40d?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '29' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:55:55 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 6f40b42d-887f-430e-baaa-7d84752a85bc - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90/subnets/subnetx34bd0f90?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"subnetx34bd0f90\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90/subnets/subnetx34bd0f90\",\r\n - \ \"etag\": \"W/\\\"67f92ab8-b323-4f25-9819-cbadac9be64d\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '622' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:55:55 GMT - etag: - - W/"67f92ab8-b323-4f25-9819-cbadac9be64d" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - dd769948-d5a3-444c-a350-d9427a87ecfb - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus", "properties": {"ipConfigurations": [{"name": "MyIpConfig", - "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90/subnets/subnetx34bd0f90"}}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '358' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"interfacex34bd0f90\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90\",\r\n - \ \"etag\": \"W/\\\"7788d877-5080-4ca0-81f8-e59e1e35c48e\\\"\",\r\n \"location\": - \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"d1f163ae-8dd2-400e-9cf6-c260d82d6bea\",\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"MyIpConfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90/ipConfigurations/MyIpConfig\",\r\n - \ \"etag\": \"W/\\\"7788d877-5080-4ca0-81f8-e59e1e35c48e\\\"\",\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90/subnets/subnetx34bd0f90\"\r\n - \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": - \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": - [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": - \"vls11mrxeqce3enzp01qaomnza.bx.internal.cloudapp.net\"\r\n },\r\n \"enableAcceleratedNetworking\": - false,\r\n \"enableIPForwarding\": false,\r\n \"hostedWorkloads\": [],\r\n - \ \"tapConfigurations\": [],\r\n \"nicType\": \"Standard\"\r\n },\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1dd89441-4277-4941-96d3-af9a27a4491d?api-version=2021-02-01 - cache-control: - - no-cache - content-length: - - '1878' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:55:57 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - bbea3e81-c32f-4dfa-aeaa-3bc69069e7b9 - x-ms-ratelimit-remaining-subscription-writes: - - '1191' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1dd89441-4277-4941-96d3-af9a27a4491d?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '29' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:56:27 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - fc0d8600-2044-41af-911a-2007d202c390 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90?api-version=2021-02-01 - response: - body: - string: "{\r\n \"name\": \"interfacex34bd0f90\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90\",\r\n - \ \"etag\": \"W/\\\"7788d877-5080-4ca0-81f8-e59e1e35c48e\\\"\",\r\n \"location\": - \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"d1f163ae-8dd2-400e-9cf6-c260d82d6bea\",\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"MyIpConfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90/ipConfigurations/MyIpConfig\",\r\n - \ \"etag\": \"W/\\\"7788d877-5080-4ca0-81f8-e59e1e35c48e\\\"\",\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex34bd0f90/subnets/subnetx34bd0f90\"\r\n - \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": - \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": - [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": - \"vls11mrxeqce3enzp01qaomnza.bx.internal.cloudapp.net\"\r\n },\r\n \"enableAcceleratedNetworking\": - false,\r\n \"enableIPForwarding\": false,\r\n \"hostedWorkloads\": [],\r\n - \ \"tapConfigurations\": [],\r\n \"nicType\": \"Standard\"\r\n },\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1878' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:56:27 GMT - etag: - - W/"7788d877-5080-4ca0-81f8-e59e1e35c48e" - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - fc6aa9ee-f40a-4a69-a807-53d3ceb43ef4 - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus", "properties": {"hardwareProfile": {"vmSize": "Standard_D2_v2"}, - "storageProfile": {"imageReference": {"publisher": "MicrosoftWindowsServer", - "offer": "WindowsServer", "sku": "2016-Datacenter", "version": "latest"}, "osDisk": - {"name": "myVMosdisk", "caching": "ReadWrite", "createOption": "FromImage"}}, - "osProfile": {"computerName": "myVM", "adminUsername": "testuser", "adminPassword": - "Aa1!zyx_", "windowsConfiguration": {"enableAutomaticUpdates": true}}, "networkProfile": - {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90", - "properties": {"primary": true}}]}, "priority": "Spot", "evictionPolicy": "Deallocate", - "billingProfile": {"maxPrice": 1.0}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '870' - Content-Type: - - application/json - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex34bd0f90?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"virtualmachinex34bd0f90\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex34bd0f90\",\r\n - \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"vmId\": \"c5acedbb-61ec-4403-b540-070f8e940faf\",\r\n - \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D2_v2\"\r\n },\r\n - \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": - \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": - \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Windows\",\r\n \"name\": \"myVMosdisk\",\r\n \"createOption\": - \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": - {\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n - \ \"diskSizeGB\": 127,\r\n \"deleteOption\": \"Detach\"\r\n },\r\n - \ \"dataDisks\": []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": - \"myVM\",\r\n \"adminUsername\": \"testuser\",\r\n \"windowsConfiguration\": - {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": - true,\r\n \"patchSettings\": {\r\n \"patchMode\": \"AutomaticByOS\",\r\n - \ \"assessmentMode\": \"ImageDefault\"\r\n }\r\n },\r\n - \ \"secrets\": [],\r\n \"allowExtensionOperations\": true,\r\n \"requireGuestProvisionSignal\": - true\r\n },\r\n \"networkProfile\": {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90\",\"properties\":{\"primary\":true}}]},\r\n - \ \"provisioningState\": \"Creating\",\r\n \"priority\": \"Spot\",\r\n - \ \"evictionPolicy\": \"Deallocate\",\r\n \"billingProfile\": {\r\n \"maxPrice\": - 1.0\r\n }\r\n }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/19beb1f4-eea9-4d37-be41-62dbd97b8099?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '1986' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:56:30 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/PutVM3Min;743,Microsoft.Compute/PutVM30Min;3726 - x-ms-ratelimit-remaining-subscription-writes: - - '1193' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/19beb1f4-eea9-4d37-be41-62dbd97b8099?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:56:29.9324568+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19beb1f4-eea9-4d37-be41-62dbd97b8099\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:56:40 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29941 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/19beb1f4-eea9-4d37-be41-62dbd97b8099?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:56:29.9324568+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19beb1f4-eea9-4d37-be41-62dbd97b8099\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:57:30 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29940 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/19beb1f4-eea9-4d37-be41-62dbd97b8099?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T10:56:29.9324568+00:00\",\r\n \"endTime\": - \"2021-05-25T10:57:57.2919344+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"19beb1f4-eea9-4d37-be41-62dbd97b8099\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '184' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:58:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29938 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex34bd0f90?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"virtualmachinex34bd0f90\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex34bd0f90\",\r\n - \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"vmId\": \"c5acedbb-61ec-4403-b540-070f8e940faf\",\r\n - \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D2_v2\"\r\n },\r\n - \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": - \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": - \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Windows\",\r\n \"name\": \"myVMosdisk\",\r\n \"createOption\": - \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": - {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/myVMosdisk\"\r\n - \ },\r\n \"diskSizeGB\": 127,\r\n \"deleteOption\": \"Detach\"\r\n - \ },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": {\r\n - \ \"computerName\": \"myVM\",\r\n \"adminUsername\": \"testuser\",\r\n - \ \"windowsConfiguration\": {\r\n \"provisionVMAgent\": true,\r\n - \ \"enableAutomaticUpdates\": true,\r\n \"patchSettings\": {\r\n - \ \"patchMode\": \"AutomaticByOS\",\r\n \"assessmentMode\": - \"ImageDefault\"\r\n }\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": - true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": - {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/networkInterfaces/interfacex34bd0f90\",\"properties\":{\"primary\":true}}]},\r\n - \ \"provisioningState\": \"Succeeded\",\r\n \"priority\": \"Spot\",\r\n - \ \"evictionPolicy\": \"Deallocate\",\r\n \"billingProfile\": {\r\n \"maxPrice\": - 1.0\r\n }\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '2200' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:58:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3993,Microsoft.Compute/LowCostGet30Min;31932 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex34bd0f90/simulateEviction?api-version=2021-03-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - date: - - Tue, 25 May 2021 10:58:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/DeleteVM3Min;238,Microsoft.Compute/DeleteVM30Min;1197 - x-ms-ratelimit-remaining-subscription-writes: - - '1195' - status: - code: 204 - message: No Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachines/virtualmachinex34bd0f90/performMaintenance?api-version=2021-03-01 - response: - body: - string: "{\r\n \"error\": {\r\n \"code\": \"OperationNotAllowed\",\r\n \"message\": - \"Operation 'performMaintenance' is not allowed on VM 'virtualmachinex34bd0f90' - since the Subscription of this VM is not eligible.\"\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '206' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 10:58:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/UpdateVM3Min;239,Microsoft.Compute/UpdateVM30Min;1188 - x-ms-ratelimit-remaining-subscription-writes: - - '1194' - status: - code: 409 - message: Conflict -version: 1 diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_extension_image.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_extension_image.yaml index 82732891b32d..ebe4c929ae99 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_extension_image.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_extension_image.yaml @@ -9,8 +9,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Microsoft.Compute/artifacttypes/vmextension/types/VMAccessAgent/versions/1.0.2?api-version=2021-03-01 response: @@ -28,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:03 GMT + - Thu, 08 Jul 2021 04:21:47 GMT expires: - '-1' pragma: @@ -59,8 +59,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Microsoft.Compute/artifacttypes/vmextension/types?api-version=2021-03-01 response: @@ -82,7 +82,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:03 GMT + - Thu, 08 Jul 2021 04:21:47 GMT expires: - '-1' pragma: @@ -113,8 +113,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Microsoft.Compute/artifacttypes/vmextension/types/VMAccessAgent/versions?api-version=2021-03-01 response: @@ -158,7 +158,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:03 GMT + - Thu, 08 Jul 2021 04:21:47 GMT expires: - '-1' pragma: diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_image.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_image.yaml index b96495f21e88..c5cc850c1749 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_image.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vm.test_compute_vm_image.yaml @@ -9,28 +9,29 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/MicrosoftWindowsServer/artifacttypes/vmimage/offers/WindowsServer/skus/2019-Datacenter/versions/2019.0.20190115?api-version=2021-03-01 response: body: - string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"replicaType\": - \"Unmanaged\",\r\n \"disallowed\": {\r\n \"vmDiskType\": \"None\"\r\n - \ },\r\n \"automaticOSUpgradeProperties\": {\r\n \"automaticOSUpgradeSupported\": - true\r\n },\r\n \"osDiskImage\": {\r\n \"operatingSystem\": \"Windows\",\r\n - \ \"sizeInGb\": 128,\r\n \"sizeInBytes\": 136367309312\r\n },\r\n - \ \"dataDiskImages\": []\r\n },\r\n \"location\": \"eastus\",\r\n \"name\": - \"2019.0.20190115\",\r\n \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/2019.0.20190115\"\r\n}" + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Unmanaged\",\r\n \"disallowed\": {\r\n + \ \"vmDiskType\": \"None\"\r\n },\r\n \"automaticOSUpgradeProperties\": + {\r\n \"automaticOSUpgradeSupported\": true\r\n },\r\n \"osDiskImage\": + {\r\n \"operatingSystem\": \"Windows\",\r\n \"sizeInGb\": 128,\r\n + \ \"sizeInBytes\": 136367309312\r\n },\r\n \"dataDiskImages\": []\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"name\": \"2019.0.20190115\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/2019.0.20190115\"\r\n}" headers: cache-control: - no-cache content-length: - - '678' + - '706' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:06 GMT + - Thu, 08 Jul 2021 04:21:49 GMT expires: - '-1' pragma: @@ -47,7 +48,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMImageFromLocation3Min;12998,Microsoft.Compute/GetVMImageFromLocation30Min;73997 + - Microsoft.Compute/GetVMImageFromLocation3Min;12999,Microsoft.Compute/GetVMImageFromLocation30Min;73998 status: code: 200 message: OK @@ -61,15 +62,13 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/MicrosoftWindowsServer/artifacttypes/vmimage/offers/WindowsServer/skus/2019-Datacenter/versions?api-version=2021-03-01 response: body: - string: "[\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"17763.1217.2005081535\",\r\n - \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/17763.1217.2005081535\"\r\n - \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"17763.1282.2006061952\",\r\n + string: "[\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"17763.1282.2006061952\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/17763.1282.2006061952\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"17763.1339.2007101755\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/17763.1339.2007101755\"\r\n @@ -95,6 +94,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/17763.1879.2104091832\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"17763.1935.2105080716\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/17763.1935.2105080716\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"17763.1999.2106060321\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/17763.1999.2106060321\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"2019.0.20181107\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/2019.0.20181107\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"2019.0.20181122\",\r\n @@ -118,7 +119,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:06 GMT + - Thu, 08 Jul 2021 04:21:49 GMT expires: - '-1' pragma: @@ -135,7 +136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15998,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43997 + - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15999,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43998 status: code: 200 message: OK @@ -149,8 +150,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/MicrosoftWindowsServer/artifacttypes/vmimage/offers?api-version=2021-03-01 response: @@ -208,7 +209,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:06 GMT + - Thu, 08 Jul 2021 04:21:49 GMT expires: - '-1' pragma: @@ -239,8 +240,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers?api-version=2021-03-01 response: @@ -261,6 +262,10 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/1598955805825\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"1615257339685\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/1615257339685\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"1615278064010\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/1615278064010\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"1615455873642\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/1615455873642\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"1e\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/1e\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"2021ai\",\r\n @@ -495,6 +500,10 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/AzureDatabricks\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"azureopenshift\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/azureopenshift\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"AzureRT.ManagedServices.TestExtPublisher00\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/AzureRT.ManagedServices.TestExtPublisher00\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"AzureRT.PIRCore.CAPSExtBvt.1\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/AzureRT.PIRCore.CAPSExtBvt.1\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"AzureRT.Test\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/AzureRT.Test\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"azuretesting\",\r\n @@ -577,6 +586,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/boemskats\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"botanalytics\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/botanalytics\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"bowspritconsultingopcprivatelimited1596291408582\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/bowspritconsultingopcprivatelimited1596291408582\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"bravura-software-llc\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/bravura-software-llc\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"bricatainc1584472632111\",\r\n @@ -587,6 +598,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/brightcomputing\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"brocade_communications\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/brocade_communications\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"brutale\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/brutale\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"bryte\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/bryte\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"bssw\",\r\n @@ -645,6 +658,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/chef-software\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Chef.Bootstrap.WindowsAzure\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Chef.Bootstrap.WindowsAzure\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"chunghwatelecom1587573688842\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/chunghwatelecom1587573688842\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"cinchy\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/cinchy\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"cinegy-gmbh\",\r\n @@ -729,12 +744,16 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/cognosys\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"cohesity\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/cohesity\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"cohesitydev1592001764720\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/cohesitydev1592001764720\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"cohesive\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/cohesive\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"coin-sciences-ltd\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/coin-sciences-ltd\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"collabcloudlimited\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/collabcloudlimited\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"collibranv1619508098620\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/collibranv1619508098620\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"commvault\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/commvault\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"compellon\",\r\n @@ -743,6 +762,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/composable\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"comunity\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/comunity\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"concentrationheatandmomentumlimited1616154387047\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/concentrationheatandmomentumlimited1616154387047\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Confer\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Confer\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"confluentinc\",\r\n @@ -799,6 +820,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/cyxtera\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"d4t4_solutions-1164305\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/d4t4_solutions-1164305\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"daceitdbasensetrafficpulse1579892024934\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/daceitdbasensetrafficpulse1579892024934\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"danielsol.AzureTools1\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/danielsol.AzureTools1\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"danielsol.AzureTools1pns500\",\r\n @@ -977,6 +1000,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/energisme1601990637842\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"enforongo\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/enforongo\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"engysltd1624364546407\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/engysltd1624364546407\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"enterprise-ethereum-alliance\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/enterprise-ethereum-alliance\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"enterprisedb-corp\",\r\n @@ -1063,6 +1088,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/forcepoint-llc\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"forescout\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/forescout\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"foreseetiab1613650409016\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/foreseetiab1613650409016\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"formpipesoftwareab\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/formpipesoftwareab\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"forscene\",\r\n @@ -1241,6 +1268,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/industry-weapon\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"industryweapon1587162781833\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/industryweapon1587162781833\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"infinitesoftwarecorporation1579223971125\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/infinitesoftwarecorporation1579223971125\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"influxdata\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/influxdata\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"infoblox\",\r\n @@ -1359,6 +1388,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/kemptech\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"kepion\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/kepion\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"KevlarExtensions.M365SecurityHostIDS\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/KevlarExtensions.M365SecurityHostIDS\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"kinetica\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/kinetica\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"kinvolk\",\r\n @@ -2161,6 +2192,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.HpcPack\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.Interceptor\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.Interceptor\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.M365SecurityConfiguration.Kevlar.Test\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.M365SecurityConfiguration.Kevlar.Test\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.ManagedIdentity\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.ManagedIdentity\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.ManagedServices\",\r\n @@ -2199,6 +2232,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.SqlServer.Management.Test\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.SystemCenter\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.SystemCenter\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.SystemCenter.Test\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.SystemCenter.Test\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.TestSqlServer.Edp\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.TestSqlServer.Edp\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.VisualStudio.Azure.ETWTraceListenerService\",\r\n @@ -2235,10 +2270,14 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.WindowsAzure.Compute.test\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Microsoft.WVD\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.WVD\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"microsoftazurecituswarp\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/microsoftazurecituswarp\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"MicrosoftAzureSiteRecovery\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftAzureSiteRecovery\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"MicrosoftBizTalkServer\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftBizTalkServer\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"MicrosoftCBLMariner\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftCBLMariner\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"microsoftcmotest\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/microsoftcmotest\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"MicrosoftDynamicsAX\",\r\n @@ -2299,6 +2338,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/monitorcomputersystemsltd\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"moogsoft\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/moogsoft\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"morpheus-data\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/morpheus-data\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"moviemasher\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/moviemasher\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"mriisoftllc1579457820427\",\r\n @@ -2325,6 +2366,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/nasuni\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"nasunicorporation\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/nasunicorporation\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"navicloudrsoftwarepteltd1601967280369\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/navicloudrsoftwarepteltd1601967280369\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"ncache\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/ncache\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"ncbi\",\r\n @@ -2471,6 +2514,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/openvpn\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"opslogix\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/opslogix\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"opswatinc1619007967290\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/opswatinc1619007967290\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"option3\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/option3\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"Oracle\",\r\n @@ -2497,6 +2542,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/outsystems\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"ovaledge1618392232783\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/ovaledge1618392232783\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"pachyderminc1585170006545\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/pachyderminc1585170006545\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"pacteratechnologiesinc\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/pacteratechnologiesinc\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"paladionnetworkspvtltd1606120508449\",\r\n @@ -2585,6 +2632,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/progresssoftwarecorporation\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"protiviti\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/protiviti\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"proventeq\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/proventeq\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"ptc\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/ptc\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"ptsecurity\",\r\n @@ -2755,6 +2804,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/schrockeninc\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"sci\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/sci\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"sciencelogicinc1622565452194\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/sciencelogicinc1622565452194\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"scientiamobile\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/scientiamobile\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"seaqserviciossas1579029207572\",\r\n @@ -2769,6 +2820,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/semarchy\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"semperis\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/semperis\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"senhasegura\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/senhasegura\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"SentinelOne.LinuxExtension\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/SentinelOne.LinuxExtension\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"SentinelOne.WindowsExtension\",\r\n @@ -2869,6 +2922,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/spagobi\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"sparklinglogic\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/sparklinglogic\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"spectralcorelimited1619779004178\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/spectralcorelimited1619779004178\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"spektra\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/spektra\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"sphere3d\",\r\n @@ -2915,6 +2970,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/storage_made_easy\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"stormshield\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/stormshield\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"storone1594045543980\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/storone1594045543980\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"storreduce\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/storreduce\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"storwarespzoo1611743234900\",\r\n @@ -3317,6 +3374,8 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/xfinityinc\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"xilinx\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/xilinx\"\r\n + \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"xoriantcorporationazxteam1\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/xoriantcorporationazxteam1\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"xoriantsolutionspvtltd\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/xoriantsolutionspvtltd\"\r\n \ },\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"xtremedata\",\r\n @@ -3364,11 +3423,11 @@ interactions: cache-control: - no-cache content-length: - - '354026' + - '360705' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:07 GMT + - Thu, 08 Jul 2021 04:21:50 GMT expires: - '-1' pragma: @@ -3397,8 +3456,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/MicrosoftWindowsServer/artifacttypes/vmimage/offers/WindowsServer/skus?api-version=2021-03-01 response: @@ -3609,10 +3668,6 @@ interactions: \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/datacenter-core-1803-with-containers-smalldisk-g2\"\r\n \ },\r\n {\r\n \"properties\": {\r\n \"automaticOSUpgradeProperties\": {\r\n \"automaticOSUpgradeSupported\": false\r\n }\r\n },\r\n - \ \"location\": \"eastus\",\r\n \"name\": \"Datacenter-Core-1809-with-Containers-smalldisk\",\r\n - \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/Datacenter-Core-1809-with-Containers-smalldisk\"\r\n - \ },\r\n {\r\n \"properties\": {\r\n \"automaticOSUpgradeProperties\": - {\r\n \"automaticOSUpgradeSupported\": false\r\n }\r\n },\r\n \ \"location\": \"eastus\",\r\n \"name\": \"datacenter-core-1809-with-containers-smalldisk-g2\",\r\n \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/datacenter-core-1809-with-containers-smalldisk-g2\"\r\n \ },\r\n {\r\n \"properties\": {\r\n \"automaticOSUpgradeProperties\": @@ -3660,11 +3715,11 @@ interactions: cache-control: - no-cache content-length: - - '27467' + - '27002' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:07 GMT + - Thu, 08 Jul 2021 04:21:50 GMT expires: - '-1' pragma: diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_base_2.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_base_2.yaml index e387b0d74639..953cce9b50d7 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_base_2.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_base_2.yaml @@ -14,17 +14,17 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexd7d31356?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamexd7d31356\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexd7d31356\",\r\n - \ \"etag\": \"W/\\\"e3ae7c0b-5169-46c1-8bb5-5a1a960257b5\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"358f1ca5-1abd-44aa-87f0-74e4a8f09530\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"6bdfcf93-698b-4763-b5b0-75792d2a213b\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"64ab6c3c-a3d3-4c5f-a91a-aca206db48c0\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -32,7 +32,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ae760ee7-c85d-411b-8980-e9ebda282123?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/42dd5c66-75f0-48b4-9fcd-a245d6316ac5?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -40,7 +40,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:12 GMT + - Thu, 08 Jul 2021 04:21:54 GMT expires: - '-1' pragma: @@ -53,9 +53,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 41b86eb7-19ca-4014-a983-1bb63a81eaad + - 5c13f5cf-291e-4940-953c-61f03e81c02c x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 201 message: Created @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/ae760ee7-c85d-411b-8980-e9ebda282123?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/42dd5c66-75f0-48b4-9fcd-a245d6316ac5?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -84,7 +84,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:15 GMT + - Thu, 08 Jul 2021 04:21:57 GMT expires: - '-1' pragma: @@ -101,7 +101,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1c29a1e3-ddbf-4726-b597-9072a2bb1f20 + - 475909a6-b23c-47f3-b4b4-acda95fd3ae1 status: code: 200 message: OK @@ -115,17 +115,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexd7d31356?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamexd7d31356\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexd7d31356\",\r\n - \ \"etag\": \"W/\\\"c0b550d1-4367-412c-9e49-79df9abf1f48\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"855e7451-8886-4c70-80ba-d3c7dcf0d32f\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"6bdfcf93-698b-4763-b5b0-75792d2a213b\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"64ab6c3c-a3d3-4c5f-a91a-aca206db48c0\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -137,9 +137,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:15 GMT + - Thu, 08 Jul 2021 04:21:58 GMT etag: - - W/"c0b550d1-4367-412c-9e49-79df9abf1f48" + - W/"855e7451-8886-4c70-80ba-d3c7dcf0d32f" expires: - '-1' pragma: @@ -156,7 +156,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 571ff818-e9bf-4d20-991d-837b0e749c5b + - 60ab3db6-bd0d-4e1e-a977-9f059dc2ff83 status: code: 200 message: OK @@ -174,21 +174,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexd7d31356/subnets/subnetnamexd7d31356?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetnamexd7d31356\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexd7d31356/subnets/subnetnamexd7d31356\",\r\n - \ \"etag\": \"W/\\\"5055f80c-c893-4aa4-8a66-addda3a2b820\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"4b84063e-849f-444f-9d53-c9ea326fb4c5\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/261e0658-c9b9-4d1a-8c82-1b5906c51b2b?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/bcca0adb-84cd-4bb2-a37b-73332aaa312b?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -196,7 +196,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:15 GMT + - Thu, 08 Jul 2021 04:21:58 GMT expires: - '-1' pragma: @@ -209,9 +209,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4659f420-b131-41b2-aa65-927df252cdf9 + - 85b48246-ff37-4bba-83e1-c3d1fd26a36d x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' status: code: 201 message: Created @@ -225,10 +225,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/261e0658-c9b9-4d1a-8c82-1b5906c51b2b?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/bcca0adb-84cd-4bb2-a37b-73332aaa312b?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -240,7 +240,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:18 GMT + - Thu, 08 Jul 2021 04:22:01 GMT expires: - '-1' pragma: @@ -257,7 +257,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c0a4de16-a5ae-4fc5-80d2-25deed3b539b + - 333578bd-88d4-46e0-a8b9-abb31c690c6a status: code: 200 message: OK @@ -271,14 +271,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexd7d31356/subnets/subnetnamexd7d31356?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetnamexd7d31356\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexd7d31356/subnets/subnetnamexd7d31356\",\r\n - \ \"etag\": \"W/\\\"443c1203-d117-497c-b3a4-66fd29a93dee\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"1816b915-f2b5-44ee-b0aa-f4d03ad76fcf\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": @@ -291,9 +291,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:19 GMT + - Thu, 08 Jul 2021 04:22:01 GMT etag: - - W/"443c1203-d117-497c-b3a4-66fd29a93dee" + - W/"1816b915-f2b5-44ee-b0aa-f4d03ad76fcf" expires: - '-1' pragma: @@ -310,7 +310,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 58724c69-2cf6-40b2-8317-df4386dae269 + - c9534177-16f5-415d-b5e4-02b629a74034 status: code: 200 message: OK @@ -329,16 +329,16 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/publicIPAddresses/public_ip_address_name?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"public_ip_address_name\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/publicIPAddresses/public_ip_address_name\",\r\n - \ \"etag\": \"W/\\\"20f3c7c7-e597-4e70-a8cd-711b740ff5d1\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"6d12faaa-fdd3-48c8-8f9d-141fec18c29a\\\"\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"b5b069e8-3f2d-459e-81f2-2c025e9a1091\",\r\n \"publicIPAddressVersion\": + \ \"resourceGuid\": \"8d98fc4d-bd39-4472-91bb-65dc96d00792\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 10,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n @@ -347,7 +347,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3549837a-514a-498a-83ae-dbd667337dcc?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1da5131a-9170-4a37-ba03-8d17249e3657?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -355,7 +355,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:20 GMT + - Thu, 08 Jul 2021 04:22:02 GMT expires: - '-1' pragma: @@ -368,9 +368,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 12de76dc-b7b4-45a1-9be9-0a37326c8ce6 + - 7a2ce688-d14f-4f17-b0a5-821189ed9d9b x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1195' status: code: 201 message: Created @@ -384,10 +384,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/3549837a-514a-498a-83ae-dbd667337dcc?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1da5131a-9170-4a37-ba03-8d17249e3657?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -399,7 +399,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:21 GMT + - Thu, 08 Jul 2021 04:22:03 GMT expires: - '-1' pragma: @@ -416,7 +416,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2370637e-659c-4e74-bc9e-be61d9ae140b + - c1a30a0f-5927-4b6c-903d-c5f65697f63d status: code: 200 message: OK @@ -430,17 +430,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/publicIPAddresses/public_ip_address_name?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"public_ip_address_name\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/publicIPAddresses/public_ip_address_name\",\r\n - \ \"etag\": \"W/\\\"3070f081-8fd0-4c6f-b152-103d48b2fca4\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"17f1506b-aa78-4f53-9438-d671c15aeef2\\\"\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"b5b069e8-3f2d-459e-81f2-2c025e9a1091\",\r\n \"ipAddress\": - \"40.88.125.78\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \ \"resourceGuid\": \"8d98fc4d-bd39-4472-91bb-65dc96d00792\",\r\n \"ipAddress\": + \"13.92.123.120\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 10,\r\n \"ipTags\": []\r\n \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n }\r\n}" @@ -448,13 +448,13 @@ interactions: cache-control: - no-cache content-length: - - '760' + - '761' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:21 GMT + - Thu, 08 Jul 2021 04:22:04 GMT etag: - - W/"3070f081-8fd0-4c6f-b152-103d48b2fca4" + - W/"17f1506b-aa78-4f53-9438-d671c15aeef2" expires: - '-1' pragma: @@ -471,7 +471,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f2334554-cde2-479b-9096-22296af43ee3 + - 0d727ba4-b7f6-43c9-957c-2bcc04d8c063 status: code: 200 message: OK @@ -504,19 +504,19 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"myLoadBalancer\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \"type\": \"Microsoft.Network/loadBalancers\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"80321e00-46b0-437e-95b1-c495ca762dac\",\r\n + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"83c0c850-163e-4a1f-9f64-6feaacff37a9\",\r\n \ \"frontendIPConfigurations\": [\r\n {\r\n \"name\": \"myFrontendIpconfiguration\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/frontendIPConfigurations/myFrontendIpconfiguration\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"type\": \"Microsoft.Network/loadBalancers/frontendIPConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": @@ -525,10 +525,10 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/loadBalancingRules/myLoadBalancingRule\"\r\n \ }\r\n ],\r\n \"outboundRules\": [\r\n {\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/outboundRules/myOutboundRule\"\r\n - \ }\r\n ],\r\n \"privateIPAddressVersion\": \"IPv4\"\r\n - \ }\r\n }\r\n ],\r\n \"backendAddressPools\": [\r\n {\r\n - \ \"name\": \"myBackendAddressPool\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/backendAddressPools/myBackendAddressPool\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ }\r\n ]\r\n }\r\n }\r\n ],\r\n \"backendAddressPools\": + [\r\n {\r\n \"name\": \"myBackendAddressPool\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/backendAddressPools/myBackendAddressPool\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"loadBalancerBackendAddresses\": [],\r\n \"outboundRules\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/outboundRules/myOutboundRule\"\r\n @@ -537,7 +537,7 @@ interactions: \ }\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/loadBalancers/backendAddressPools\"\r\n \ }\r\n ],\r\n \"loadBalancingRules\": [\r\n {\r\n \"name\": \"myLoadBalancingRule\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/loadBalancingRules/myLoadBalancingRule\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"type\": \"Microsoft.Network/loadBalancers/loadBalancingRules\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/frontendIPConfigurations/myFrontendIpconfiguration\"\r\n @@ -553,7 +553,7 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/probes/myProbe\"\r\n \ }\r\n }\r\n }\r\n ],\r\n \"probes\": [\r\n {\r\n \ \"name\": \"myProbe\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/probes/myProbe\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"protocol\": \"Http\",\r\n \"port\": 80,\r\n \"requestPath\": \"healthcheck.aspx\",\r\n \"intervalInSeconds\": 15,\r\n \"numberOfProbes\": @@ -562,7 +562,7 @@ interactions: \ }\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/loadBalancers/probes\"\r\n \ }\r\n ],\r\n \"inboundNatRules\": [],\r\n \"outboundRules\": [\r\n {\r\n \"name\": \"myOutboundRule\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/outboundRules/myOutboundRule\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"type\": \"Microsoft.Network/loadBalancers/outboundRules\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"allocatedOutboundPorts\": 1024,\r\n \"protocol\": \"All\",\r\n \"enableTcpReset\": @@ -577,15 +577,15 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d5f389c6-06c7-458c-bf49-1f263e047902?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/629e4e8f-3aac-4a73-a601-64987f40abba?api-version=2021-02-01 cache-control: - no-cache content-length: - - '8210' + - '8164' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:22 GMT + - Thu, 08 Jul 2021 04:22:05 GMT expires: - '-1' pragma: @@ -598,9 +598,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 89b975ab-4261-4574-b916-a87313f639cf + - c6968afd-ea8d-41d2-974e-951449a3f1cf x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1194' status: code: 201 message: Created @@ -614,10 +614,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d5f389c6-06c7-458c-bf49-1f263e047902?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/629e4e8f-3aac-4a73-a601-64987f40abba?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -629,7 +629,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:52 GMT + - Thu, 08 Jul 2021 04:22:36 GMT expires: - '-1' pragma: @@ -646,7 +646,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c8d4db20-cf17-4c95-8142-76976d762c57 + - 90b40a42-28f4-4c02-a088-6be646d10910 status: code: 200 message: OK @@ -660,19 +660,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"myLoadBalancer\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \"type\": \"Microsoft.Network/loadBalancers\",\r\n \"location\": \"eastus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"80321e00-46b0-437e-95b1-c495ca762dac\",\r\n + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"83c0c850-163e-4a1f-9f64-6feaacff37a9\",\r\n \ \"frontendIPConfigurations\": [\r\n {\r\n \"name\": \"myFrontendIpconfiguration\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/frontendIPConfigurations/myFrontendIpconfiguration\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"type\": \"Microsoft.Network/loadBalancers/frontendIPConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": @@ -681,10 +681,10 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/loadBalancingRules/myLoadBalancingRule\"\r\n \ }\r\n ],\r\n \"outboundRules\": [\r\n {\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/outboundRules/myOutboundRule\"\r\n - \ }\r\n ],\r\n \"privateIPAddressVersion\": \"IPv4\"\r\n - \ }\r\n }\r\n ],\r\n \"backendAddressPools\": [\r\n {\r\n - \ \"name\": \"myBackendAddressPool\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/backendAddressPools/myBackendAddressPool\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ }\r\n ]\r\n }\r\n }\r\n ],\r\n \"backendAddressPools\": + [\r\n {\r\n \"name\": \"myBackendAddressPool\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/backendAddressPools/myBackendAddressPool\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"loadBalancerBackendAddresses\": [],\r\n \"outboundRules\": [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/outboundRules/myOutboundRule\"\r\n @@ -693,7 +693,7 @@ interactions: \ }\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/loadBalancers/backendAddressPools\"\r\n \ }\r\n ],\r\n \"loadBalancingRules\": [\r\n {\r\n \"name\": \"myLoadBalancingRule\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/loadBalancingRules/myLoadBalancingRule\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"type\": \"Microsoft.Network/loadBalancers/loadBalancingRules\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/frontendIPConfigurations/myFrontendIpconfiguration\"\r\n @@ -709,7 +709,7 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/probes/myProbe\"\r\n \ }\r\n }\r\n }\r\n ],\r\n \"probes\": [\r\n {\r\n \ \"name\": \"myProbe\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/probes/myProbe\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"protocol\": \"Http\",\r\n \"port\": 80,\r\n \"requestPath\": \"healthcheck.aspx\",\r\n \"intervalInSeconds\": 15,\r\n \"numberOfProbes\": @@ -718,7 +718,7 @@ interactions: \ }\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/loadBalancers/probes\"\r\n \ }\r\n ],\r\n \"inboundNatRules\": [],\r\n \"outboundRules\": [\r\n {\r\n \"name\": \"myOutboundRule\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/loadBalancers/myLoadBalancer/outboundRules/myOutboundRule\",\r\n - \ \"etag\": \"W/\\\"a71818e7-c2bb-4531-ad32-fcd4f2d33621\\\"\",\r\n + \ \"etag\": \"W/\\\"379d5625-03d8-4f5a-8d28-51b584e65677\\\"\",\r\n \ \"type\": \"Microsoft.Network/loadBalancers/outboundRules\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"allocatedOutboundPorts\": 1024,\r\n \"protocol\": \"All\",\r\n \"enableTcpReset\": @@ -733,13 +733,13 @@ interactions: cache-control: - no-cache content-length: - - '8210' + - '8164' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:52 GMT + - Thu, 08 Jul 2021 04:22:36 GMT etag: - - W/"a71818e7-c2bb-4531-ad32-fcd4f2d33621" + - W/"379d5625-03d8-4f5a-8d28-51b584e65677" expires: - '-1' pragma: @@ -756,7 +756,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a23ac97d-0e62-41f5-8c6f-4b6618fd447f + - 3bb6a6b2-0379-4756-9021-b51321dac6b2 status: code: 200 message: OK @@ -787,8 +787,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetd7d31356?api-version=2021-03-01 response: @@ -813,14 +813,14 @@ interactions: \ \"extensionProfile\": {\r\n \"extensions\": []\r\n }\r\n \ },\r\n \"provisioningState\": \"Creating\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": - \"10f09348-5465-4208-a897-de19e56c3def\",\r\n \"automaticRepairsPolicy\": + \"fa18a867-880c-4057-a9a8-abcd354089a0\",\r\n \"automaticRepairsPolicy\": {\r\n \"enabled\": true,\r\n \"gracePeriod\": \"PT30M\"\r\n }\r\n \ }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/cb8ca45f-34a6-4c54-bfee-8c82d4a6802c?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c3c7c1a2-c7a7-4e95-9932-ea644bf579eb?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -828,7 +828,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:58:56 GMT + - Thu, 08 Jul 2021 04:22:40 GMT expires: - '-1' pragma: @@ -841,9 +841,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/CreateVMScaleSet3Min;197,Microsoft.Compute/CreateVMScaleSet30Min;989,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3959,Microsoft.Compute/VmssQueuedVMOperations;0 + - Microsoft.Compute/CreateVMScaleSet3Min;185,Microsoft.Compute/CreateVMScaleSet30Min;931,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3725,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1194' x-ms-request-charge: - '4' status: @@ -859,14 +859,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/cb8ca45f-34a6-4c54-bfee-8c82d4a6802c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c3c7c1a2-c7a7-4e95-9932-ea644bf579eb?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:58:56.1825651+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"cb8ca45f-34a6-4c54-bfee-8c82d4a6802c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:22:39.6162006+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"c3c7c1a2-c7a7-4e95-9932-ea644bf579eb\"\r\n}" headers: cache-control: - no-cache @@ -875,7 +875,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 10:59:06 GMT + - Thu, 08 Jul 2021 04:22:50 GMT expires: - '-1' pragma: @@ -892,7 +892,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29937 + - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29945 status: code: 200 message: OK @@ -906,15 +906,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/cb8ca45f-34a6-4c54-bfee-8c82d4a6802c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c3c7c1a2-c7a7-4e95-9932-ea644bf579eb?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T10:58:56.1825651+00:00\",\r\n \"endTime\": - \"2021-05-25T11:00:39.7763828+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"cb8ca45f-34a6-4c54-bfee-8c82d4a6802c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:22:39.6162006+00:00\",\r\n \"endTime\": + \"2021-07-08T04:24:12.8197992+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"c3c7c1a2-c7a7-4e95-9932-ea644bf579eb\"\r\n}" headers: cache-control: - no-cache @@ -923,7 +923,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:00:43 GMT + - Thu, 08 Jul 2021 04:24:27 GMT expires: - '-1' pragma: @@ -940,7 +940,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29935 + - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29943 status: code: 200 message: OK @@ -954,8 +954,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetd7d31356?api-version=2021-03-01 response: @@ -980,7 +980,7 @@ interactions: \ \"extensionProfile\": {\r\n \"extensions\": []\r\n }\r\n \ },\r\n \"provisioningState\": \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": - \"10f09348-5465-4208-a897-de19e56c3def\",\r\n \"automaticRepairsPolicy\": + \"fa18a867-880c-4057-a9a8-abcd354089a0\",\r\n \"automaticRepairsPolicy\": {\r\n \"enabled\": true,\r\n \"gracePeriod\": \"PT30M\"\r\n }\r\n \ }\r\n}" headers: @@ -991,7 +991,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:00:43 GMT + - Thu, 08 Jul 2021 04:24:27 GMT expires: - '-1' pragma: @@ -1008,7 +1008,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSet3Min;398,Microsoft.Compute/GetVMScaleSet30Min;2594 + - Microsoft.Compute/GetVMScaleSet3Min;398,Microsoft.Compute/GetVMScaleSet30Min;2598 status: code: 200 message: OK @@ -1026,8 +1026,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetd7d31356/setOrchestrationServiceState?api-version=2021-03-01 response: @@ -1035,17 +1035,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c193d3a1-cfb7-4454-b996-86de9467373f?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6b1a2329-988f-452b-af08-c62b3a5eb91a?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:00:44 GMT + - Thu, 08 Jul 2021 04:24:27 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c193d3a1-cfb7-4454-b996-86de9467373f?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6b1a2329-988f-452b-af08-c62b3a5eb91a?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1058,7 +1058,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;239,Microsoft.Compute/VMScaleSetActions30Min;1199,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1189' + - '1197' x-ms-request-charge: - '0' status: @@ -1078,8 +1078,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetd7d31356/reimage?api-version=2021-03-01 response: @@ -1087,17 +1087,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36aff229-c199-47e8-b18e-cc79009ca945?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7a168a8e-de8c-4836-ba01-137c430f52d3?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:00:44 GMT + - Thu, 08 Jul 2021 04:24:28 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36aff229-c199-47e8-b18e-cc79009ca945?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7a168a8e-de8c-4836-ba01-137c430f52d3?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1108,9 +1108,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1198,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3957,Microsoft.Compute/VmssQueuedVMOperations;0 + - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1198,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3723,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1188' + - '1196' x-ms-request-charge: - '2' status: @@ -1126,61 +1126,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c193d3a1-cfb7-4454-b996-86de9467373f?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.5107842+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"c193d3a1-cfb7-4454-b996-86de9467373f\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 11:01:14 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29932 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36aff229-c199-47e8-b18e-cc79009ca945?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6b1a2329-988f-452b-af08-c62b3a5eb91a?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.7451916+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"36aff229-c199-47e8-b18e-cc79009ca945\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:24:27.8979884+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"6b1a2329-988f-452b-af08-c62b3a5eb91a\"\r\n}" headers: cache-control: - no-cache @@ -1189,7 +1142,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:01:14 GMT + - Thu, 08 Jul 2021 04:24:57 GMT expires: - '-1' pragma: @@ -1206,7 +1159,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29931 + - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29940 status: code: 200 message: OK @@ -1220,23 +1173,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c193d3a1-cfb7-4454-b996-86de9467373f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7a168a8e-de8c-4836-ba01-137c430f52d3?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.5107842+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"c193d3a1-cfb7-4454-b996-86de9467373f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:24:28.132355+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"7a168a8e-de8c-4836-ba01-137c430f52d3\"\r\n}" headers: cache-control: - no-cache content-length: - - '134' + - '133' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:01:44 GMT + - Thu, 08 Jul 2021 04:24:58 GMT expires: - '-1' pragma: @@ -1253,7 +1206,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29926 + - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29939 status: code: 200 message: OK @@ -1267,14 +1220,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36aff229-c199-47e8-b18e-cc79009ca945?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6b1a2329-988f-452b-af08-c62b3a5eb91a?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.7451916+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"36aff229-c199-47e8-b18e-cc79009ca945\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:24:27.8979884+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"6b1a2329-988f-452b-af08-c62b3a5eb91a\"\r\n}" headers: cache-control: - no-cache @@ -1283,7 +1236,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:01:44 GMT + - Thu, 08 Jul 2021 04:25:27 GMT expires: - '-1' pragma: @@ -1300,7 +1253,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29925 + - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29934 status: code: 200 message: OK @@ -1314,23 +1267,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c193d3a1-cfb7-4454-b996-86de9467373f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7a168a8e-de8c-4836-ba01-137c430f52d3?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.5107842+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"c193d3a1-cfb7-4454-b996-86de9467373f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:24:28.132355+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"7a168a8e-de8c-4836-ba01-137c430f52d3\"\r\n}" headers: cache-control: - no-cache content-length: - - '134' + - '133' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:02:14 GMT + - Thu, 08 Jul 2021 04:25:27 GMT expires: - '-1' pragma: @@ -1347,7 +1300,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29919 + - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29933 status: code: 200 message: OK @@ -1361,14 +1314,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36aff229-c199-47e8-b18e-cc79009ca945?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6b1a2329-988f-452b-af08-c62b3a5eb91a?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.7451916+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"36aff229-c199-47e8-b18e-cc79009ca945\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:24:27.8979884+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"6b1a2329-988f-452b-af08-c62b3a5eb91a\"\r\n}" headers: cache-control: - no-cache @@ -1377,7 +1330,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:02:14 GMT + - Thu, 08 Jul 2021 04:25:58 GMT expires: - '-1' pragma: @@ -1394,7 +1347,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14981,Microsoft.Compute/GetOperation30Min;29918 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29928 status: code: 200 message: OK @@ -1408,23 +1361,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c193d3a1-cfb7-4454-b996-86de9467373f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7a168a8e-de8c-4836-ba01-137c430f52d3?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.5107842+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"c193d3a1-cfb7-4454-b996-86de9467373f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:24:28.132355+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"7a168a8e-de8c-4836-ba01-137c430f52d3\"\r\n}" headers: cache-control: - no-cache content-length: - - '134' + - '133' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:02:44 GMT + - Thu, 08 Jul 2021 04:25:58 GMT expires: - '-1' pragma: @@ -1441,7 +1394,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14976,Microsoft.Compute/GetOperation30Min;29913 + - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29927 status: code: 200 message: OK @@ -1455,23 +1408,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36aff229-c199-47e8-b18e-cc79009ca945?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6b1a2329-988f-452b-af08-c62b3a5eb91a?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.7451916+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"36aff229-c199-47e8-b18e-cc79009ca945\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:24:27.8979884+00:00\",\r\n \"endTime\": + \"2021-07-08T04:26:08.1329237+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"6b1a2329-988f-452b-af08-c62b3a5eb91a\"\r\n}" headers: cache-control: - no-cache content-length: - - '134' + - '184' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:02:44 GMT + - Thu, 08 Jul 2021 04:26:28 GMT expires: - '-1' pragma: @@ -1488,7 +1442,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14975,Microsoft.Compute/GetOperation30Min;29912 + - Microsoft.Compute/GetOperation3Min;14977,Microsoft.Compute/GetOperation30Min;29922 status: code: 200 message: OK @@ -1502,24 +1456,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c193d3a1-cfb7-4454-b996-86de9467373f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7a168a8e-de8c-4836-ba01-137c430f52d3?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.5107842+00:00\",\r\n \"endTime\": - \"2021-05-25T11:02:52.9796662+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"c193d3a1-cfb7-4454-b996-86de9467373f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:24:28.132355+00:00\",\r\n \"endTime\": + \"2021-07-08T04:26:08.1329237+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"7a168a8e-de8c-4836-ba01-137c430f52d3\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:03:15 GMT + - Thu, 08 Jul 2021 04:26:28 GMT expires: - '-1' pragma: @@ -1536,7 +1490,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14970,Microsoft.Compute/GetOperation30Min;29907 + - Microsoft.Compute/GetOperation3Min;14976,Microsoft.Compute/GetOperation30Min;29921 status: code: 200 message: OK @@ -1550,10 +1504,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c193d3a1-cfb7-4454-b996-86de9467373f?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/6b1a2329-988f-452b-af08-c62b3a5eb91a?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1563,7 +1517,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:03:15 GMT + - Thu, 08 Jul 2021 04:26:28 GMT expires: - '-1' pragma: @@ -1576,55 +1530,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14969,Microsoft.Compute/GetOperation30Min;29906 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36aff229-c199-47e8-b18e-cc79009ca945?api-version=2021-03-01 - response: - body: - string: "{\r\n \"startTime\": \"2021-05-25T11:00:44.7451916+00:00\",\r\n \"endTime\": - \"2021-05-25T11:02:52.9796662+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"36aff229-c199-47e8-b18e-cc79009ca945\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '184' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 25 May 2021 11:03:15 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14968,Microsoft.Compute/GetOperation30Min;29905 + - Microsoft.Compute/GetOperation3Min;14975,Microsoft.Compute/GetOperation30Min;29920 status: code: 200 message: OK @@ -1638,10 +1544,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/36aff229-c199-47e8-b18e-cc79009ca945?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7a168a8e-de8c-4836-ba01-137c430f52d3?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1651,7 +1557,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:03:15 GMT + - Thu, 08 Jul 2021 04:26:28 GMT expires: - '-1' pragma: @@ -1664,7 +1570,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14967,Microsoft.Compute/GetOperation30Min;29904 + - Microsoft.Compute/GetOperation3Min;14974,Microsoft.Compute/GetOperation30Min;29919 status: code: 200 message: OK @@ -1682,8 +1588,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetd7d31356/reimageall?api-version=2021-03-01 response: @@ -1691,17 +1597,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a40d9b00-48ac-443a-a902-19d08fc692e4?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d4d901b2-c15e-4965-b0cc-07bbbe0b06e8?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:03:15 GMT + - Thu, 08 Jul 2021 04:26:29 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a40d9b00-48ac-443a-a902-19d08fc692e4?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d4d901b2-c15e-4965-b0cc-07bbbe0b06e8?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1712,9 +1618,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/VMScaleSetActions3Min;236,Microsoft.Compute/VMScaleSetActions30Min;1196,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3959,Microsoft.Compute/VmssQueuedVMOperations;0 + - Microsoft.Compute/VMScaleSetActions3Min;236,Microsoft.Compute/VMScaleSetActions30Min;1196,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3721,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1187' + - '1190' x-ms-request-charge: - '2' status: @@ -1730,14 +1636,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a40d9b00-48ac-443a-a902-19d08fc692e4?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d4d901b2-c15e-4965-b0cc-07bbbe0b06e8?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:03:15.7609066+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"a40d9b00-48ac-443a-a902-19d08fc692e4\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:26:29.2580092+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d4d901b2-c15e-4965-b0cc-07bbbe0b06e8\"\r\n}" headers: cache-control: - no-cache @@ -1746,7 +1652,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:03:45 GMT + - Thu, 08 Jul 2021 04:26:59 GMT expires: - '-1' pragma: @@ -1763,7 +1669,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14965,Microsoft.Compute/GetOperation30Min;29900 + - Microsoft.Compute/GetOperation3Min;14972,Microsoft.Compute/GetOperation30Min;29917 status: code: 200 message: OK @@ -1777,14 +1683,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a40d9b00-48ac-443a-a902-19d08fc692e4?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d4d901b2-c15e-4965-b0cc-07bbbe0b06e8?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:03:15.7609066+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"a40d9b00-48ac-443a-a902-19d08fc692e4\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:26:29.2580092+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d4d901b2-c15e-4965-b0cc-07bbbe0b06e8\"\r\n}" headers: cache-control: - no-cache @@ -1793,7 +1699,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:04:15 GMT + - Thu, 08 Jul 2021 04:27:28 GMT expires: - '-1' pragma: @@ -1810,7 +1716,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14967,Microsoft.Compute/GetOperation30Min;29896 + - Microsoft.Compute/GetOperation3Min;14971,Microsoft.Compute/GetOperation30Min;29914 status: code: 200 message: OK @@ -1824,14 +1730,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a40d9b00-48ac-443a-a902-19d08fc692e4?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d4d901b2-c15e-4965-b0cc-07bbbe0b06e8?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:03:15.7609066+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"a40d9b00-48ac-443a-a902-19d08fc692e4\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:26:29.2580092+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d4d901b2-c15e-4965-b0cc-07bbbe0b06e8\"\r\n}" headers: cache-control: - no-cache @@ -1840,7 +1746,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:04:46 GMT + - Thu, 08 Jul 2021 04:27:59 GMT expires: - '-1' pragma: @@ -1857,7 +1763,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14971,Microsoft.Compute/GetOperation30Min;29893 + - Microsoft.Compute/GetOperation3Min;14973,Microsoft.Compute/GetOperation30Min;29911 status: code: 200 message: OK @@ -1871,15 +1777,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a40d9b00-48ac-443a-a902-19d08fc692e4?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d4d901b2-c15e-4965-b0cc-07bbbe0b06e8?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:03:15.7609066+00:00\",\r\n \"endTime\": - \"2021-05-25T11:05:01.9641776+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"a40d9b00-48ac-443a-a902-19d08fc692e4\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:26:29.2580092+00:00\",\r\n \"endTime\": + \"2021-07-08T04:28:04.8678811+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"d4d901b2-c15e-4965-b0cc-07bbbe0b06e8\"\r\n}" headers: cache-control: - no-cache @@ -1888,7 +1794,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:05:16 GMT + - Thu, 08 Jul 2021 04:28:29 GMT expires: - '-1' pragma: @@ -1905,7 +1811,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14974,Microsoft.Compute/GetOperation30Min;29890 + - Microsoft.Compute/GetOperation3Min;14976,Microsoft.Compute/GetOperation30Min;29908 status: code: 200 message: OK @@ -1919,10 +1825,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a40d9b00-48ac-443a-a902-19d08fc692e4?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d4d901b2-c15e-4965-b0cc-07bbbe0b06e8?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1932,7 +1838,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:05:16 GMT + - Thu, 08 Jul 2021 04:28:29 GMT expires: - '-1' pragma: @@ -1945,7 +1851,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14973,Microsoft.Compute/GetOperation30Min;29889 + - Microsoft.Compute/GetOperation3Min;14980,Microsoft.Compute/GetOperation30Min;29907 status: code: 200 message: OK @@ -1961,8 +1867,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetd7d31356?api-version=2021-03-01 response: @@ -1972,17 +1878,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fc393c6c-44d3-4195-8333-71bf04e389d5?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d3f82382-b27a-42a4-94fb-090746c95748?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:05:16 GMT + - Thu, 08 Jul 2021 04:28:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fc393c6c-44d3-4195-8333-71bf04e389d5?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d3f82382-b27a-42a4-94fb-090746c95748?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1993,9 +1899,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/DeleteVMScaleSet3Min;79,Microsoft.Compute/DeleteVMScaleSet30Min;399,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3725,Microsoft.Compute/VmssQueuedVMOperations;0 + - Microsoft.Compute/DeleteVMScaleSet3Min;79,Microsoft.Compute/DeleteVMScaleSet30Min;399,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3723,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-deletes: - - '14992' + - '14993' x-ms-request-charge: - '2' status: @@ -2011,14 +1917,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fc393c6c-44d3-4195-8333-71bf04e389d5?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d3f82382-b27a-42a4-94fb-090746c95748?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:05:16.9173876+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"fc393c6c-44d3-4195-8333-71bf04e389d5\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:28:30.6180389+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d3f82382-b27a-42a4-94fb-090746c95748\"\r\n}" headers: cache-control: - no-cache @@ -2027,7 +1933,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:05:26 GMT + - Thu, 08 Jul 2021 04:28:40 GMT expires: - '-1' pragma: @@ -2044,7 +1950,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14972,Microsoft.Compute/GetOperation30Min;29888 + - Microsoft.Compute/GetOperation3Min;14979,Microsoft.Compute/GetOperation30Min;29906 status: code: 200 message: OK @@ -2058,14 +1964,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fc393c6c-44d3-4195-8333-71bf04e389d5?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d3f82382-b27a-42a4-94fb-090746c95748?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:05:16.9173876+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"fc393c6c-44d3-4195-8333-71bf04e389d5\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:28:30.6180389+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d3f82382-b27a-42a4-94fb-090746c95748\"\r\n}" headers: cache-control: - no-cache @@ -2074,7 +1980,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:05:37 GMT + - Thu, 08 Jul 2021 04:28:51 GMT expires: - '-1' pragma: @@ -2091,7 +1997,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14976,Microsoft.Compute/GetOperation30Min;29886 + - Microsoft.Compute/GetOperation3Min;14978,Microsoft.Compute/GetOperation30Min;29905 status: code: 200 message: OK @@ -2105,15 +2011,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fc393c6c-44d3-4195-8333-71bf04e389d5?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d3f82382-b27a-42a4-94fb-090746c95748?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:05:16.9173876+00:00\",\r\n \"endTime\": - \"2021-05-25T11:06:05.5580744+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"fc393c6c-44d3-4195-8333-71bf04e389d5\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:28:30.6180389+00:00\",\r\n \"endTime\": + \"2021-07-08T04:29:07.6963817+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"d3f82382-b27a-42a4-94fb-090746c95748\"\r\n}" headers: cache-control: - no-cache @@ -2122,7 +2028,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:07 GMT + - Thu, 08 Jul 2021 04:29:21 GMT expires: - '-1' pragma: @@ -2139,7 +2045,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14981,Microsoft.Compute/GetOperation30Min;29884 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29903 status: code: 200 message: OK diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_perform_maintenance.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_perform_maintenance.yaml index dd94905a243a..acb32220ca65 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_perform_maintenance.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_perform_maintenance.yaml @@ -14,17 +14,17 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamexfe411907\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907\",\r\n - \ \"etag\": \"W/\\\"0ebde4b2-45ba-4cf4-85f0-07e0a14b667d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"33a91bea-3896-48e9-97fa-9ab9df22c68e\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"9f8452a4-72b0-4251-aaff-1973b4f2f99e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"5e381ffe-fdfd-4fcc-a55a-c3cef33f0d09\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -32,7 +32,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/a977e8b8-65f9-494c-ba1c-e8599444c677?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d81e4bc7-7ef6-4303-bdfa-8b2206fdffd6?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -40,7 +40,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:12 GMT + - Thu, 08 Jul 2021 04:29:26 GMT expires: - '-1' pragma: @@ -53,9 +53,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e6c6df07-a62b-4fa7-8f31-763e1a5d9e04 + - c74dbeda-4e11-4608-955b-064d241c2ea7 x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1189' status: code: 201 message: Created @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/a977e8b8-65f9-494c-ba1c-e8599444c677?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/d81e4bc7-7ef6-4303-bdfa-8b2206fdffd6?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -84,7 +84,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:15 GMT + - Thu, 08 Jul 2021 04:29:29 GMT expires: - '-1' pragma: @@ -101,7 +101,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ecba7c42-d7e0-4cdb-8597-98e5d23c5a3f + - fd92cd29-1310-4a80-bd6e-244f5c2aa6a9 status: code: 200 message: OK @@ -115,17 +115,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamexfe411907\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907\",\r\n - \ \"etag\": \"W/\\\"17041714-3f7c-47d8-823b-21f9f8e39099\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"65c4c36c-267f-412b-97bd-98dddc979c55\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"9f8452a4-72b0-4251-aaff-1973b4f2f99e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"5e381ffe-fdfd-4fcc-a55a-c3cef33f0d09\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -137,9 +137,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:15 GMT + - Thu, 08 Jul 2021 04:29:29 GMT etag: - - W/"17041714-3f7c-47d8-823b-21f9f8e39099" + - W/"65c4c36c-267f-412b-97bd-98dddc979c55" expires: - '-1' pragma: @@ -156,7 +156,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 117dada4-6ce8-4018-8872-5ae7547d16d9 + - f89a8967-9b3b-4fe2-9d32-7fd0f9a07e96 status: code: 200 message: OK @@ -174,21 +174,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907/subnets/subnetnamexfe411907?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetnamexfe411907\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907/subnets/subnetnamexfe411907\",\r\n - \ \"etag\": \"W/\\\"d405d95f-477d-4bbe-ae68-aa66bedbd048\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"e84c6436-425c-4534-b257-693fa851cbeb\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/17b12597-bb65-4a4a-8600-4e72085acd2b?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/73a89aa4-73a0-44fc-a756-19c6242afb70?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -196,7 +196,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:15 GMT + - Thu, 08 Jul 2021 04:29:29 GMT expires: - '-1' pragma: @@ -209,9 +209,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a5824979-a910-4b32-a740-ce1ceade0178 + - e2340260-a120-493c-ba96-a444f93dc4d3 x-ms-ratelimit-remaining-subscription-writes: - - '1191' + - '1188' status: code: 201 message: Created @@ -225,10 +225,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/17b12597-bb65-4a4a-8600-4e72085acd2b?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/73a89aa4-73a0-44fc-a756-19c6242afb70?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -240,7 +240,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:18 GMT + - Thu, 08 Jul 2021 04:29:33 GMT expires: - '-1' pragma: @@ -257,7 +257,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5a5adac9-4625-4233-ab8d-d33611266cfe + - 6b42492c-9087-4253-b57b-abfd46467b44 status: code: 200 message: OK @@ -271,14 +271,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907/subnets/subnetnamexfe411907?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetnamexfe411907\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907/subnets/subnetnamexfe411907\",\r\n - \ \"etag\": \"W/\\\"91d29264-af60-4350-a805-9c9a28f8e329\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"3202290d-2475-4317-9c9e-3b75048973e2\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": @@ -291,9 +291,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:18 GMT + - Thu, 08 Jul 2021 04:29:33 GMT etag: - - W/"91d29264-af60-4350-a805-9c9a28f8e329" + - W/"3202290d-2475-4317-9c9e-3b75048973e2" expires: - '-1' pragma: @@ -310,7 +310,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f938cfd2-f110-47ee-8aff-6875ef99f4ac + - 96251e86-adb1-41cc-8550-a57142306be6 status: code: 200 message: OK @@ -338,8 +338,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetfe411907?api-version=2021-03-01 response: @@ -363,12 +363,12 @@ interactions: \"latest\"\r\n }\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907/subnets/subnetnamexfe411907\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]}\r\n \ },\r\n \"provisioningState\": \"Creating\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": - \"94f04569-6d84-40a5-99c6-0b56e1a4ce50\"\r\n }\r\n}" + \"8163ed53-1c93-4a90-b5a5-91ab271bd89d\"\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3caf2ba4-3e5d-4ed5-8255-5ebb448f1e5c?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/564f3338-97d1-4fa1-8641-ccc483503447?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -376,7 +376,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:21 GMT + - Thu, 08 Jul 2021 04:29:36 GMT expires: - '-1' pragma: @@ -391,7 +391,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateVMScaleSet3Min;185,Microsoft.Compute/CreateVMScaleSet30Min;930,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3723,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' x-ms-request-charge: - '2' status: @@ -407,14 +407,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3caf2ba4-3e5d-4ed5-8255-5ebb448f1e5c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/564f3338-97d1-4fa1-8641-ccc483503447?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:06:22.0112409+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"3caf2ba4-3e5d-4ed5-8255-5ebb448f1e5c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:29:36.2277807+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"564f3338-97d1-4fa1-8641-ccc483503447\"\r\n}" headers: cache-control: - no-cache @@ -423,7 +423,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:06:32 GMT + - Thu, 08 Jul 2021 04:29:46 GMT expires: - '-1' pragma: @@ -440,7 +440,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29883 + - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29902 status: code: 200 message: OK @@ -454,15 +454,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/3caf2ba4-3e5d-4ed5-8255-5ebb448f1e5c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/564f3338-97d1-4fa1-8641-ccc483503447?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:06:22.0112409+00:00\",\r\n \"endTime\": - \"2021-05-25T11:07:51.0740204+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"3caf2ba4-3e5d-4ed5-8255-5ebb448f1e5c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:29:36.2277807+00:00\",\r\n \"endTime\": + \"2021-07-08T04:31:00.9782248+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"564f3338-97d1-4fa1-8641-ccc483503447\"\r\n}" headers: cache-control: - no-cache @@ -471,7 +471,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:08:09 GMT + - Thu, 08 Jul 2021 04:31:23 GMT expires: - '-1' pragma: @@ -488,7 +488,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29881 + - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29900 status: code: 200 message: OK @@ -502,8 +502,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetfe411907?api-version=2021-03-01 response: @@ -527,7 +527,7 @@ interactions: \"latest\"\r\n }\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexfe411907/subnets/subnetnamexfe411907\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]}\r\n \ },\r\n \"provisioningState\": \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": - \"94f04569-6d84-40a5-99c6-0b56e1a4ce50\"\r\n }\r\n}" + \"8163ed53-1c93-4a90-b5a5-91ab271bd89d\"\r\n }\r\n}" headers: cache-control: - no-cache @@ -536,7 +536,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:08:09 GMT + - Thu, 08 Jul 2021 04:31:23 GMT expires: - '-1' pragma: @@ -553,7 +553,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSet3Min;396,Microsoft.Compute/GetVMScaleSet30Min;2592 + - Microsoft.Compute/GetVMScaleSet3Min;396,Microsoft.Compute/GetVMScaleSet30Min;2593 status: code: 200 message: OK @@ -567,13 +567,13 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetfe411907/virtualmachines/0/instanceView?api-version=2021-03-01 response: body: - string: "{\r\n \"placementGroupId\": \"59a61579-217b-4ffd-a415-106e4962e7e8\",\r\n + string: "{\r\n \"placementGroupId\": \"beed0f8d-6485-4a05-8eb0-36f6e1c735e6\",\r\n \ \"platformUpdateDomain\": 0,\r\n \"platformFaultDomain\": 0,\r\n \"computerName\": \"testPC000000\",\r\n \"osName\": \"Windows Server 2016 Datacenter\",\r\n \ \"osVersion\": \"Microsoft Windows NT 10.0.14393.0\",\r\n \"vmAgent\": @@ -581,15 +581,15 @@ interactions: \ {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n \"message\": \"GuestAgent is running and processing the extensions.\",\r\n \"time\": - \"2021-05-25T11:10:48+00:00\"\r\n }\r\n ]\r\n },\r\n \"disks\": - [\r\n {\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_eb8640dfb44941d6b367cf02242cdcde\",\r\n + \"2021-07-08T04:33:51+00:00\"\r\n }\r\n ]\r\n },\r\n \"disks\": + [\r\n {\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_67273d64bc864af99878a381f26158c0\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-05-25T11:07:51.6209153+00:00\"\r\n + succeeded\",\r\n \"time\": \"2021-07-08T04:31:01.3844836+00:00\"\r\n \ }\r\n ]\r\n }\r\n ],\r\n \"hyperVGeneration\": \"V1\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning succeeded\",\r\n - \ \"time\": \"2021-05-25T11:08:42.9178144+00:00\"\r\n },\r\n {\r\n + \ \"time\": \"2021-07-08T04:31:33.9940288+00:00\"\r\n },\r\n {\r\n \ \"code\": \"PowerState/running\",\r\n \"level\": \"Info\",\r\n \ \"displayStatus\": \"VM running\"\r\n }\r\n ]\r\n}" headers: @@ -600,7 +600,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:11:10 GMT + - Thu, 08 Jul 2021 04:34:24 GMT expires: - '-1' pragma: @@ -617,7 +617,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSetVM3Min;999,Microsoft.Compute/GetVMScaleSetVM30Min;4999,Microsoft.Compute/VMScaleSetVMViews3Min;4998 + - Microsoft.Compute/GetVMScaleSetVM3Min;999,Microsoft.Compute/GetVMScaleSetVM30Min;4999,Microsoft.Compute/VMScaleSetVMViews3Min;4999 x-ms-request-charge: - '1' status: @@ -637,8 +637,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetfe411907/performMaintenance?api-version=2021-03-01 response: @@ -654,7 +654,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:11:10 GMT + - Thu, 08 Jul 2021 04:34:24 GMT expires: - '-1' pragma: @@ -669,7 +669,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;239,Microsoft.Compute/VMScaleSetActions30Min;1191 x-ms-ratelimit-remaining-subscription-writes: - - '1187' + - '1189' status: code: 409 message: Conflict @@ -685,8 +685,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetfe411907/virtualmachines/0/performMaintenance?api-version=2021-03-01 response: @@ -702,7 +702,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:11:10 GMT + - Thu, 08 Jul 2021 04:34:24 GMT expires: - '-1' pragma: @@ -717,7 +717,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1190 x-ms-ratelimit-remaining-subscription-writes: - - '1186' + - '1188' status: code: 409 message: Conflict @@ -733,8 +733,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetfe411907?api-version=2021-03-01 response: @@ -744,17 +744,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/888f6f88-0226-422a-bdd9-b848c7e4be36?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dcc7af90-3b04-4420-8c2b-986f55223795?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:11:10 GMT + - Thu, 08 Jul 2021 04:34:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/888f6f88-0226-422a-bdd9-b848c7e4be36?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dcc7af90-3b04-4420-8c2b-986f55223795?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -767,7 +767,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteVMScaleSet3Min;79,Microsoft.Compute/DeleteVMScaleSet30Min;398,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3728,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-deletes: - - '14991' + - '14992' x-ms-request-charge: - '1' status: @@ -783,14 +783,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/888f6f88-0226-422a-bdd9-b848c7e4be36?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dcc7af90-3b04-4420-8c2b-986f55223795?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:11:11.0116454+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"888f6f88-0226-422a-bdd9-b848c7e4be36\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:34:25.1980349+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"dcc7af90-3b04-4420-8c2b-986f55223795\"\r\n}" headers: cache-control: - no-cache @@ -799,7 +799,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:11:20 GMT + - Thu, 08 Jul 2021 04:34:34 GMT expires: - '-1' pragma: @@ -816,7 +816,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14999,Microsoft.Compute/GetOperation30Min;29885 + - Microsoft.Compute/GetOperation3Min;14999,Microsoft.Compute/GetOperation30Min;29899 status: code: 200 message: OK @@ -830,14 +830,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/888f6f88-0226-422a-bdd9-b848c7e4be36?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dcc7af90-3b04-4420-8c2b-986f55223795?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:11:11.0116454+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"888f6f88-0226-422a-bdd9-b848c7e4be36\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:34:25.1980349+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"dcc7af90-3b04-4420-8c2b-986f55223795\"\r\n}" headers: cache-control: - no-cache @@ -846,7 +846,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:11:31 GMT + - Thu, 08 Jul 2021 04:34:45 GMT expires: - '-1' pragma: @@ -863,7 +863,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14998,Microsoft.Compute/GetOperation30Min;29884 + - Microsoft.Compute/GetOperation3Min;14998,Microsoft.Compute/GetOperation30Min;29898 status: code: 200 message: OK @@ -877,15 +877,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/888f6f88-0226-422a-bdd9-b848c7e4be36?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/dcc7af90-3b04-4420-8c2b-986f55223795?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:11:11.0116454+00:00\",\r\n \"endTime\": - \"2021-05-25T11:11:50.3710673+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"888f6f88-0226-422a-bdd9-b848c7e4be36\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:34:25.1980349+00:00\",\r\n \"endTime\": + \"2021-07-08T04:35:16.1201809+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"dcc7af90-3b04-4420-8c2b-986f55223795\"\r\n}" headers: cache-control: - no-cache @@ -894,7 +894,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:01 GMT + - Thu, 08 Jul 2021 04:35:16 GMT expires: - '-1' pragma: @@ -911,7 +911,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29882 + - Microsoft.Compute/GetOperation3Min;14997,Microsoft.Compute/GetOperation30Min;29898 status: code: 200 message: OK diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_vm.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_vm.yaml index 5566b8b715e6..8adfbfbe23ea 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_vm.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_vm.yaml @@ -14,17 +14,17 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamex8c68120d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d\",\r\n - \ \"etag\": \"W/\\\"003888f7-46ec-4870-a944-d5df7b7377e0\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"0af686f6-0a7d-47da-bebe-903294c32bbd\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"3fb0c708-b0ad-4369-8cde-dfcbadb2d57c\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"808c58c6-4f8f-4195-b615-eefe6fe78313\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -32,7 +32,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/8b6fcbaa-b395-4d36-b7d9-82f59f1d77bf?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/adf4a428-767e-4f76-a33a-e13e1a26f083?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -40,7 +40,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:05 GMT + - Thu, 08 Jul 2021 04:35:20 GMT expires: - '-1' pragma: @@ -53,9 +53,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 856ac6ee-4e7d-4ad6-9188-3a801c0fdb44 + - f2aeb099-e2ed-4616-83aa-c347e1ee0ee4 x-ms-ratelimit-remaining-subscription-writes: - - '1190' + - '1187' status: code: 201 message: Created @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/8b6fcbaa-b395-4d36-b7d9-82f59f1d77bf?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/adf4a428-767e-4f76-a33a-e13e1a26f083?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -84,7 +84,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:08 GMT + - Thu, 08 Jul 2021 04:35:23 GMT expires: - '-1' pragma: @@ -101,7 +101,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e97a2384-446b-4787-990f-5ad41165811b + - b65a3a8c-94e2-4c0a-8a4c-e75401b00b34 status: code: 200 message: OK @@ -115,17 +115,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamex8c68120d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d\",\r\n - \ \"etag\": \"W/\\\"268b9fcf-9358-48d0-8142-01807c41311f\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"3508ac51-f322-4f74-89ff-374e8d33d695\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"3fb0c708-b0ad-4369-8cde-dfcbadb2d57c\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"808c58c6-4f8f-4195-b615-eefe6fe78313\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -137,9 +137,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:09 GMT + - Thu, 08 Jul 2021 04:35:24 GMT etag: - - W/"268b9fcf-9358-48d0-8142-01807c41311f" + - W/"3508ac51-f322-4f74-89ff-374e8d33d695" expires: - '-1' pragma: @@ -156,7 +156,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 211b2175-f6b9-4214-a9d2-ed80dbe9627a + - 466e183f-9694-42b8-996a-6af95ae7e9c4 status: code: 200 message: OK @@ -174,21 +174,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetnamex8c68120d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d\",\r\n - \ \"etag\": \"W/\\\"f31b6ae6-8719-455d-9833-e3355d3c0d04\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"1a6873d4-9839-432a-88d9-941d315b240e\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e2ff46af-58fc-4adf-917e-6de4698abaa3?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4f7b28e5-aa05-4247-b6f4-067b1cb6a11b?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -196,7 +196,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:09 GMT + - Thu, 08 Jul 2021 04:35:24 GMT expires: - '-1' pragma: @@ -209,9 +209,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 36a3995d-b87c-497b-bcdb-1c782bba575e + - 6466c368-fea6-4a12-b51a-a65dd3d133cc x-ms-ratelimit-remaining-subscription-writes: - - '1189' + - '1186' status: code: 201 message: Created @@ -225,10 +225,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e2ff46af-58fc-4adf-917e-6de4698abaa3?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4f7b28e5-aa05-4247-b6f4-067b1cb6a11b?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -240,7 +240,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:12 GMT + - Thu, 08 Jul 2021 04:35:27 GMT expires: - '-1' pragma: @@ -257,7 +257,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e4aa8ac6-760a-45f9-bdae-0a454c1c818e + - e001ac30-56ef-4b0b-ba6d-54473ed6772b status: code: 200 message: OK @@ -271,14 +271,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetnamex8c68120d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d\",\r\n - \ \"etag\": \"W/\\\"af9b4787-fab7-4399-9197-a6c16abf8b9a\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"281f1530-db1e-472f-9786-a41ca9f5b495\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": @@ -291,9 +291,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:12 GMT + - Thu, 08 Jul 2021 04:35:27 GMT etag: - - W/"af9b4787-fab7-4399-9197-a6c16abf8b9a" + - W/"281f1530-db1e-472f-9786-a41ca9f5b495" expires: - '-1' pragma: @@ -310,7 +310,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 01113721-a71f-4384-aeb2-fa0a69589b32 + - 32d96adb-1dc5-4720-8443-f9e869e011b1 status: code: 200 message: OK @@ -338,8 +338,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d?api-version=2021-03-01 response: @@ -363,12 +363,12 @@ interactions: \"latest\"\r\n }\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]}\r\n \ },\r\n \"provisioningState\": \"Creating\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": - \"2b005c20-2bab-4491-aa18-af63849333fc\"\r\n }\r\n}" + \"8b16257e-2f90-4d41-87c4-0fc524c4a9ac\"\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ef427875-a0c7-44a7-b811-0599f6f35745?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c3ae9f06-ec5c-4946-9a32-047fb2d3de66?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -376,7 +376,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:15 GMT + - Thu, 08 Jul 2021 04:35:30 GMT expires: - '-1' pragma: @@ -391,7 +391,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateVMScaleSet3Min;185,Microsoft.Compute/CreateVMScaleSet30Min;929,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3726,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' x-ms-request-charge: - '2' status: @@ -407,14 +407,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ef427875-a0c7-44a7-b811-0599f6f35745?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c3ae9f06-ec5c-4946-9a32-047fb2d3de66?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:12:15.1054126+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"ef427875-a0c7-44a7-b811-0599f6f35745\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:35:30.6046554+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"c3ae9f06-ec5c-4946-9a32-047fb2d3de66\"\r\n}" headers: cache-control: - no-cache @@ -423,7 +423,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:12:25 GMT + - Thu, 08 Jul 2021 04:35:40 GMT expires: - '-1' pragma: @@ -440,7 +440,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29881 + - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29896 status: code: 200 message: OK @@ -454,15 +454,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ef427875-a0c7-44a7-b811-0599f6f35745?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c3ae9f06-ec5c-4946-9a32-047fb2d3de66?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:12:15.1054126+00:00\",\r\n \"endTime\": - \"2021-05-25T11:13:50.7774547+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"ef427875-a0c7-44a7-b811-0599f6f35745\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:35:30.6046554+00:00\",\r\n \"endTime\": + \"2021-07-08T04:37:04.1516006+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"c3ae9f06-ec5c-4946-9a32-047fb2d3de66\"\r\n}" headers: cache-control: - no-cache @@ -471,7 +471,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:14:02 GMT + - Thu, 08 Jul 2021 04:37:17 GMT expires: - '-1' pragma: @@ -488,7 +488,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29879 + - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29894 status: code: 200 message: OK @@ -502,8 +502,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d?api-version=2021-03-01 response: @@ -527,7 +527,7 @@ interactions: \"latest\"\r\n }\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]}\r\n \ },\r\n \"provisioningState\": \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": - \"2b005c20-2bab-4491-aa18-af63849333fc\"\r\n }\r\n}" + \"8b16257e-2f90-4d41-87c4-0fc524c4a9ac\"\r\n }\r\n}" headers: cache-control: - no-cache @@ -536,7 +536,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:14:02 GMT + - Thu, 08 Jul 2021 04:37:18 GMT expires: - '-1' pragma: @@ -553,7 +553,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSet3Min;395,Microsoft.Compute/GetVMScaleSet30Min;2585 + - Microsoft.Compute/GetVMScaleSet3Min;396,Microsoft.Compute/GetVMScaleSet30Min;2588 status: code: 200 message: OK @@ -567,29 +567,74 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0/instanceView?api-version=2021-03-01 response: body: - string: "{\r\n \"placementGroupId\": \"34cce735-f560-4317-b998-beec388955cf\",\r\n - \ \"platformUpdateDomain\": 0,\r\n \"platformFaultDomain\": 0,\r\n \"computerName\": - \"testPC000000\",\r\n \"osName\": \"Windows Server 2016 Datacenter\",\r\n + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"The entity was not found in this Azure location.\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '115' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 08 Jul 2021 04:40:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSetVM3Min;999,Microsoft.Compute/GetVMScaleSetVM30Min;4998,Microsoft.Compute/VMScaleSetVMViews3Min;4999 + x-ms-request-charge: + - '1' + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1/instanceView?api-version=2021-03-01 + response: + body: + string: "{\r\n \"placementGroupId\": \"f36cc773-cb82-4187-a0ee-69a0e6b8b4b6\",\r\n + \ \"platformUpdateDomain\": 1,\r\n \"platformFaultDomain\": 1,\r\n \"computerName\": + \"testPC000001\",\r\n \"osName\": \"Windows Server 2016 Datacenter\",\r\n \ \"osVersion\": \"Microsoft Windows NT 10.0.14393.0\",\r\n \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.7.41491.1010\",\r\n \"statuses\": [\r\n \ {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n \"message\": \"GuestAgent is running and processing the extensions.\",\r\n \"time\": - \"2021-05-25T11:16:57+00:00\"\r\n }\r\n ]\r\n },\r\n \"disks\": - [\r\n {\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_1f11cee6d4274b69bec6cab11310733a\",\r\n + \"2021-07-08T04:40:14+00:00\"\r\n }\r\n ]\r\n },\r\n \"disks\": + [\r\n {\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_ef360a18c3674878b8d51b50c60d065c\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-05-25T11:13:51.3554894+00:00\"\r\n + succeeded\",\r\n \"time\": \"2021-07-08T04:35:35.0109538+00:00\"\r\n \ }\r\n ]\r\n }\r\n ],\r\n \"hyperVGeneration\": \"V1\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning succeeded\",\r\n - \ \"time\": \"2021-05-25T11:14:43.5900156+00:00\"\r\n },\r\n {\r\n + \ \"time\": \"2021-07-08T04:37:04.0891215+00:00\"\r\n },\r\n {\r\n \ \"code\": \"PowerState/running\",\r\n \"level\": \"Info\",\r\n \ \"displayStatus\": \"VM running\"\r\n }\r\n ]\r\n}" headers: @@ -600,7 +645,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:17:03 GMT + - Thu, 08 Jul 2021 04:40:18 GMT expires: - '-1' pragma: @@ -617,7 +662,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSetVM3Min;999,Microsoft.Compute/GetVMScaleSetVM30Min;4998,Microsoft.Compute/VMScaleSetVMViews3Min;4999 + - Microsoft.Compute/GetVMScaleSetVM3Min;998,Microsoft.Compute/GetVMScaleSetVM30Min;4997,Microsoft.Compute/VMScaleSetVMViews3Min;4998 x-ms-request-charge: - '1' status: @@ -633,35 +678,35 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1?api-version=2021-03-01 response: body: - string: "{\r\n \"name\": \"virtualmachinescaleset8c68120d_0\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/0\",\r\n + string: "{\r\n \"name\": \"virtualmachinescaleset8c68120d_1\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/1\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets/virtualMachines\",\r\n - \ \"location\": \"eastus\",\r\n \"instanceId\": \"0\",\r\n \"sku\": {\r\n + \ \"location\": \"eastus\",\r\n \"instanceId\": \"1\",\r\n \"sku\": {\r\n \ \"name\": \"Standard_D1_v2\",\r\n \"tier\": \"Standard\"\r\n },\r\n \ \"properties\": {\r\n \"latestModelApplied\": true,\r\n \"modelDefinitionApplied\": \"VirtualMachineScaleSet\",\r\n \"networkProfileConfiguration\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]},\r\n - \ \"vmId\": \"0fb144e3-a110-4ecb-b2cc-d5658cea4022\",\r\n \"hardwareProfile\": + \ \"vmId\": \"e8434356-554f-4df5-85e6-9da03153bd42\",\r\n \"hardwareProfile\": {},\r\n \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Windows\",\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_1f11cee6d4274b69bec6cab11310733a\",\r\n + \"14393.4467.2106061537\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Windows\",\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_ef360a18c3674878b8d51b50c60d065c\",\r\n \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinescalesvirtualmachinescaleseOS__1_1f11cee6d4274b69bec6cab11310733a\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinescalesvirtualmachinescaleseOS__1_ef360a18c3674878b8d51b50c60d065c\"\r\n \ },\r\n \"diskSizeGB\": 512\r\n },\r\n \"dataDisks\": - []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"testPC000000\",\r\n + []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"testPC000001\",\r\n \ \"adminUsername\": \"testuser\",\r\n \"windowsConfiguration\": {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": true\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": - {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/0/networkInterfaces/testPC\"}]},\r\n + {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/1/networkInterfaces/testPC\"}]},\r\n \ \"provisioningState\": \"Succeeded\"\r\n }\r\n}" headers: cache-control: @@ -671,7 +716,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:17:03 GMT + - Thu, 08 Jul 2021 04:40:18 GMT expires: - '-1' pragma: @@ -688,7 +733,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSetVM3Min;998,Microsoft.Compute/GetVMScaleSetVM30Min;4997,Microsoft.Compute/VMScaleSetVMViews3Min;4998 + - Microsoft.Compute/GetVMScaleSetVM3Min;997,Microsoft.Compute/GetVMScaleSetVM30Min;4996,Microsoft.Compute/VMScaleSetVMViews3Min;4997 x-ms-request-charge: - '1' status: @@ -708,39 +753,39 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1?api-version=2021-03-01 response: body: - string: "{\r\n \"name\": \"virtualmachinescaleset8c68120d_0\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/0\",\r\n + string: "{\r\n \"name\": \"virtualmachinescaleset8c68120d_1\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/1\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets/virtualMachines\",\r\n - \ \"location\": \"eastus\",\r\n \"instanceId\": \"0\",\r\n \"sku\": {\r\n + \ \"location\": \"eastus\",\r\n \"instanceId\": \"1\",\r\n \"sku\": {\r\n \ \"name\": \"Standard_D1_v2\",\r\n \"tier\": \"Standard\"\r\n },\r\n \ \"properties\": {\r\n \"latestModelApplied\": true,\r\n \"modelDefinitionApplied\": \"VirtualMachineScaleSet\",\r\n \"networkProfileConfiguration\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]},\r\n - \ \"vmId\": \"0fb144e3-a110-4ecb-b2cc-d5658cea4022\",\r\n \"hardwareProfile\": + \ \"vmId\": \"e8434356-554f-4df5-85e6-9da03153bd42\",\r\n \"hardwareProfile\": {},\r\n \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Windows\",\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_1f11cee6d4274b69bec6cab11310733a\",\r\n + \"14393.4467.2106061537\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Windows\",\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_ef360a18c3674878b8d51b50c60d065c\",\r\n \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinescalesvirtualmachinescaleseOS__1_1f11cee6d4274b69bec6cab11310733a\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinescalesvirtualmachinescaleseOS__1_ef360a18c3674878b8d51b50c60d065c\"\r\n \ },\r\n \"diskSizeGB\": 512\r\n },\r\n \"dataDisks\": - []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"testPC000000\",\r\n + []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"testPC000001\",\r\n \ \"adminUsername\": \"testuser\",\r\n \"windowsConfiguration\": {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": true\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": - {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/0/networkInterfaces/testPC\"}]},\r\n + {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/1/networkInterfaces/testPC\"}]},\r\n \ \"provisioningState\": \"Updating\"\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7bc195de-43f2-4e07-8d0e-6aac64680f3f?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/329e42de-d2ab-4bd2-9de6-705db620050e?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -748,7 +793,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:17:04 GMT + - Thu, 08 Jul 2021 04:40:20 GMT expires: - '-1' pragma: @@ -767,7 +812,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;239,Microsoft.Compute/VMScaleSetActions30Min;1189,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1194' x-ms-request-charge: - '0' status: @@ -783,24 +828,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7bc195de-43f2-4e07-8d0e-6aac64680f3f?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/329e42de-d2ab-4bd2-9de6-705db620050e?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:17:03.8402303+00:00\",\r\n \"endTime\": - \"2021-05-25T11:17:03.996487+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"7bc195de-43f2-4e07-8d0e-6aac64680f3f\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:40:19.6517588+00:00\",\r\n \"endTime\": + \"2021-07-08T04:40:19.7455249+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"329e42de-d2ab-4bd2-9de6-705db620050e\"\r\n}" headers: cache-control: - no-cache content-length: - - '183' + - '184' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:17:34 GMT + - Thu, 08 Jul 2021 04:40:49 GMT expires: - '-1' pragma: @@ -817,7 +862,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14999,Microsoft.Compute/GetOperation30Min;29900 + - Microsoft.Compute/GetOperation3Min;14999,Microsoft.Compute/GetOperation30Min;29909 status: code: 200 message: OK @@ -831,35 +876,35 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1?api-version=2021-03-01 response: body: - string: "{\r\n \"name\": \"virtualmachinescaleset8c68120d_0\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/0\",\r\n + string: "{\r\n \"name\": \"virtualmachinescaleset8c68120d_1\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/1\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets/virtualMachines\",\r\n - \ \"location\": \"eastus\",\r\n \"instanceId\": \"0\",\r\n \"sku\": {\r\n + \ \"location\": \"eastus\",\r\n \"instanceId\": \"1\",\r\n \"sku\": {\r\n \ \"name\": \"Standard_D1_v2\",\r\n \"tier\": \"Standard\"\r\n },\r\n \ \"properties\": {\r\n \"latestModelApplied\": true,\r\n \"modelDefinitionApplied\": \"VirtualMachineScaleSet\",\r\n \"networkProfileConfiguration\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamex8c68120d/subnets/subnetnamex8c68120d\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]},\r\n - \ \"vmId\": \"0fb144e3-a110-4ecb-b2cc-d5658cea4022\",\r\n \"hardwareProfile\": + \ \"vmId\": \"e8434356-554f-4df5-85e6-9da03153bd42\",\r\n \"hardwareProfile\": {},\r\n \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"14393.4402.2105052108\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Windows\",\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_1f11cee6d4274b69bec6cab11310733a\",\r\n + \"14393.4467.2106061537\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Windows\",\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_ef360a18c3674878b8d51b50c60d065c\",\r\n \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Standard_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinescalesvirtualmachinescaleseOS__1_1f11cee6d4274b69bec6cab11310733a\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/disks/virtualmachinescalesvirtualmachinescaleseOS__1_ef360a18c3674878b8d51b50c60d065c\"\r\n \ },\r\n \"diskSizeGB\": 512\r\n },\r\n \"dataDisks\": - []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"testPC000000\",\r\n + []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"testPC000001\",\r\n \ \"adminUsername\": \"testuser\",\r\n \"windowsConfiguration\": {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": true\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": - {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/0/networkInterfaces/testPC\"}]},\r\n + {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualMachines/1/networkInterfaces/testPC\"}]},\r\n \ \"provisioningState\": \"Succeeded\"\r\n }\r\n}" headers: cache-control: @@ -869,7 +914,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:17:34 GMT + - Thu, 08 Jul 2021 04:40:50 GMT expires: - '-1' pragma: @@ -886,7 +931,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSetVM3Min;997,Microsoft.Compute/GetVMScaleSetVM30Min;4996,Microsoft.Compute/VMScaleSetVMViews3Min;4997 + - Microsoft.Compute/GetVMScaleSetVM3Min;996,Microsoft.Compute/GetVMScaleSetVM30Min;4995,Microsoft.Compute/VMScaleSetVMViews3Min;4996 x-ms-request-charge: - '1' status: @@ -904,26 +949,26 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0/restart?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1/restart?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/998e16e5-8043-42aa-8e2b-682af291da50?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4560fa48-2405-4da2-856a-ca90dc1d5818?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:17:34 GMT + - Thu, 08 Jul 2021 04:40:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/998e16e5-8043-42aa-8e2b-682af291da50?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4560fa48-2405-4da2-856a-ca90dc1d5818?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -936,7 +981,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1188,Microsoft.Compute/VMScaleSetVMActions3Min;199,Microsoft.Compute/VMScaleSetVMActions30Min;999,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3728,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1185' + - '1187' x-ms-request-charge: - '1' status: @@ -952,15 +997,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/998e16e5-8043-42aa-8e2b-682af291da50?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4560fa48-2405-4da2-856a-ca90dc1d5818?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:17:34.9652378+00:00\",\r\n \"endTime\": - \"2021-05-25T11:17:36.9652282+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"998e16e5-8043-42aa-8e2b-682af291da50\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:40:50.8707392+00:00\",\r\n \"endTime\": + \"2021-07-08T04:40:52.1832626+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"4560fa48-2405-4da2-856a-ca90dc1d5818\"\r\n}" headers: cache-control: - no-cache @@ -969,7 +1014,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:18:05 GMT + - Thu, 08 Jul 2021 04:41:21 GMT expires: - '-1' pragma: @@ -986,7 +1031,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14997,Microsoft.Compute/GetOperation30Min;29898 + - Microsoft.Compute/GetOperation3Min;14997,Microsoft.Compute/GetOperation30Min;29907 status: code: 200 message: OK @@ -1000,10 +1045,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/998e16e5-8043-42aa-8e2b-682af291da50?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/4560fa48-2405-4da2-856a-ca90dc1d5818?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1013,7 +1058,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:18:05 GMT + - Thu, 08 Jul 2021 04:41:21 GMT expires: - '-1' pragma: @@ -1026,7 +1071,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29897 + - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29906 status: code: 200 message: OK @@ -1042,26 +1087,26 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0/poweroff?skipShutdown=false&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1/poweroff?skipShutdown=false&api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/91c0bcee-c199-4592-bc60-9d0fdb5d5a47?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b89b7a5f-1178-4395-aa16-4dbf03c752c2?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:18:05 GMT + - Thu, 08 Jul 2021 04:41:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/91c0bcee-c199-4592-bc60-9d0fdb5d5a47?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b89b7a5f-1178-4395-aa16-4dbf03c752c2?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1074,7 +1119,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteVMScaleSetVM3Min;239,Microsoft.Compute/DeleteVMScaleSetVM30Min;1199,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3727,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1184' + - '1186' x-ms-request-charge: - '1' status: @@ -1090,24 +1135,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/91c0bcee-c199-4592-bc60-9d0fdb5d5a47?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b89b7a5f-1178-4395-aa16-4dbf03c752c2?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:18:05.621504+00:00\",\r\n \"endTime\": - \"2021-05-25T11:18:17.2934221+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"91c0bcee-c199-4592-bc60-9d0fdb5d5a47\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:41:21.4178149+00:00\",\r\n \"endTime\": + \"2021-07-08T04:41:38.5272217+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"b89b7a5f-1178-4395-aa16-4dbf03c752c2\"\r\n}" headers: cache-control: - no-cache content-length: - - '183' + - '184' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:18:35 GMT + - Thu, 08 Jul 2021 04:41:51 GMT expires: - '-1' pragma: @@ -1124,7 +1169,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29895 + - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29904 status: code: 200 message: OK @@ -1138,10 +1183,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/91c0bcee-c199-4592-bc60-9d0fdb5d5a47?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/b89b7a5f-1178-4395-aa16-4dbf03c752c2?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1151,7 +1196,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:18:35 GMT + - Thu, 08 Jul 2021 04:41:51 GMT expires: - '-1' pragma: @@ -1164,7 +1209,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29894 + - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29903 status: code: 200 message: OK @@ -1180,26 +1225,26 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0/start?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1/start?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/129d367d-1ae3-40da-8b24-1009365fb6dd?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e3eacc06-78ec-4dee-8f45-715884043334?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:18:35 GMT + - Thu, 08 Jul 2021 04:41:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/129d367d-1ae3-40da-8b24-1009365fb6dd?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e3eacc06-78ec-4dee-8f45-715884043334?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1212,7 +1257,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;237,Microsoft.Compute/VMScaleSetActions30Min;1187,Microsoft.Compute/VMScaleSetVMActions3Min;198,Microsoft.Compute/VMScaleSetVMActions30Min;998,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3726,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1183' + - '1185' x-ms-request-charge: - '1' status: @@ -1228,24 +1273,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/129d367d-1ae3-40da-8b24-1009365fb6dd?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e3eacc06-78ec-4dee-8f45-715884043334?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:18:36.1371739+00:00\",\r\n \"endTime\": - \"2021-05-25T11:18:40.0590573+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"129d367d-1ae3-40da-8b24-1009365fb6dd\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:41:51.855426+00:00\",\r\n \"endTime\": + \"2021-07-08T04:42:02.824199+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"e3eacc06-78ec-4dee-8f45-715884043334\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '182' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:19:05 GMT + - Thu, 08 Jul 2021 04:42:21 GMT expires: - '-1' pragma: @@ -1262,7 +1307,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29892 + - Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29900 status: code: 200 message: OK @@ -1276,10 +1321,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/129d367d-1ae3-40da-8b24-1009365fb6dd?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e3eacc06-78ec-4dee-8f45-715884043334?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1289,7 +1334,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:19:05 GMT + - Thu, 08 Jul 2021 04:42:21 GMT expires: - '-1' pragma: @@ -1302,7 +1347,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29891 + - Microsoft.Compute/GetOperation3Min;14989,Microsoft.Compute/GetOperation30Min;29899 status: code: 200 message: OK @@ -1320,26 +1365,26 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0/runCommand?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1/runCommand?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0444640e-1656-4ba2-96cb-b74274183b2a?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:19:05 GMT + - Thu, 08 Jul 2021 04:42:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0444640e-1656-4ba2-96cb-b74274183b2a?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1352,7 +1397,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;236,Microsoft.Compute/VMScaleSetActions30Min;1186,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3725,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1182' + - '1184' x-ms-request-charge: - '1' status: @@ -1368,23 +1413,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0444640e-1656-4ba2-96cb-b74274183b2a?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:19:06.652924+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"0444640e-1656-4ba2-96cb-b74274183b2a\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:42:22.4024613+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e\"\r\n}" headers: cache-control: - no-cache content-length: - - '133' + - '134' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:19:36 GMT + - Thu, 08 Jul 2021 04:42:52 GMT expires: - '-1' pragma: @@ -1401,7 +1446,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14988,Microsoft.Compute/GetOperation30Min;29889 + - Microsoft.Compute/GetOperation3Min;14987,Microsoft.Compute/GetOperation30Min;29897 status: code: 200 message: OK @@ -1415,23 +1460,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0444640e-1656-4ba2-96cb-b74274183b2a?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:19:06.652924+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"0444640e-1656-4ba2-96cb-b74274183b2a\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:42:22.4024613+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e\"\r\n}" headers: cache-control: - no-cache content-length: - - '133' + - '134' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:20:06 GMT + - Thu, 08 Jul 2021 04:43:22 GMT expires: - '-1' pragma: @@ -1448,7 +1493,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29911 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29894 status: code: 200 message: OK @@ -1462,26 +1507,26 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0444640e-1656-4ba2-96cb-b74274183b2a?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:19:06.652924+00:00\",\r\n \"endTime\": - \"2021-05-25T11:20:07.2935686+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-07-08T04:42:22.4024613+00:00\",\r\n \"endTime\": + \"2021-07-08T04:43:23.0746755+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\"value\":[{\"code\":\"ComponentStatus/StdOut/succeeded\",\"level\":\"Info\",\"displayStatus\":\"Provisioning succeeded\",\"message\":\"This is a sample script with parameters \"},{\"code\":\"ComponentStatus/StdErr/succeeded\",\"level\":\"Info\",\"displayStatus\":\"Provisioning - succeeded\",\"message\":\"\"}]}\r\n },\r\n \"name\": \"0444640e-1656-4ba2-96cb-b74274183b2a\"\r\n}" + succeeded\",\"message\":\"\"}]}\r\n },\r\n \"name\": \"e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e\"\r\n}" headers: cache-control: - no-cache content-length: - - '502' + - '503' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:20:36 GMT + - Thu, 08 Jul 2021 04:43:53 GMT expires: - '-1' pragma: @@ -1498,7 +1543,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29909 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29892 status: code: 200 message: OK @@ -1512,10 +1557,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/0444640e-1656-4ba2-96cb-b74274183b2a?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e7a2b6ca-870b-4e3a-8b2c-f2182ff83e9e?monitor=true&api-version=2021-03-01 response: body: string: '{"value":[{"code":"ComponentStatus/StdOut/succeeded","level":"Info","displayStatus":"Provisioning @@ -1529,7 +1574,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:20:36 GMT + - Thu, 08 Jul 2021 04:43:53 GMT expires: - '-1' pragma: @@ -1546,12 +1591,12 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29908 + - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29891 status: code: 200 message: OK - request: - body: '{"instanceIds": ["0"]}' + body: '{"instanceIds": ["1"]}' headers: Accept: - '*/*' @@ -1564,8 +1609,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/manualupgrade?api-version=2021-03-01 response: @@ -1573,17 +1618,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/de9ce437-0ec0-44fb-a68c-15f61f8f773c?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c258fa25-654c-42b2-8bbd-ea049fc6d431?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:20:36 GMT + - Thu, 08 Jul 2021 04:43:53 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/de9ce437-0ec0-44fb-a68c-15f61f8f773c?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c258fa25-654c-42b2-8bbd-ea049fc6d431?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1596,7 +1641,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;237,Microsoft.Compute/VMScaleSetActions30Min;1185,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1181' + - '1183' x-ms-request-charge: - '0' status: @@ -1612,15 +1657,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/de9ce437-0ec0-44fb-a68c-15f61f8f773c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c258fa25-654c-42b2-8bbd-ea049fc6d431?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:20:37.6217769+00:00\",\r\n \"endTime\": - \"2021-05-25T11:20:37.7623889+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"de9ce437-0ec0-44fb-a68c-15f61f8f773c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:43:53.3560962+00:00\",\r\n \"endTime\": + \"2021-07-08T04:43:53.4967386+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"c258fa25-654c-42b2-8bbd-ea049fc6d431\"\r\n}" headers: cache-control: - no-cache @@ -1629,7 +1674,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:21:07 GMT + - Thu, 08 Jul 2021 04:44:23 GMT expires: - '-1' pragma: @@ -1646,7 +1691,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29906 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29889 status: code: 200 message: OK @@ -1660,10 +1705,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/de9ce437-0ec0-44fb-a68c-15f61f8f773c?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c258fa25-654c-42b2-8bbd-ea049fc6d431?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1673,7 +1718,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:21:07 GMT + - Thu, 08 Jul 2021 04:44:23 GMT expires: - '-1' pragma: @@ -1686,7 +1731,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29905 + - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29888 status: code: 200 message: OK @@ -1702,26 +1747,26 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0/deallocate?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1/deallocate?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f1b874ab-21d8-4a94-bebd-88004efd2c6e?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a8f79171-7d32-4e39-ab6d-6ec9b4909331?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:21:08 GMT + - Thu, 08 Jul 2021 04:44:23 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f1b874ab-21d8-4a94-bebd-88004efd2c6e?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a8f79171-7d32-4e39-ab6d-6ec9b4909331?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1734,7 +1779,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteVMScaleSetVM3Min;239,Microsoft.Compute/DeleteVMScaleSetVM30Min;1198,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3724,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1180' + - '1182' x-ms-request-charge: - '1' status: @@ -1750,14 +1795,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f1b874ab-21d8-4a94-bebd-88004efd2c6e?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a8f79171-7d32-4e39-ab6d-6ec9b4909331?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:21:08.1530383+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"f1b874ab-21d8-4a94-bebd-88004efd2c6e\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:44:23.8562821+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"a8f79171-7d32-4e39-ab6d-6ec9b4909331\"\r\n}" headers: cache-control: - no-cache @@ -1766,7 +1811,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:21:37 GMT + - Thu, 08 Jul 2021 04:44:53 GMT expires: - '-1' pragma: @@ -1783,7 +1828,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29903 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29886 status: code: 200 message: OK @@ -1797,15 +1842,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f1b874ab-21d8-4a94-bebd-88004efd2c6e?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a8f79171-7d32-4e39-ab6d-6ec9b4909331?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:21:08.1530383+00:00\",\r\n \"endTime\": - \"2021-05-25T11:21:40.1218059+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"f1b874ab-21d8-4a94-bebd-88004efd2c6e\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:44:23.8562821+00:00\",\r\n \"endTime\": + \"2021-07-08T04:45:05.9502308+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"a8f79171-7d32-4e39-ab6d-6ec9b4909331\"\r\n}" headers: cache-control: - no-cache @@ -1814,7 +1859,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:22:07 GMT + - Thu, 08 Jul 2021 04:45:24 GMT expires: - '-1' pragma: @@ -1831,7 +1876,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29900 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29908 status: code: 200 message: OK @@ -1845,10 +1890,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/f1b874ab-21d8-4a94-bebd-88004efd2c6e?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/a8f79171-7d32-4e39-ab6d-6ec9b4909331?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1858,7 +1903,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:22:07 GMT + - Thu, 08 Jul 2021 04:45:24 GMT expires: - '-1' pragma: @@ -1871,12 +1916,12 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29899 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29907 status: code: 200 message: OK - request: - body: '{"instanceIds": ["0"]}' + body: '{"instanceIds": ["1"]}' headers: Accept: - '*/*' @@ -1889,8 +1934,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/delete?api-version=2021-03-01 response: @@ -1898,17 +1943,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e00281e7-9879-41bb-8cde-282c2d72f3fa?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e1c0ac2f-4305-4a34-8caa-ad501064940c?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:22:08 GMT + - Thu, 08 Jul 2021 04:45:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e00281e7-9879-41bb-8cde-282c2d72f3fa?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e1c0ac2f-4305-4a34-8caa-ad501064940c?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1921,7 +1966,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1184,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3724,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1179' + - '1181' x-ms-request-charge: - '1' status: @@ -1937,24 +1982,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e00281e7-9879-41bb-8cde-282c2d72f3fa?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e1c0ac2f-4305-4a34-8caa-ad501064940c?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:22:08.8093508+00:00\",\r\n \"endTime\": - \"2021-05-25T11:22:09.621866+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"e00281e7-9879-41bb-8cde-282c2d72f3fa\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:45:24.5440805+00:00\",\r\n \"endTime\": + \"2021-07-08T04:45:26.2315984+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"e1c0ac2f-4305-4a34-8caa-ad501064940c\"\r\n}" headers: cache-control: - no-cache content-length: - - '183' + - '184' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:22:38 GMT + - Thu, 08 Jul 2021 04:45:54 GMT expires: - '-1' pragma: @@ -1971,7 +2016,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29897 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29905 status: code: 200 message: OK @@ -1985,10 +2030,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e00281e7-9879-41bb-8cde-282c2d72f3fa?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/e1c0ac2f-4305-4a34-8caa-ad501064940c?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1998,7 +2043,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:22:39 GMT + - Thu, 08 Jul 2021 04:45:54 GMT expires: - '-1' pragma: @@ -2011,7 +2056,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29896 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29904 status: code: 200 message: OK @@ -2027,26 +2072,26 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/0?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d/virtualmachines/1?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c31b6b76-d485-42d9-80ae-2216701d85a6?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/592a5694-c716-441c-8de4-4591106333c1?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:22:39 GMT + - Thu, 08 Jul 2021 04:45:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c31b6b76-d485-42d9-80ae-2216701d85a6?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/592a5694-c716-441c-8de4-4591106333c1?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -2059,7 +2104,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteVMScaleSetVM3Min;238,Microsoft.Compute/DeleteVMScaleSetVM30Min;1197,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-deletes: - - '14992' + - '14993' x-ms-request-charge: - '0' status: @@ -2075,24 +2120,24 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/c31b6b76-d485-42d9-80ae-2216701d85a6?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/592a5694-c716-441c-8de4-4591106333c1?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:22:39.2313514+00:00\",\r\n \"endTime\": - \"2021-05-25T11:22:39.3094604+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"c31b6b76-d485-42d9-80ae-2216701d85a6\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:45:55.0286057+00:00\",\r\n \"endTime\": + \"2021-07-08T04:45:55.122397+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"592a5694-c716-441c-8de4-4591106333c1\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:09 GMT + - Thu, 08 Jul 2021 04:46:24 GMT expires: - '-1' pragma: @@ -2109,7 +2154,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29894 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29902 status: code: 200 message: OK @@ -2125,8 +2170,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescaleset8c68120d?api-version=2021-03-01 response: @@ -2136,17 +2181,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7f488333-cd9f-4607-9696-f10f14a469ea?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/76e0b9e9-7025-427c-a366-949ee46d7de1?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:23:09 GMT + - Thu, 08 Jul 2021 04:46:27 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7f488333-cd9f-4607-9696-f10f14a469ea?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/76e0b9e9-7025-427c-a366-949ee46d7de1?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -2159,7 +2204,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/DeleteVMScaleSet3Min;79,Microsoft.Compute/DeleteVMScaleSet30Min;397,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-deletes: - - '14991' + - '14992' x-ms-request-charge: - '0' status: @@ -2175,15 +2220,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/7f488333-cd9f-4607-9696-f10f14a469ea?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/76e0b9e9-7025-427c-a366-949ee46d7de1?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:23:09.6845489+00:00\",\r\n \"endTime\": - \"2021-05-25T11:23:09.8095274+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"7f488333-cd9f-4607-9696-f10f14a469ea\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:46:28.2319275+00:00\",\r\n \"endTime\": + \"2021-07-08T04:46:28.3413035+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"76e0b9e9-7025-427c-a366-949ee46d7de1\"\r\n}" headers: cache-control: - no-cache @@ -2192,7 +2237,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:19 GMT + - Thu, 08 Jul 2021 04:46:38 GMT expires: - '-1' pragma: @@ -2209,7 +2254,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29892 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29900 status: code: 200 message: OK diff --git a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_vm_2.yaml b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_vm_2.yaml index b391465db9e2..e976a31ba2a2 100644 --- a/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_vm_2.yaml +++ b/sdk/compute/azure-mgmt-compute/tests/recordings/test_mgmt_compute_vmss.test_compute_vmss_vm_2.yaml @@ -14,17 +14,17 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamexb172129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e\",\r\n - \ \"etag\": \"W/\\\"c5ab5673-8a43-4209-9e6e-841de9f80812\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"e3fa6dee-ea53-480d-8b2f-713af56af662\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"e25ad320-78ee-4ede-8970-9fe31f86ad0b\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"d5b88c9b-dec0-4a9f-821a-3ebe4ca34d91\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -32,7 +32,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/f12dcfa9-f8cb-441a-9d67-2fb3d0437b01?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/48d95250-9aa8-40c3-aba1-628063c2cc93?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -40,7 +40,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:23 GMT + - Thu, 08 Jul 2021 04:46:42 GMT expires: - '-1' pragma: @@ -53,9 +53,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 64dcd07a-93dc-4a0d-808c-0fc661c8d81e + - d966e006-83d5-4509-9d29-77488035d566 x-ms-ratelimit-remaining-subscription-writes: - - '1189' + - '1191' status: code: 201 message: Created @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/f12dcfa9-f8cb-441a-9d67-2fb3d0437b01?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/48d95250-9aa8-40c3-aba1-628063c2cc93?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -84,7 +84,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:26 GMT + - Thu, 08 Jul 2021 04:46:45 GMT expires: - '-1' pragma: @@ -101,7 +101,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4671d216-bddb-438b-8acf-b9c55164b422 + - f7a6c6ef-18b7-4f75-b958-aacc9db3103d status: code: 200 message: OK @@ -115,17 +115,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"networknamexb172129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e\",\r\n - \ \"etag\": \"W/\\\"544e6d8e-ad31-4b03-a0f7-c224f701df44\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"23e4528c-f614-4406-830a-b6822d22a56a\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"e25ad320-78ee-4ede-8970-9fe31f86ad0b\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + \"d5b88c9b-dec0-4a9f-821a-3ebe4ca34d91\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n \ }\r\n}" @@ -137,9 +137,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:26 GMT + - Thu, 08 Jul 2021 04:46:45 GMT etag: - - W/"544e6d8e-ad31-4b03-a0f7-c224f701df44" + - W/"23e4528c-f614-4406-830a-b6822d22a56a" expires: - '-1' pragma: @@ -156,7 +156,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0079feb4-af3d-479a-8e0b-356a1e838c46 + - 93b74d15-18ec-4dc6-b85c-09ce4df4dfc9 status: code: 200 message: OK @@ -174,21 +174,21 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e/subnets/subnetnamexb172129e?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetnamexb172129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e/subnets/subnetnamexb172129e\",\r\n - \ \"etag\": \"W/\\\"9f7694c1-5f8a-4760-a74b-30a6a27bec89\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"01080e20-c595-427b-81b1-54792f16336e\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4cbc98f2-5488-4732-a63b-f88cae7d92f7?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/491788f9-2d40-4d15-bf38-81ede35a9563?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -196,7 +196,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:27 GMT + - Thu, 08 Jul 2021 04:46:46 GMT expires: - '-1' pragma: @@ -209,9 +209,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c7aa0ff8-3e79-4c83-bdd2-4c94bdd229ff + - dd4ed612-c4e9-4dec-8bdc-2a42cdfc2fec x-ms-ratelimit-remaining-subscription-writes: - - '1188' + - '1190' status: code: 201 message: Created @@ -225,10 +225,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/4cbc98f2-5488-4732-a63b-f88cae7d92f7?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/491788f9-2d40-4d15-bf38-81ede35a9563?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -240,7 +240,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:30 GMT + - Thu, 08 Jul 2021 04:46:49 GMT expires: - '-1' pragma: @@ -257,7 +257,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6860c73b-629c-4061-8185-465287ddc2d5 + - 75639c65-49d9-47ca-aa48-a5e98e08a943 status: code: 200 message: OK @@ -271,14 +271,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e/subnets/subnetnamexb172129e?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"subnetnamexb172129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e/subnets/subnetnamexb172129e\",\r\n - \ \"etag\": \"W/\\\"2817c0b4-d8b2-4d5d-98bc-ccb1b7424278\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"5866dd93-4e6a-448a-a05e-be2e3424c74a\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": @@ -291,9 +291,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:30 GMT + - Thu, 08 Jul 2021 04:46:49 GMT etag: - - W/"2817c0b4-d8b2-4d5d-98bc-ccb1b7424278" + - W/"5866dd93-4e6a-448a-a05e-be2e3424c74a" expires: - '-1' pragma: @@ -310,7 +310,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - acbcc9e0-d064-4de9-8037-950bd618130d + - 10f32ed4-3c41-4f5e-902f-3f451cbb8630 status: code: 200 message: OK @@ -338,8 +338,8 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e?api-version=2021-03-01 response: @@ -363,12 +363,12 @@ interactions: \"latest\"\r\n }\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e/subnets/subnetnamexb172129e\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]}\r\n \ },\r\n \"provisioningState\": \"Creating\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": - \"c7a214ee-c275-40fb-9d7c-9749deb30523\"\r\n }\r\n}" + \"aca62e65-a741-46cf-a724-b91fc7b17cd7\"\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/87d35843-677e-49f7-808d-783e254e56a4?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d0ddb649-c122-41f3-ab3a-04b74005a65c?api-version=2021-03-01 cache-control: - no-cache content-length: @@ -376,7 +376,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:33 GMT + - Thu, 08 Jul 2021 04:46:51 GMT expires: - '-1' pragma: @@ -391,7 +391,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateVMScaleSet3Min;185,Microsoft.Compute/CreateVMScaleSet30Min;928,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3724,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1196' x-ms-request-charge: - '2' status: @@ -407,14 +407,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/87d35843-677e-49f7-808d-783e254e56a4?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d0ddb649-c122-41f3-ab3a-04b74005a65c?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:23:32.9033304+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"87d35843-677e-49f7-808d-783e254e56a4\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:46:52.1070751+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"d0ddb649-c122-41f3-ab3a-04b74005a65c\"\r\n}" headers: cache-control: - no-cache @@ -423,7 +423,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:23:43 GMT + - Thu, 08 Jul 2021 04:47:02 GMT expires: - '-1' pragma: @@ -440,7 +440,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29891 + - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29899 status: code: 200 message: OK @@ -454,15 +454,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/87d35843-677e-49f7-808d-783e254e56a4?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/d0ddb649-c122-41f3-ab3a-04b74005a65c?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:23:32.9033304+00:00\",\r\n \"endTime\": - \"2021-05-25T11:25:01.2159007+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"87d35843-677e-49f7-808d-783e254e56a4\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:46:52.1070751+00:00\",\r\n \"endTime\": + \"2021-07-08T04:48:31.4513879+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"d0ddb649-c122-41f3-ab3a-04b74005a65c\"\r\n}" headers: cache-control: - no-cache @@ -471,7 +471,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:25:21 GMT + - Thu, 08 Jul 2021 04:48:39 GMT expires: - '-1' pragma: @@ -488,7 +488,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29900 + - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29897 status: code: 200 message: OK @@ -502,8 +502,8 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e?api-version=2021-03-01 response: @@ -527,7 +527,7 @@ interactions: \"latest\"\r\n }\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"testPC\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Network/virtualNetworks/networknamexb172129e/subnets/subnetnamexb172129e\"},\"privateIPAddressVersion\":\"IPv4\"}}]}}]}\r\n \ },\r\n \"provisioningState\": \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": - \"c7a214ee-c275-40fb-9d7c-9749deb30523\"\r\n }\r\n}" + \"aca62e65-a741-46cf-a724-b91fc7b17cd7\"\r\n }\r\n}" headers: cache-control: - no-cache @@ -536,7 +536,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:25:21 GMT + - Thu, 08 Jul 2021 04:48:39 GMT expires: - '-1' pragma: @@ -553,7 +553,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSet3Min;395,Microsoft.Compute/GetVMScaleSet30Min;2569 + - Microsoft.Compute/GetVMScaleSet3Min;396,Microsoft.Compute/GetVMScaleSet30Min;2575 status: code: 200 message: OK @@ -567,29 +567,74 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e/virtualmachines/0/instanceView?api-version=2021-03-01 response: body: - string: "{\r\n \"placementGroupId\": \"0ae0b610-0037-48d0-a55b-c30a1e2589c8\",\r\n - \ \"platformUpdateDomain\": 0,\r\n \"platformFaultDomain\": 0,\r\n \"computerName\": - \"testPC000000\",\r\n \"osName\": \"Windows Server 2016 Datacenter\",\r\n + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"The entity was not found in this Azure location.\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '115' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 08 Jul 2021 04:51:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSetVM3Min;999,Microsoft.Compute/GetVMScaleSetVM30Min;4994,Microsoft.Compute/VMScaleSetVMViews3Min;4999 + x-ms-request-charge: + - '1' + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e/virtualmachines/1/instanceView?api-version=2021-03-01 + response: + body: + string: "{\r\n \"placementGroupId\": \"f5402659-7f4b-44de-9952-fc2cc5cbdef4\",\r\n + \ \"platformUpdateDomain\": 1,\r\n \"platformFaultDomain\": 1,\r\n \"computerName\": + \"testPC000001\",\r\n \"osName\": \"Windows Server 2016 Datacenter\",\r\n \ \"osVersion\": \"Microsoft Windows NT 10.0.14393.0\",\r\n \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.7.41491.1010\",\r\n \"statuses\": [\r\n \ {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n \"message\": \"GuestAgent is running and processing the extensions.\",\r\n \"time\": - \"2021-05-25T11:28:10+00:00\"\r\n }\r\n ]\r\n },\r\n \"disks\": - [\r\n {\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_c1cb56ff99da4448b37ef000afedc76e\",\r\n + \"2021-07-08T04:51:26+00:00\"\r\n }\r\n ]\r\n },\r\n \"disks\": + [\r\n {\r\n \"name\": \"virtualmachinescalesvirtualmachinescaleseOS__1_e37fffbf6c2842269b88451c18255b2e\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-05-25T11:25:01.7471476+00:00\"\r\n + succeeded\",\r\n \"time\": \"2021-07-08T04:46:56.6070745+00:00\"\r\n \ }\r\n ]\r\n }\r\n ],\r\n \"hyperVGeneration\": \"V1\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning succeeded\",\r\n - \ \"time\": \"2021-05-25T11:25:32.2940335+00:00\"\r\n },\r\n {\r\n + \ \"time\": \"2021-07-08T04:48:31.3888426+00:00\"\r\n },\r\n {\r\n \ \"code\": \"PowerState/running\",\r\n \"level\": \"Info\",\r\n \ \"displayStatus\": \"VM running\"\r\n }\r\n ]\r\n}" headers: @@ -600,7 +645,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:28:20 GMT + - Thu, 08 Jul 2021 04:51:40 GMT expires: - '-1' pragma: @@ -617,7 +662,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetVMScaleSetVM3Min;999,Microsoft.Compute/GetVMScaleSetVM30Min;4995,Microsoft.Compute/VMScaleSetVMViews3Min;4999 + - Microsoft.Compute/GetVMScaleSetVM3Min;998,Microsoft.Compute/GetVMScaleSetVM30Min;4993,Microsoft.Compute/VMScaleSetVMViews3Min;4998 x-ms-request-charge: - '1' status: @@ -635,26 +680,26 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e/virtualmachines/0/redeploy?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e/virtualmachines/1/redeploy?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/69fe5ca7-1d15-4014-b837-6bdc3c1eec9c?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/94e17d56-69dd-4805-a49a-37ae5bc451a9?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:28:21 GMT + - Thu, 08 Jul 2021 04:51:40 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/69fe5ca7-1d15-4014-b837-6bdc3c1eec9c?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/94e17d56-69dd-4805-a49a-37ae5bc451a9?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -665,9 +710,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/VMScaleSetActions3Min;239,Microsoft.Compute/VMScaleSetActions30Min;1183,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3728,Microsoft.Compute/VmssQueuedVMOperations;0 + - Microsoft.Compute/VMScaleSetActions3Min;239,Microsoft.Compute/VMScaleSetActions30Min;1185,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3728,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1178' + - '1180' x-ms-request-charge: - '1' status: @@ -683,14 +728,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/69fe5ca7-1d15-4014-b837-6bdc3c1eec9c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/94e17d56-69dd-4805-a49a-37ae5bc451a9?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:28:21.7941655+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"69fe5ca7-1d15-4014-b837-6bdc3c1eec9c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:51:40.7179978+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"94e17d56-69dd-4805-a49a-37ae5bc451a9\"\r\n}" headers: cache-control: - no-cache @@ -699,7 +744,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:28:51 GMT + - Thu, 08 Jul 2021 04:52:10 GMT expires: - '-1' pragma: @@ -716,7 +761,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14998,Microsoft.Compute/GetOperation30Min;29898 + - Microsoft.Compute/GetOperation3Min;14998,Microsoft.Compute/GetOperation30Min;29915 status: code: 200 message: OK @@ -730,14 +775,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/69fe5ca7-1d15-4014-b837-6bdc3c1eec9c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/94e17d56-69dd-4805-a49a-37ae5bc451a9?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:28:21.7941655+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"69fe5ca7-1d15-4014-b837-6bdc3c1eec9c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:51:40.7179978+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"94e17d56-69dd-4805-a49a-37ae5bc451a9\"\r\n}" headers: cache-control: - no-cache @@ -746,7 +791,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:29:21 GMT + - Thu, 08 Jul 2021 04:52:40 GMT expires: - '-1' pragma: @@ -763,7 +808,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29895 + - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29912 status: code: 200 message: OK @@ -777,14 +822,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/69fe5ca7-1d15-4014-b837-6bdc3c1eec9c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/94e17d56-69dd-4805-a49a-37ae5bc451a9?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:28:21.7941655+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"69fe5ca7-1d15-4014-b837-6bdc3c1eec9c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:51:40.7179978+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"94e17d56-69dd-4805-a49a-37ae5bc451a9\"\r\n}" headers: cache-control: - no-cache @@ -793,7 +838,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:29:52 GMT + - Thu, 08 Jul 2021 04:53:11 GMT expires: - '-1' pragma: @@ -810,7 +855,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29892 + - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29909 status: code: 200 message: OK @@ -824,14 +869,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/69fe5ca7-1d15-4014-b837-6bdc3c1eec9c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/94e17d56-69dd-4805-a49a-37ae5bc451a9?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:28:21.7941655+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"69fe5ca7-1d15-4014-b837-6bdc3c1eec9c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:51:40.7179978+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"94e17d56-69dd-4805-a49a-37ae5bc451a9\"\r\n}" headers: cache-control: - no-cache @@ -840,7 +885,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:30:22 GMT + - Thu, 08 Jul 2021 04:53:40 GMT expires: - '-1' pragma: @@ -857,7 +902,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14989,Microsoft.Compute/GetOperation30Min;29934 + - Microsoft.Compute/GetOperation3Min;14989,Microsoft.Compute/GetOperation30Min;29906 status: code: 200 message: OK @@ -871,15 +916,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/69fe5ca7-1d15-4014-b837-6bdc3c1eec9c?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/94e17d56-69dd-4805-a49a-37ae5bc451a9?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:28:21.7941655+00:00\",\r\n \"endTime\": - \"2021-05-25T11:30:43.4817781+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"69fe5ca7-1d15-4014-b837-6bdc3c1eec9c\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:51:40.7179978+00:00\",\r\n \"endTime\": + \"2021-07-08T04:53:59.4058692+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"94e17d56-69dd-4805-a49a-37ae5bc451a9\"\r\n}" headers: cache-control: - no-cache @@ -888,7 +933,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:30:51 GMT + - Thu, 08 Jul 2021 04:54:11 GMT expires: - '-1' pragma: @@ -905,7 +950,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29931 + - Microsoft.Compute/GetOperation3Min;14986,Microsoft.Compute/GetOperation30Min;29903 status: code: 200 message: OK @@ -919,10 +964,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/69fe5ca7-1d15-4014-b837-6bdc3c1eec9c?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/94e17d56-69dd-4805-a49a-37ae5bc451a9?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -932,7 +977,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:30:51 GMT + - Thu, 08 Jul 2021 04:54:11 GMT expires: - '-1' pragma: @@ -945,7 +990,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29930 + - Microsoft.Compute/GetOperation3Min;14985,Microsoft.Compute/GetOperation30Min;29902 status: code: 200 message: OK @@ -963,26 +1008,26 @@ interactions: Content-Type: - application/json User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e/virtualmachines/0/reimage?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e/virtualmachines/1/reimage?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fd11bb85-5040-4c01-895d-67bbc932954e?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/11fbd29c-a3bc-44c0-87c8-b839c94396a5?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:30:52 GMT + - Thu, 08 Jul 2021 04:54:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fd11bb85-5040-4c01-895d-67bbc932954e?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/11fbd29c-a3bc-44c0-87c8-b839c94396a5?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -993,9 +1038,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1188,Microsoft.Compute/VMScaleSetVMActions3Min;199,Microsoft.Compute/VMScaleSetVMActions30Min;997,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3727,Microsoft.Compute/VmssQueuedVMOperations;0 + - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1184,Microsoft.Compute/VMScaleSetVMActions3Min;199,Microsoft.Compute/VMScaleSetVMActions30Min;997,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3727,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1177' + - '1179' x-ms-request-charge: - '1' status: @@ -1011,14 +1056,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fd11bb85-5040-4c01-895d-67bbc932954e?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/11fbd29c-a3bc-44c0-87c8-b839c94396a5?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:30:52.9193235+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"fd11bb85-5040-4c01-895d-67bbc932954e\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:54:11.7496132+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11fbd29c-a3bc-44c0-87c8-b839c94396a5\"\r\n}" headers: cache-control: - no-cache @@ -1027,7 +1072,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:31:23 GMT + - Thu, 08 Jul 2021 04:54:41 GMT expires: - '-1' pragma: @@ -1044,7 +1089,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29927 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29900 status: code: 200 message: OK @@ -1058,14 +1103,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fd11bb85-5040-4c01-895d-67bbc932954e?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/11fbd29c-a3bc-44c0-87c8-b839c94396a5?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:30:52.9193235+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"fd11bb85-5040-4c01-895d-67bbc932954e\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:54:11.7496132+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11fbd29c-a3bc-44c0-87c8-b839c94396a5\"\r\n}" headers: cache-control: - no-cache @@ -1074,7 +1119,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:31:53 GMT + - Thu, 08 Jul 2021 04:55:11 GMT expires: - '-1' pragma: @@ -1091,7 +1136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29924 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29933 status: code: 200 message: OK @@ -1105,14 +1150,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fd11bb85-5040-4c01-895d-67bbc932954e?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/11fbd29c-a3bc-44c0-87c8-b839c94396a5?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:30:52.9193235+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"fd11bb85-5040-4c01-895d-67bbc932954e\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:54:11.7496132+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"11fbd29c-a3bc-44c0-87c8-b839c94396a5\"\r\n}" headers: cache-control: - no-cache @@ -1121,7 +1166,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:32:22 GMT + - Thu, 08 Jul 2021 04:55:41 GMT expires: - '-1' pragma: @@ -1138,7 +1183,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29921 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29930 status: code: 200 message: OK @@ -1152,15 +1197,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fd11bb85-5040-4c01-895d-67bbc932954e?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/11fbd29c-a3bc-44c0-87c8-b839c94396a5?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:30:52.9193235+00:00\",\r\n \"endTime\": - \"2021-05-25T11:32:51.9041386+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"fd11bb85-5040-4c01-895d-67bbc932954e\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:54:11.7496132+00:00\",\r\n \"endTime\": + \"2021-07-08T04:56:06.7808686+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"11fbd29c-a3bc-44c0-87c8-b839c94396a5\"\r\n}" headers: cache-control: - no-cache @@ -1169,7 +1214,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:32:53 GMT + - Thu, 08 Jul 2021 04:56:12 GMT expires: - '-1' pragma: @@ -1186,7 +1231,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29918 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29927 status: code: 200 message: OK @@ -1200,10 +1245,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/fd11bb85-5040-4c01-895d-67bbc932954e?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/11fbd29c-a3bc-44c0-87c8-b839c94396a5?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1213,7 +1258,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:32:53 GMT + - Thu, 08 Jul 2021 04:56:12 GMT expires: - '-1' pragma: @@ -1226,7 +1271,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14981,Microsoft.Compute/GetOperation30Min;29917 + - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29926 status: code: 200 message: OK @@ -1242,26 +1287,26 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e/virtualmachines/0/reimageall?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e/virtualmachines/1/reimageall?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/33a88f80-5578-4dfe-b811-f9217b86df7b?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/31aef890-2f10-499d-b159-13bcf8dd55ce?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:32:53 GMT + - Thu, 08 Jul 2021 04:56:12 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/33a88f80-5578-4dfe-b811-f9217b86df7b?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/31aef890-2f10-499d-b159-13bcf8dd55ce?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1272,9 +1317,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1187,Microsoft.Compute/VMScaleSetVMActions3Min;198,Microsoft.Compute/VMScaleSetVMActions30Min;996,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3726,Microsoft.Compute/VmssQueuedVMOperations;0 + - Microsoft.Compute/VMScaleSetActions3Min;238,Microsoft.Compute/VMScaleSetActions30Min;1189,Microsoft.Compute/VMScaleSetVMActions3Min;198,Microsoft.Compute/VMScaleSetVMActions30Min;996,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3727,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-writes: - - '1176' + - '1178' x-ms-request-charge: - '1' status: @@ -1290,14 +1335,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/33a88f80-5578-4dfe-b811-f9217b86df7b?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/31aef890-2f10-499d-b159-13bcf8dd55ce?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:32:54.0759981+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"33a88f80-5578-4dfe-b811-f9217b86df7b\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:56:12.6246352+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"31aef890-2f10-499d-b159-13bcf8dd55ce\"\r\n}" headers: cache-control: - no-cache @@ -1306,7 +1351,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:33:23 GMT + - Thu, 08 Jul 2021 04:56:42 GMT expires: - '-1' pragma: @@ -1323,7 +1368,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14981,Microsoft.Compute/GetOperation30Min;29914 + - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29923 status: code: 200 message: OK @@ -1337,14 +1382,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/33a88f80-5578-4dfe-b811-f9217b86df7b?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/31aef890-2f10-499d-b159-13bcf8dd55ce?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:32:54.0759981+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"33a88f80-5578-4dfe-b811-f9217b86df7b\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:56:12.6246352+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"31aef890-2f10-499d-b159-13bcf8dd55ce\"\r\n}" headers: cache-control: - no-cache @@ -1353,7 +1398,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:33:53 GMT + - Thu, 08 Jul 2021 04:57:12 GMT expires: - '-1' pragma: @@ -1370,7 +1415,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29911 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29920 status: code: 200 message: OK @@ -1384,14 +1429,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/33a88f80-5578-4dfe-b811-f9217b86df7b?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/31aef890-2f10-499d-b159-13bcf8dd55ce?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:32:54.0759981+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"33a88f80-5578-4dfe-b811-f9217b86df7b\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:56:12.6246352+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"31aef890-2f10-499d-b159-13bcf8dd55ce\"\r\n}" headers: cache-control: - no-cache @@ -1400,7 +1445,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:34:24 GMT + - Thu, 08 Jul 2021 04:57:42 GMT expires: - '-1' pragma: @@ -1417,7 +1462,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29908 + - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29917 status: code: 200 message: OK @@ -1431,15 +1476,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/33a88f80-5578-4dfe-b811-f9217b86df7b?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/31aef890-2f10-499d-b159-13bcf8dd55ce?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:32:54.0759981+00:00\",\r\n \"endTime\": - \"2021-05-25T11:34:40.5448308+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"33a88f80-5578-4dfe-b811-f9217b86df7b\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:56:12.6246352+00:00\",\r\n \"endTime\": + \"2021-07-08T04:58:03.4063476+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"31aef890-2f10-499d-b159-13bcf8dd55ce\"\r\n}" headers: cache-control: - no-cache @@ -1448,7 +1493,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:34:54 GMT + - Thu, 08 Jul 2021 04:58:12 GMT expires: - '-1' pragma: @@ -1465,7 +1510,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29905 + - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29914 status: code: 200 message: OK @@ -1479,10 +1524,10 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/33a88f80-5578-4dfe-b811-f9217b86df7b?monitor=true&api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/31aef890-2f10-499d-b159-13bcf8dd55ce?monitor=true&api-version=2021-03-01 response: body: string: '' @@ -1492,7 +1537,7 @@ interactions: content-length: - '0' date: - - Tue, 25 May 2021 11:34:54 GMT + - Thu, 08 Jul 2021 04:58:12 GMT expires: - '-1' pragma: @@ -1505,7 +1550,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14981,Microsoft.Compute/GetOperation30Min;29904 + - Microsoft.Compute/GetOperation3Min;14981,Microsoft.Compute/GetOperation30Min;29913 status: code: 200 message: OK @@ -1521,8 +1566,8 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname/providers/Microsoft.Compute/virtualMachineScaleSets/virtualmachinescalesetb172129e?api-version=2021-03-01 response: @@ -1532,17 +1577,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/98fc0ec5-bc28-4fdb-b67d-555d5c4663a2?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ec3888a0-d38a-43eb-83d0-939a0cee63f3?api-version=2021-03-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 11:34:56 GMT + - Thu, 08 Jul 2021 04:58:13 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/98fc0ec5-bc28-4fdb-b67d-555d5c4663a2?monitor=true&api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ec3888a0-d38a-43eb-83d0-939a0cee63f3?monitor=true&api-version=2021-03-01 pragma: - no-cache server: @@ -1553,9 +1598,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/DeleteVMScaleSet3Min;79,Microsoft.Compute/DeleteVMScaleSet30Min;396,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3726,Microsoft.Compute/VmssQueuedVMOperations;0 + - Microsoft.Compute/DeleteVMScaleSet3Min;79,Microsoft.Compute/DeleteVMScaleSet30Min;397,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;3726,Microsoft.Compute/VmssQueuedVMOperations;0 x-ms-ratelimit-remaining-subscription-deletes: - - '14991' + - '14992' x-ms-request-charge: - '1' status: @@ -1571,14 +1616,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/98fc0ec5-bc28-4fdb-b67d-555d5c4663a2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ec3888a0-d38a-43eb-83d0-939a0cee63f3?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:34:57.0917147+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"98fc0ec5-bc28-4fdb-b67d-555d5c4663a2\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:58:13.7032794+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ec3888a0-d38a-43eb-83d0-939a0cee63f3\"\r\n}" headers: cache-control: - no-cache @@ -1587,7 +1632,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:35:06 GMT + - Thu, 08 Jul 2021 04:58:23 GMT expires: - '-1' pragma: @@ -1604,7 +1649,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14983,Microsoft.Compute/GetOperation30Min;29914 + - Microsoft.Compute/GetOperation3Min;14979,Microsoft.Compute/GetOperation30Min;29911 status: code: 200 message: OK @@ -1618,14 +1663,14 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/98fc0ec5-bc28-4fdb-b67d-555d5c4663a2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ec3888a0-d38a-43eb-83d0-939a0cee63f3?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:34:57.0917147+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"98fc0ec5-bc28-4fdb-b67d-555d5c4663a2\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:58:13.7032794+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ec3888a0-d38a-43eb-83d0-939a0cee63f3\"\r\n}" headers: cache-control: - no-cache @@ -1634,7 +1679,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:35:17 GMT + - Thu, 08 Jul 2021 04:58:34 GMT expires: - '-1' pragma: @@ -1651,7 +1696,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14982,Microsoft.Compute/GetOperation30Min;29913 + - Microsoft.Compute/GetOperation3Min;14981,Microsoft.Compute/GetOperation30Min;29910 status: code: 200 message: OK @@ -1665,15 +1710,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Linux-5.4.0-1047-azure-x86_64-with-glibc2.2.5) - VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2384_0 + - azsdk-python-azure-mgmt-compute/22.0.0 Python/3.8.10 (Linux-5.8.0-1036-azure-x86_64-with-glibc2.2.5) + VSTS_0fb41ef4-5012-48a9-bf39-4ee3de03ee35_build_2500_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/98fc0ec5-bc28-4fdb-b67d-555d5c4663a2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/operations/ec3888a0-d38a-43eb-83d0-939a0cee63f3?api-version=2021-03-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T11:34:57.0917147+00:00\",\r\n \"endTime\": - \"2021-05-25T11:35:32.2323798+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"98fc0ec5-bc28-4fdb-b67d-555d5c4663a2\"\r\n}" + string: "{\r\n \"startTime\": \"2021-07-08T04:58:13.7032794+00:00\",\r\n \"endTime\": + \"2021-07-08T04:58:52.5159725+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"ec3888a0-d38a-43eb-83d0-939a0cee63f3\"\r\n}" headers: cache-control: - no-cache @@ -1682,7 +1727,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 11:35:48 GMT + - Thu, 08 Jul 2021 04:59:04 GMT expires: - '-1' pragma: @@ -1699,7 +1744,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29911 + - Microsoft.Compute/GetOperation3Min;14984,Microsoft.Compute/GetOperation30Min;29908 status: code: 200 message: OK From 966e630e86ac1bef36c06cd5fe3d06224df9c630 Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Thu, 8 Jul 2021 14:52:13 +0800 Subject: [PATCH 05/13] debug_guide for python SDK (#19716) --- doc/dev/debug_guide.md | 23 +++++++++++++++++++++++ doc/dev/debug_guide_example.png | Bin 0 -> 183325 bytes doc/dev/debug_guide_position.png | Bin 0 -> 42417 bytes 3 files changed, 23 insertions(+) create mode 100644 doc/dev/debug_guide.md create mode 100644 doc/dev/debug_guide_example.png create mode 100644 doc/dev/debug_guide_position.png diff --git a/doc/dev/debug_guide.md b/doc/dev/debug_guide.md new file mode 100644 index 000000000000..9f833ef35f5b --- /dev/null +++ b/doc/dev/debug_guide.md @@ -0,0 +1,23 @@ +# Debug + +This guide is to help Python SDK users to get the process about how SDK call REST api + +(1) Copy the following code in your .py file +``` +import sys +import logging + +logger = logging.getLogger('') +logger.setLevel(logging.DEBUG) +handler = logging.StreamHandler(stream=sys.stdout, ) +logger.addHandler(handler) +formatter = logging.Formatter( + '%(asctime)s - %(name)s - %(levelname)s - %(message)s') +handler.setFormatter(formatter) +``` + +![Position example](./debug_guide_position.png "Position example") + +(2) Run your .py program and you could find the log info in screen. It is convenient to get the process about how SDK call REST api: + +![example](./debug_guide_example.png "example") diff --git a/doc/dev/debug_guide_example.png b/doc/dev/debug_guide_example.png new file mode 100644 index 0000000000000000000000000000000000000000..48ad895801140419e803456e32db48b41f71bcdf GIT binary patch literal 183325 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%0DJepO#d^L3?r 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
  • C%X|pXe{5Nt)qw-)<`yd9hMXx(P-Z5*89)Ef& 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 literal 0 HcmV?d00001 diff --git a/doc/dev/debug_guide_position.png b/doc/dev/debug_guide_position.png new file mode 100644 index 0000000000000000000000000000000000000000..8be87cf801cf062e2af577722cdaa6e8829f0dfd GIT binary patch literal 42417 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 Mn!akKvK{#U08UjMB>(^b literal 0 HcmV?d00001 From b1bc763721c696ba4356a6b04b0e3a6271133da4 Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu, 8 Jul 2021 08:48:36 -0700 Subject: [PATCH 06/13] Increment package version after release of azure-servicebus (#19709) --- sdk/servicebus/azure-servicebus/CHANGELOG.md | 10 ++++++++++ .../azure-servicebus/azure/servicebus/_version.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sdk/servicebus/azure-servicebus/CHANGELOG.md b/sdk/servicebus/azure-servicebus/CHANGELOG.md index 9d8ff61e2fbf..a37af5f6a13a 100644 --- a/sdk/servicebus/azure-servicebus/CHANGELOG.md +++ b/sdk/servicebus/azure-servicebus/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 7.3.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 7.3.1 (2021-07-07) ### Fixed diff --git a/sdk/servicebus/azure-servicebus/azure/servicebus/_version.py b/sdk/servicebus/azure-servicebus/azure/servicebus/_version.py index 7efc5dfb5363..1f5b74d30eb1 100644 --- a/sdk/servicebus/azure-servicebus/azure/servicebus/_version.py +++ b/sdk/servicebus/azure-servicebus/azure/servicebus/_version.py @@ -3,4 +3,4 @@ # Licensed under the MIT License. # ------------------------------------ -VERSION = "7.3.1" +VERSION = "7.3.2" From e63c302816cf372e2a51a8c1ae982e35c8fd9c24 Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu, 8 Jul 2021 09:15:33 -0700 Subject: [PATCH 07/13] Increment package version after release of azure-identity (#19721) --- sdk/identity/azure-identity/CHANGELOG.md | 10 ++++++++++ sdk/identity/azure-identity/azure/identity/_version.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sdk/identity/azure-identity/CHANGELOG.md b/sdk/identity/azure-identity/CHANGELOG.md index f820e41c5a42..347fc411901e 100644 --- a/sdk/identity/azure-identity/CHANGELOG.md +++ b/sdk/identity/azure-identity/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 1.7.0b3 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 1.7.0b2 (2021-07-08) ### Features Added - `InteractiveBrowserCredential` keyword argument `login_hint` enables diff --git a/sdk/identity/azure-identity/azure/identity/_version.py b/sdk/identity/azure-identity/azure/identity/_version.py index ea3c8abfb957..406e6701be67 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.7.0b2" +VERSION = "1.7.0b3" From 6bc2485a9eb9c974644e40dda46511056e02a2e0 Mon Sep 17 00:00:00 2001 From: Charles Lowell Date: Thu, 8 Jul 2021 10:20:00 -0700 Subject: [PATCH 08/13] Prevent DeprecationWarning in Identity tests (#19723) --- .../azure-identity/tests/test_powershell_credential.py | 4 ++-- .../azure-identity/tests/test_powershell_credential_async.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/identity/azure-identity/tests/test_powershell_credential.py b/sdk/identity/azure-identity/tests/test_powershell_credential.py index 79a36f9a28a4..898f1714e33f 100644 --- a/sdk/identity/azure-identity/tests/test_powershell_credential.py +++ b/sdk/identity/azure-identity/tests/test_powershell_credential.py @@ -260,7 +260,7 @@ def fake_Popen(command, **_): assert command[-1].startswith("pwsh -NonInteractive -EncodedCommand ") encoded_script = command[-1].split()[-1] decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") - match = re.search("Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) + match = re.search(r"Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) tenant = match.groups()[1] assert tenant is None or tenant == second_tenant, 'unexpected tenant "{}"'.format(tenant) @@ -292,7 +292,7 @@ def fake_Popen(command, **_): assert command[-1].startswith("pwsh -NonInteractive -EncodedCommand ") encoded_script = command[-1].split()[-1] decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") - match = re.search("Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) + match = re.search(r"Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) tenant = match.groups()[1] assert tenant is None, "credential shouldn't accept an explicit tenant ID" diff --git a/sdk/identity/azure-identity/tests/test_powershell_credential_async.py b/sdk/identity/azure-identity/tests/test_powershell_credential_async.py index fec0b4c013de..fa55a8e4b90c 100644 --- a/sdk/identity/azure-identity/tests/test_powershell_credential_async.py +++ b/sdk/identity/azure-identity/tests/test_powershell_credential_async.py @@ -263,7 +263,7 @@ async def fake_exec(*args, **_): assert command.startswith("pwsh -NonInteractive -EncodedCommand ") encoded_script = command.split()[-1] decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") - match = re.search("Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) + match = re.search(r"Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) tenant = match[2] assert tenant is None or tenant == second_tenant, 'unexpected tenant "{}"'.format(tenant) @@ -296,7 +296,7 @@ async def fake_exec(*args, **_): assert command.startswith("pwsh -NonInteractive -EncodedCommand ") encoded_script = command.split()[-1] decoded_script = base64.b64decode(encoded_script).decode("utf-16-le") - match = re.search("Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) + match = re.search(r"Get-AzAccessToken -ResourceUrl '(\S+)'(?: -TenantId (\S+))?", decoded_script) tenant = match[2] assert tenant is None, "credential shouldn't accept an explicit tenant ID" From 0217d5a35367c439e6e9c68e9e7684de674123e8 Mon Sep 17 00:00:00 2001 From: Xiang Yan Date: Thu, 8 Jul 2021 13:01:06 -0700 Subject: [PATCH 09/13] move _utils.py (#19431) * move _utils.py * update --- sdk/core/azure-core/azure/core/messaging.py | 4 ++-- sdk/core/azure-core/azure/core/pipeline/policies/_utils.py | 2 +- sdk/core/azure-core/azure/core/pipeline/transport/_base.py | 2 +- sdk/core/azure-core/azure/core/{ => utils}/_utils.py | 0 sdk/core/azure-core/tests/test_messaging_cloud_event.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) rename sdk/core/azure-core/azure/core/{ => utils}/_utils.py (100%) diff --git a/sdk/core/azure-core/azure/core/messaging.py b/sdk/core/azure-core/azure/core/messaging.py index f619724b18c7..a677ae462dd1 100644 --- a/sdk/core/azure-core/azure/core/messaging.py +++ b/sdk/core/azure-core/azure/core/messaging.py @@ -7,8 +7,8 @@ import uuid from base64 import b64decode from datetime import datetime -from azure.core._utils import _convert_to_isoformat, TZ_UTC -from azure.core.serialization import NULL +from .utils._utils import _convert_to_isoformat, TZ_UTC +from .serialization import NULL try: from typing import TYPE_CHECKING, cast, Union diff --git a/sdk/core/azure-core/azure/core/pipeline/policies/_utils.py b/sdk/core/azure-core/azure/core/pipeline/policies/_utils.py index 76ee690c1d8f..326b2099bc11 100644 --- a/sdk/core/azure-core/azure/core/pipeline/policies/_utils.py +++ b/sdk/core/azure-core/azure/core/pipeline/policies/_utils.py @@ -26,7 +26,7 @@ import datetime import email.utils from requests.structures import CaseInsensitiveDict -from ..._utils import _FixedOffset +from ...utils._utils import _FixedOffset def _parse_http_date(text): """Parse a HTTP date format into datetime.""" 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 c807e02d841a..761c61caa9ae 100644 --- a/sdk/core/azure-core/azure/core/pipeline/transport/_base.py +++ b/sdk/core/azure-core/azure/core/pipeline/transport/_base.py @@ -74,7 +74,7 @@ PipelineContext, ) from .._tools import await_result as _await_result -from ..._utils import _case_insensitive_dict +from ...utils._utils import _case_insensitive_dict if TYPE_CHECKING: diff --git a/sdk/core/azure-core/azure/core/_utils.py b/sdk/core/azure-core/azure/core/utils/_utils.py similarity index 100% rename from sdk/core/azure-core/azure/core/_utils.py rename to sdk/core/azure-core/azure/core/utils/_utils.py diff --git a/sdk/core/azure-core/tests/test_messaging_cloud_event.py b/sdk/core/azure-core/tests/test_messaging_cloud_event.py index bf35931c6565..c2d76b5a002c 100644 --- a/sdk/core/azure-core/tests/test_messaging_cloud_event.py +++ b/sdk/core/azure-core/tests/test_messaging_cloud_event.py @@ -7,7 +7,7 @@ import datetime from azure.core.messaging import CloudEvent -from azure.core._utils import _convert_to_isoformat +from azure.core.utils._utils import _convert_to_isoformat from azure.core.serialization import NULL # Cloud Event tests From d1a1185e6bb5bede2fb7538c12ed8404cb199e7f Mon Sep 17 00:00:00 2001 From: annatisch Date: Thu, 8 Jul 2021 14:35:04 -0700 Subject: [PATCH 10/13] [QnA] Initial SDK (#19544) * Template + first code gen * Basic client * First tests * Added async client + tests * Added answerspan test * Added authoring APIs * Some updates * Pure generated clients * Test updates * Update test imports * Clean working recordings * Renamed directory * Removed authoring for now * Use unreleased core * Remove conversation + ci yaml * Some CI updates * update language __init__.py to not have a space in the name * Setup.py * Updated core dependency * CI fixes * Added language nspkg * Fix Python 2.7 * Added some more tests * Test fixes * Added live configuration * Bumped msrest * readme + samples * No pypi or refdocs yet * Review feedback Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com> --- eng/tox/allowed_pylint_failures.py | 3 +- .../CHANGELOG.md | 6 + .../MANIFEST.in | 8 + .../README.md | 212 ++++++ .../azure/__init__.py | 1 + .../azure/ai/__init__.py | 1 + .../azure/ai/language/__init__.py | 1 + .../ai/language/questionanswering/__init__.py | 19 + .../questionanswering/_configuration.py | 70 ++ .../_question_answering_client.py | 94 +++ .../ai/language/questionanswering/_version.py | 9 + .../questionanswering/aio/__init__.py | 11 + .../questionanswering/aio/_configuration.py | 56 ++ .../aio/_question_answering_client.py | 79 +++ .../aio/operations/__init__.py | 13 + .../_question_answering_client_operations.py | 141 ++++ .../questionanswering/models/__init__.py | 77 ++ .../questionanswering/models/_models.py | 549 +++++++++++++++ .../questionanswering/models/_models_py3.py | 656 ++++++++++++++++++ .../_question_answering_client_enums.py | 83 +++ .../questionanswering/operations/__init__.py | 13 + .../_question_answering_client_operations.py | 144 ++++ .../ai/language/questionanswering/py.typed | 1 + .../questionanswering/rest/__init__.py | 19 + .../rest/_request_builders.py | 220 ++++++ .../rest/_request_builders_py3.py | 212 ++++++ .../dev_requirements.txt | 8 + .../samples/README.md | 59 ++ .../async_samples/sample_chat_async.py | 87 +++ .../sample_query_knowledgebase_async.py | 63 ++ .../async_samples/sample_query_text_async.py | 61 ++ .../samples/sample_chat.py | 84 +++ .../samples/sample_query_knowledgebase.py | 60 ++ .../samples/sample_query_text.py | 60 ++ .../sdk_packaging.toml | 2 + .../setup.cfg | 2 + .../setup.py | 80 +++ .../tests/asynctestcase.py | 38 + .../tests/conftest.py | 15 + ...nowledgebase.test_query_knowledgebase.yaml | 124 ++++ ...edgebase.test_query_knowledgebase_llc.yaml | 124 ++++ ...ery_knowledgebase_llc_with_answerspan.yaml | 129 ++++ ...base.test_query_knowledgebase_only_id.yaml | 48 ++ ...t_query_knowledgebase_with_answerspan.yaml | 134 ++++ ...t_query_knowledgebase_with_dictparams.yaml | 64 ++ ...est_query_knowledgebase_with_followup.yaml | 135 ++++ ...gebase_async.test_query_knowledgebase.yaml | 114 +++ ....test_query_knowledgebase_bad_request.yaml | 33 + ...se_async.test_query_knowledgebase_llc.yaml | 114 +++ ...ery_knowledgebase_llc_with_answerspan.yaml | 124 ++++ ...sync.test_query_knowledgebase_only_id.yaml | 38 + ...t_query_knowledgebase_with_answerspan.yaml | 124 ++++ ...t_query_knowledgebase_with_dictparams.yaml | 54 ++ ...est_query_knowledgebase_with_followup.yaml | 115 +++ .../test_query_text.test_query_text.yaml | 161 +++++ .../test_query_text.test_query_text_llc.yaml | 161 +++++ ..._text.test_query_text_with_dictparams.yaml | 67 ++ ...test_query_text_async.test_query_text.yaml | 151 ++++ ..._query_text_async.test_query_text_llc.yaml | 151 ++++ ...async.test_query_text_with_dictparams.yaml | 57 ++ .../tests/test_query_knowledgebase.py | 314 +++++++++ .../tests/test_query_knowledgebase_async.py | 326 +++++++++ .../tests/test_query_text.py | 126 ++++ .../tests/test_query_text_async.py | 128 ++++ .../tests/testcase.py | 109 +++ sdk/cognitivelanguage/ci.yml | 35 + sdk/cognitivelanguage/tests.yml | 19 + .../azure-ai-language-nspkg/CHANGELOG.md | 3 + sdk/nspkg/azure-ai-language-nspkg/MANIFEST.in | 4 + sdk/nspkg/azure-ai-language-nspkg/README.md | 16 + .../azure-ai-language-nspkg/azure/__init__.py | 1 + .../azure/ai/__init__.py | 1 + .../azure/ai/language/__init__.py | 1 + .../sdk_packaging.toml | 2 + sdk/nspkg/azure-ai-language-nspkg/setup.py | 59 ++ shared_requirements.txt | 3 + 76 files changed, 6685 insertions(+), 1 deletion(-) create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/CHANGELOG.md create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/MANIFEST.in create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/README.md create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_configuration.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_question_answering_client.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_version.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_configuration.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_question_answering_client.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/operations/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/operations/_question_answering_client_operations.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_models.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_models_py3.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_question_answering_client_enums.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/operations/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/operations/_question_answering_client_operations.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/py.typed create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/__init__.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/_request_builders.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/_request_builders_py3.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/dev_requirements.txt create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/README.md create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_chat_async.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_knowledgebase_async.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_text_async.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_chat.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_knowledgebase.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_text.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/sdk_packaging.toml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/setup.cfg create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/setup.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/asynctestcase.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/conftest.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_llc.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_llc_with_answerspan.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_only_id.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_answerspan.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_dictparams.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_followup.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_bad_request.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_llc.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_llc_with_answerspan.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_only_id.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_answerspan.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_dictparams.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_followup.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text_llc.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text_with_dictparams.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text_llc.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text_with_dictparams.yaml create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_knowledgebase.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_knowledgebase_async.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_text.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_text_async.py create mode 100644 sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/testcase.py create mode 100644 sdk/cognitivelanguage/ci.yml create mode 100644 sdk/cognitivelanguage/tests.yml create mode 100644 sdk/nspkg/azure-ai-language-nspkg/CHANGELOG.md create mode 100644 sdk/nspkg/azure-ai-language-nspkg/MANIFEST.in create mode 100644 sdk/nspkg/azure-ai-language-nspkg/README.md create mode 100644 sdk/nspkg/azure-ai-language-nspkg/azure/__init__.py create mode 100644 sdk/nspkg/azure-ai-language-nspkg/azure/ai/__init__.py create mode 100644 sdk/nspkg/azure-ai-language-nspkg/azure/ai/language/__init__.py create mode 100644 sdk/nspkg/azure-ai-language-nspkg/sdk_packaging.toml create mode 100644 sdk/nspkg/azure-ai-language-nspkg/setup.py diff --git a/eng/tox/allowed_pylint_failures.py b/eng/tox/allowed_pylint_failures.py index 976ecf73ace6..b7a9fe1a1762 100644 --- a/eng/tox/allowed_pylint_failures.py +++ b/eng/tox/allowed_pylint_failures.py @@ -56,5 +56,6 @@ "azure-purview-catalog", "azure-messaging-nspkg", "azure-agrifood-farming", - "azure-eventhub" + "azure-eventhub", + "azure-ai-language-questionanswering" ] diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/CHANGELOG.md b/sdk/cognitivelanguage/azure-ai-language-questionanswering/CHANGELOG.md new file mode 100644 index 000000000000..204bcaba541c --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/CHANGELOG.md @@ -0,0 +1,6 @@ +# Release History + +## 1.0.0b1 (unreleased) + +### Features Added +* Initial release. diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/MANIFEST.in b/sdk/cognitivelanguage/azure-ai-language-questionanswering/MANIFEST.in new file mode 100644 index 000000000000..b0148148eaf2 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/MANIFEST.in @@ -0,0 +1,8 @@ +include _meta.json +include *.md +include azure/__init__.py +include azure/ai/__init__.py +include azure/ai/language/__init__.py +recursive-include tests *.py +recursive-include samples *.py *.md +include azure/ai/language/questionanswering/py.typed diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/README.md b/sdk/cognitivelanguage/azure-ai-language-questionanswering/README.md new file mode 100644 index 000000000000..4e2634d38137 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/README.md @@ -0,0 +1,212 @@ +[![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/azure-sdk-for-python.client?branchName=main)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=46?branchName=main) + +# Azure Cognitive Language Services Question Answering client library for Python + +Question Answering is a cloud-based API service that lets you create a conversational question-and-answer layer over your existing data. Use it to build a knowledge base by extracting questions and answers from your semi-structured content, including FAQ, manuals, and documents. Answer users’ questions with the best answers from the QnAs in your knowledge base—automatically. Your knowledge base gets smarter, too, as it continually learns from users' behavior. + +[Source code][questionanswering_client_src] | [Package (PyPI)][questionanswering_pypi_package] | [API reference documentation][questionanswering_refdocs] | [Product documentation][questionanswering_docs] | [Samples][questionanswering_samples] + +## Getting started + +### Prerequisites + +* Python 2.7, or 3.6 or later is required to use this package. +* An [Azure subscription][azure_subscription] +* An existing Question Answering resource + +> Note: the new unified Cognitive Language Services are not currently available for deployment. + +### Install the package + +Install the Azure QuestionAnswering client library for Python with [pip][pip_link]: + +```bash +pip install azure-ai-language-questionanswering +``` + +### Authenticate the client + +In order to interact with the Question Answering service, you'll need to create an instance of the [`QuestionAnsweringClient`][questionanswering_client_class] class. You will need an **endpoint**, and an **API key** instantiate a client object. For more information regarding authenticating with Cognitive Services, see [Authenticate requests to Azure Cognitive Services][cognitive_auth]. + +#### Get an API key + +You can get the **endpoint** and an **API key** from the Cognitive Services resource or Question Answering resource in the [Azure Portal][azure_portal]. + +Alternatively, use the [Azure CLI][azure_cli] command shown below to get the API key from the Question Answering resource. + +```powershell +az cognitiveservices account keys list --resource-group --name +``` + +#### Create QuestionAnsweringClient + +Once you've determined your **endpoint** and **API key** you can instantiate a `QuestionAnsweringClient`: + +```python +from azure.core.credentials import AzureKeyCredential +from azure.ai.language.questionanswering import QuestionAnsweringClient + +endpoint = "https://{myaccount}.api.cognitive.microsoft.com" +credential = AzureKeyCredential("{api-key}") + +client = QuestionAnsweringClient(endpoint, credential) +``` + +## Key concepts + +### QuestionAnsweringClient + +The [`QuestionAnsweringClient`][questionanswering_client_class] is the primary interface for asking questions using a knowledge base with your own information, or text input using pre-trained models. +For asynchronous operations, an async `QuestionAnsweringClient` is in the `azure.ai.language.questionanswering.aio` namespace. + +## Examples + +The `azure-ai-language-questionanswering` client library provides both synchronous and asynchronous APIs. + +The following examples show common scenarios using the `client` [created above](#create-questionansweringclient). +- [Ask a question](#ask-a-question) +- [Ask a follow-up question](#ask-a-follow-up-question) +- [Asynchronous operations](#asynchronous-operations) + +### Ask a question + +The only input required to ask a question using a knowledgebase is just the question itself: + +```python +from azure.ai.language.questionanswering import models as qna + +params = qna.KnowledgebaseQueryParameters( + question="How long should my Surface battery last?" +) + +output = client.query_knowledgebase( + project_name="FAQ", + knowledgebase_query_parameters=params +) +for candidate in output.answers: + print("({}) {}".format(candidate.confidence_score, candidate.answer)) + print("Source: {}".format(candidate.source)) + +``` + +You can set additional properties on `KnowledgebaseQueryParameters` to limit the number of answers, specify a minimum confidence score, and more. + +### Ask a follow-up question + +If your knowledgebase is configured for [chit-chat][questionanswering_docs_chat], you can ask a follow-up question provided the previous question-answering ID and, optionally, the exact question the user asked: + +```python +params = qna.models.KnowledgebaseQueryParameters( + question="How long should charging take?" + context=qna.models.KnowledgebaseAnswerRequestContext( + previous_user_query="How long should my Surface battery last?", + previous_qna_id=previous_answer.id + ) +) + +output = client.query_knowledgebase( + project_name="FAQ", + knowledgebase_query_parameters=params +) +for candidate in output.answers: + print("({}) {}".format(candidate.confidence_score, candidate.answer)) + print("Source: {}".format(candidate.source)) + +``` +### Asynchronous operations + +The above examples can also be run asynchronously using the client in the `aio` namespace: +```python +from azure.core.credentials import AzureKeyCredential +from azure.ai.language.questionanswering.aio import QuestionAnsweringClient +from azure.ai.language.questionanswering import models as qna + +client = QuestionAnsweringClient(endpoint, credential) + +params = qna.KnowledgebaseQueryParameters( + question="How long should my Surface battery last?" +) + +output = await client.query_knowledgebase( + project_name="FAQ", + knowledgebase_query_parameters=params +) +``` + +## Optional Configuration +Optional keyword arguments can be passed in at the client and per-operation level. The azure-core [reference documentation][azure_core_ref_docs] describes available configurations for retries, logging, transport protocols, and more. + +## Troubleshooting + +### General +Azure QuestionAnswering clients raise exceptions defined in [Azure Core][azure_core_readme]. +When you interact with the Cognitive Language Services Question Answering client library using the .Python SDK, errors returned by the service correspond to the same HTTP status codes returned for [REST API][questionanswering_rest_docs] requests. + +For example, if you submit a question to a non-existant knowledge base, a `400` error is returned indicating "Bad Request". + +```python +from azure.core.exceptions import HttpResponseError + +try: + client.query_knowledgebase( + project_name="invalid-knowledgebase", + knowledgebase_query_parameters=params + ) +except HttpResponseError as error: + print("Query failed: {}".format(error.message)) +``` + +### Logging +This library uses the standard +[logging][python_logging] library for logging. +Basic information about HTTP sessions (URLs, headers, etc.) is logged at INFO +level. + +Detailed DEBUG level logging, including request/response bodies and unredacted +headers, can be enabled on a client with the `logging_enable` argument. + +See full SDK logging documentation with examples [here][sdk_logging_docs]. + +## Next steps + +* View our [samples][questionanswering_samples]. +* Read about the different [features][questionanswering_docs_features] of the Question Answering service. +* Try our service [demos][questionanswering_docs_demos]. + +## Contributing + +See the [CONTRIBUTING.md][contributing] for details on building, testing, and contributing to this library. + +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 [cla.microsoft.com][cla]. + +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][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. + + +[azure_cli]: https://docs.microsoft.com/cli/azure/ +[azure_portal]: https://portal.azure.com/ +[azure_subscription]: https://azure.microsoft.com/free/ +[cla]: https://cla.microsoft.com +[coc_contact]: mailto:opencode@microsoft.com +[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ +[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ +[cognitive_auth]: https://docs.microsoft.com/azure/cognitive-services/authentication/ +[contributing]: https://github.com/Azure/azure-sdk-for-python/blob/main/CONTRIBUTING.md +[python_logging]: https://docs.python.org/3/library/logging.html +[sdk_logging_docs]: https://docs.microsoft.com/azure/developer/python/azure-sdk-logging +[azure_core_ref_docs]: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-core/latest/azure.core.html +[azure_core_readme]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/README.md +[pip_link]:https://pypi.org/project/pip/ +[questionanswering_client_class]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_question_answering_client.py#L27 +[questionanswering_client_src]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/ +[questionanswering_docs]: https://azure.microsoft.com/services/cognitive-services/qna-maker/ +[questionanswering_docs_chat]: https://docs.microsoft.com/azure/cognitive-services/qnamaker/how-to/chit-chat-knowledge-base +[questionanswering_docs_demos]: https://azure.microsoft.com/services/cognitive-services/qna-maker/#demo +[questionanswering_docs_features]: https://azure.microsoft.com/services/cognitive-services/qna-maker/#features +[questionanswering_pypi_package]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/ +[questionanswering_refdocs]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/ +[questionanswering_rest_docs]: https://docs.microsoft.com/rest/api/cognitiveservices-qnamaker/ +[questionanswering_samples]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/README.md + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Ftemplate%2Fazure-template%2FREADME.png) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/__init__.py new file mode 100644 index 000000000000..69e3be50dac4 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/__init__.py new file mode 100644 index 000000000000..69e3be50dac4 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/__init__.py new file mode 100644 index 000000000000..69e3be50dac4 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/__init__.py new file mode 100644 index 000000000000..d1224fabb06b --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/__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 ._question_answering_client import QuestionAnsweringClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['QuestionAnsweringClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_configuration.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_configuration.py new file mode 100644 index 000000000000..f6230facf092 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_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 AzureKeyCredential + + +class QuestionAnsweringClientConfiguration(Configuration): + """Configuration for QuestionAnsweringClient. + + 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 endpoint (e.g., https://:code:``.api.cognitiveservices.azure.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(QuestionAnsweringClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.endpoint = endpoint + self.api_version = "2021-05-01-preview" + kwargs.setdefault("sdk_moniker", "ai-language-questionanswering/{}".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/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_question_answering_client.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_question_answering_client.py new file mode 100644 index 000000000000..65bc45457fd3 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_question_answering_client.py @@ -0,0 +1,94 @@ +# 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 copy import deepcopy +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 azure.core.rest import HttpRequest, HttpResponse + +from ._configuration import QuestionAnsweringClientConfiguration +from .operations import QuestionAnsweringClientOperationsMixin +from . import models + + +class QuestionAnsweringClient(QuestionAnsweringClientOperationsMixin): + """The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in :code:`https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview`. + + :param endpoint: Supported Cognitive Services endpoint (e.g., https://:code:``.api.cognitiveservices.azure.com). + :type endpoint: str + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.AzureKeyCredential + """ + + def __init__( + self, + endpoint, # type: str + credential, # type: AzureKeyCredential + **kwargs # type: Any + ): + # type: (...) -> None + base_url = "{Endpoint}/language" + self._config = QuestionAnsweringClientConfiguration(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) + self._serialize.client_side_validation = False + + def send_request(self, request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + We have helper methods to create requests specific to this service in `azure.ai.language.questionanswering.rest`. + Use these helper methods to create the request you pass to this method. See our example below: + + >>> from azure.ai.language.questionanswering.rest import build_query_knowledgebase_request + >>> request = build_query_knowledgebase_request(project_name, json, content, deployment_name) + + >>> response = client.send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + For advanced cases, you can also create your own :class:`~azure.core.rest.HttpRequest` + and pass it in. + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + request_copy = deepcopy(request) + path_format_arguments = { + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> QuestionAnsweringClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_version.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_version.py new file mode 100644 index 000000000000..e5754a47ce68 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_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/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/__init__.py new file mode 100644 index 000000000000..3a05f81f6173 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/__init__.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 ._question_answering_client import QuestionAnsweringClient + +__all__ = ['QuestionAnsweringClient'] diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_configuration.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_configuration.py new file mode 100644 index 000000000000..b682db120b9a --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_configuration.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.configuration import Configuration +from azure.core.credentials import AzureKeyCredential +from azure.core.pipeline import policies + +from .._version import VERSION + + +class QuestionAnsweringClientConfiguration(Configuration): + """Configuration for QuestionAnsweringClient. + + 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 endpoint (e.g., https://:code:``.api.cognitiveservices.azure.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(QuestionAnsweringClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.endpoint = endpoint + self.api_version = "2021-05-01-preview" + kwargs.setdefault("sdk_moniker", "ai-language-questionanswering/{}".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/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_question_answering_client.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_question_answering_client.py new file mode 100644 index 000000000000..399cc33816b7 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_question_answering_client.py @@ -0,0 +1,79 @@ +# 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 copy import deepcopy +from typing import Any + +from azure.core import AsyncPipelineClient +from azure.core.credentials import AzureKeyCredential +from azure.core.rest import AsyncHttpResponse, HttpRequest +from msrest import Deserializer, Serializer + +from ._configuration import QuestionAnsweringClientConfiguration +from .operations import QuestionAnsweringClientOperationsMixin +from .. import models + + +class QuestionAnsweringClient(QuestionAnsweringClientOperationsMixin): + """The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in :code:`https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview`. + + :param endpoint: Supported Cognitive Services endpoint (e.g., https://:code:``.api.cognitiveservices.azure.com). + :type endpoint: str + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.AzureKeyCredential + """ + + def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any) -> None: + base_url = "{Endpoint}/language" + self._config = QuestionAnsweringClientConfiguration(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) + self._serialize.client_side_validation = False + + def send_request(self, request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + We have helper methods to create requests specific to this service in `azure.ai.language.questionanswering.rest`. + Use these helper methods to create the request you pass to this method. See our example below: + + >>> from azure.ai.language.questionanswering.rest import build_query_knowledgebase_request + >>> request = build_query_knowledgebase_request(project_name, json, content, deployment_name) + + >>> response = await client.send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + For advanced cases, you can also create your own :class:`~azure.core.rest.HttpRequest` + and pass it in. + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + request_copy = deepcopy(request) + path_format_arguments = { + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "QuestionAnsweringClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/operations/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/operations/__init__.py new file mode 100644 index 000000000000..200be9f1c22e --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/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 ._question_answering_client_operations import QuestionAnsweringClientOperationsMixin + +__all__ = [ + "QuestionAnsweringClientOperationsMixin", +] diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/operations/_question_answering_client_operations.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/operations/_question_answering_client_operations.py new file mode 100644 index 000000000000..1c808e40ea9f --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/operations/_question_answering_client_operations.py @@ -0,0 +1,141 @@ +# 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 functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest + +from ... import models as _models, rest + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + + +class QuestionAnsweringClientOperationsMixin: + async def query_knowledgebase( + self, + knowledgebase_query_parameters: "_models.KnowledgebaseQueryParameters", + *, + project_name: str, + deployment_name: Optional[str] = None, + **kwargs: Any + ) -> "_models.KnowledgebaseAnswers": + """Answers the specified question using your knowledgebase. + + Answers the specified question using your knowledgebase. + + :keyword project_name: The name of the project to use. + :paramtype project_name: str + :param knowledgebase_query_parameters: Post body of the request. + :type knowledgebase_query_parameters: + ~azure.ai.language.questionanswering.models.KnowledgebaseQueryParameters + :keyword deployment_name: The name of the specific deployment of the project to use. + :paramtype deployment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: KnowledgebaseAnswers, or the result of cls(response) + :rtype: ~azure.ai.language.questionanswering.models.KnowledgebaseAnswers + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop("cls", None) # type: ClsType["_models.KnowledgebaseAnswers"] + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {})) + + content_type = kwargs.pop("content_type", "application/json") # type: Optional[str] + + json = self._serialize.body(knowledgebase_query_parameters, "object") + + request = rest.build_query_knowledgebase_request( + project_name=project_name, + deployment_name=deployment_name, + json=json, + content_type=content_type, + template_url=self.query_knowledgebase.metadata["url"], + **kwargs + ) + path_format_arguments = { + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + request.url = self._client.format_url(request.url, **path_format_arguments) + + pipeline_response = await self._client.send_request( + request, stream=False, _return_pipeline_response=True, **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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize("KnowledgebaseAnswers", pipeline_response) + + if cls: + return cls(PipelineResponse._convert(pipeline_response), deserialized, {}) + + return deserialized + + query_knowledgebase.metadata = {"url": "/:query-knowledgebases"} # type: ignore + + async def query_text( + self, text_query_parameters: "_models.TextQueryParameters", **kwargs: Any + ) -> "_models.TextAnswers": + """Answers the specified question using the provided text in the body. + + Answers the specified question using the provided text in the body. + + :param text_query_parameters: Post body of the request. + :type text_query_parameters: ~azure.ai.language.questionanswering.models.TextQueryParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TextAnswers, or the result of cls(response) + :rtype: ~azure.ai.language.questionanswering.models.TextAnswers + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop("cls", None) # type: ClsType["_models.TextAnswers"] + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {})) + + content_type = kwargs.pop("content_type", "application/json") # type: Optional[str] + + json = self._serialize.body(text_query_parameters, "object") + + request = rest.build_query_text_request( + json=json, content_type=content_type, template_url=self.query_text.metadata["url"], **kwargs + ) + path_format_arguments = { + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + request.url = self._client.format_url(request.url, **path_format_arguments) + + pipeline_response = await self._client.send_request( + request, stream=False, _return_pipeline_response=True, **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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize("TextAnswers", pipeline_response) + + if cls: + return cls(PipelineResponse._convert(pipeline_response), deserialized, {}) + + return deserialized + + query_text.metadata = {"url": "/:query-text"} # type: ignore diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/__init__.py new file mode 100644 index 000000000000..0c4b0dd97763 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/__init__.py @@ -0,0 +1,77 @@ +# 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 AnswerSpan + from ._models_py3 import AnswerSpanRequest + from ._models_py3 import Error + from ._models_py3 import ErrorResponse + from ._models_py3 import InnerErrorModel + from ._models_py3 import KnowledgebaseAnswer + from ._models_py3 import KnowledgebaseAnswerDialog + from ._models_py3 import KnowledgebaseAnswerPrompt + from ._models_py3 import KnowledgebaseAnswerRequestContext + from ._models_py3 import KnowledgebaseAnswers + from ._models_py3 import KnowledgebaseQueryParameters + from ._models_py3 import MetadataFilter + from ._models_py3 import StrictFilters + from ._models_py3 import TextAnswer + from ._models_py3 import TextAnswers + from ._models_py3 import TextInput + from ._models_py3 import TextQueryParameters +except (SyntaxError, ImportError): + from ._models import AnswerSpan # type: ignore + from ._models import AnswerSpanRequest # type: ignore + from ._models import Error # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import InnerErrorModel # type: ignore + from ._models import KnowledgebaseAnswer # type: ignore + from ._models import KnowledgebaseAnswerDialog # type: ignore + from ._models import KnowledgebaseAnswerPrompt # type: ignore + from ._models import KnowledgebaseAnswerRequestContext # type: ignore + from ._models import KnowledgebaseAnswers # type: ignore + from ._models import KnowledgebaseQueryParameters # type: ignore + from ._models import MetadataFilter # type: ignore + from ._models import StrictFilters # type: ignore + from ._models import TextAnswer # type: ignore + from ._models import TextAnswers # type: ignore + from ._models import TextInput # type: ignore + from ._models import TextQueryParameters # type: ignore + +from ._question_answering_client_enums import ( + CompoundOperationType, + ErrorCode, + InnerErrorCode, + RankerType, + StringIndexType, +) + +__all__ = [ + "AnswerSpan", + "AnswerSpanRequest", + "Error", + "ErrorResponse", + "InnerErrorModel", + "KnowledgebaseAnswer", + "KnowledgebaseAnswerDialog", + "KnowledgebaseAnswerPrompt", + "KnowledgebaseAnswerRequestContext", + "KnowledgebaseAnswers", + "KnowledgebaseQueryParameters", + "MetadataFilter", + "StrictFilters", + "TextAnswer", + "TextAnswers", + "TextInput", + "TextQueryParameters", + "CompoundOperationType", + "ErrorCode", + "InnerErrorCode", + "RankerType", + "StringIndexType", +] diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_models.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_models.py new file mode 100644 index 000000000000..d98ed137dc45 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_models.py @@ -0,0 +1,549 @@ +# 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 AnswerSpan(msrest.serialization.Model): + """Answer span object of QnA. + + :param text: Predicted text of answer span. + :type text: str + :param confidence_score: Predicted score of answer span, value ranges from 0 to 1. + :type confidence_score: float + :param offset: The answer span offset from the start of answer. + :type offset: int + :param length: The length of the answer span. + :type length: int + """ + + _validation = { + "confidence_score": {"maximum": 1, "minimum": 0}, + } + + _attribute_map = { + "text": {"key": "text", "type": "str"}, + "confidence_score": {"key": "confidenceScore", "type": "float"}, + "offset": {"key": "offset", "type": "int"}, + "length": {"key": "length", "type": "int"}, + } + + def __init__(self, **kwargs): + super(AnswerSpan, self).__init__(**kwargs) + self.text = kwargs.get("text", None) + self.confidence_score = kwargs.get("confidence_score", None) + self.offset = kwargs.get("offset", None) + self.length = kwargs.get("length", None) + + +class AnswerSpanRequest(msrest.serialization.Model): + """To configure Answer span prediction feature. + + :param enable: Enable or disable Answer Span prediction. + :type enable: bool + :param confidence_score_threshold: Minimum threshold score required to include an answer span, + value ranges from 0 to 1. + :type confidence_score_threshold: float + :param top_answers_with_span: Number of Top answers to be considered for span prediction from 1 + to 10. + :type top_answers_with_span: int + """ + + _validation = { + "confidence_score_threshold": {"maximum": 1, "minimum": 0}, + "top_answers_with_span": {"maximum": 10, "minimum": 1}, + } + + _attribute_map = { + "enable": {"key": "enable", "type": "bool"}, + "confidence_score_threshold": {"key": "confidenceScoreThreshold", "type": "float"}, + "top_answers_with_span": {"key": "topAnswersWithSpan", "type": "int"}, + } + + def __init__(self, **kwargs): + super(AnswerSpanRequest, self).__init__(**kwargs) + self.enable = kwargs.get("enable", None) + self.confidence_score_threshold = kwargs.get("confidence_score_threshold", None) + self.top_answers_with_span = kwargs.get("top_answers_with_span", None) + + +class Error(msrest.serialization.Model): + """The error object. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. One of a server-defined set of error codes. Possible values include: + "InvalidRequest", "InvalidArgument", "Unauthorized", "Forbidden", "NotFound", + "TooManyRequests", "InternalServerError", "ServiceUnavailable". + :type code: str or ~azure.ai.language.questionanswering.models.ErrorCode + :param message: Required. A human-readable representation of the error. + :type message: str + :param target: The target of the error. + :type target: str + :param details: An array of details about specific errors that led to this reported error. + :type details: list[~azure.ai.language.questionanswering.models.Error] + :param innererror: An object containing more specific information than the current object about + the error. + :type innererror: ~azure.ai.language.questionanswering.models.InnerErrorModel + """ + + _validation = { + "code": {"required": True}, + "message": {"required": True}, + } + + _attribute_map = { + "code": {"key": "code", "type": "str"}, + "message": {"key": "message", "type": "str"}, + "target": {"key": "target", "type": "str"}, + "details": {"key": "details", "type": "[Error]"}, + "innererror": {"key": "innererror", "type": "InnerErrorModel"}, + } + + def __init__(self, **kwargs): + super(Error, self).__init__(**kwargs) + self.code = kwargs["code"] + self.message = kwargs["message"] + self.target = kwargs.get("target", None) + self.details = kwargs.get("details", None) + self.innererror = kwargs.get("innererror", None) + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + :param error: The error object. + :type error: ~azure.ai.language.questionanswering.models.Error + """ + + _attribute_map = { + "error": {"key": "error", "type": "Error"}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get("error", None) + + +class InnerErrorModel(msrest.serialization.Model): + """An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. One of a server-defined set of error codes. Possible values include: + "InvalidRequest", "InvalidParameterValue", "KnowledgeBaseNotFound", + "AzureCognitiveSearchNotFound", "AzureCognitiveSearchThrottling", "ExtractionFailure". + :type code: str or ~azure.ai.language.questionanswering.models.InnerErrorCode + :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: An object containing more specific information than the current object about + the error. + :type innererror: ~azure.ai.language.questionanswering.models.InnerErrorModel + """ + + _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": "InnerErrorModel"}, + } + + def __init__(self, **kwargs): + super(InnerErrorModel, 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 KnowledgebaseAnswer(msrest.serialization.Model): + """Represents Knowledgebase Answer. + + :param questions: List of questions. + :type questions: list[str] + :param answer: The Answer. + :type answer: str + :param confidence_score: Answer confidence score, value ranges from 0 to 1. + :type confidence_score: float + :param id: ID of the QnA result. + :type id: int + :param source: Source of QnA result. + :type source: str + :param metadata: Metadata associated with the answer, useful to categorize or filter question + answers. + :type metadata: dict[str, str] + :param dialog: Dialog associated with Answer. + :type dialog: ~azure.ai.language.questionanswering.models.KnowledgebaseAnswerDialog + :param answer_span: Answer span object of QnA with respect to user's question. + :type answer_span: ~azure.ai.language.questionanswering.models.AnswerSpan + """ + + _validation = { + "confidence_score": {"maximum": 1, "minimum": 0}, + } + + _attribute_map = { + "questions": {"key": "questions", "type": "[str]"}, + "answer": {"key": "answer", "type": "str"}, + "confidence_score": {"key": "confidenceScore", "type": "float"}, + "id": {"key": "id", "type": "int"}, + "source": {"key": "source", "type": "str"}, + "metadata": {"key": "metadata", "type": "{str}"}, + "dialog": {"key": "dialog", "type": "KnowledgebaseAnswerDialog"}, + "answer_span": {"key": "answerSpan", "type": "AnswerSpan"}, + } + + def __init__(self, **kwargs): + super(KnowledgebaseAnswer, self).__init__(**kwargs) + self.questions = kwargs.get("questions", None) + self.answer = kwargs.get("answer", None) + self.confidence_score = kwargs.get("confidence_score", None) + self.id = kwargs.get("id", None) + self.source = kwargs.get("source", None) + self.metadata = kwargs.get("metadata", None) + self.dialog = kwargs.get("dialog", None) + self.answer_span = kwargs.get("answer_span", None) + + +class KnowledgebaseAnswerDialog(msrest.serialization.Model): + """Dialog associated with Answer. + + :param is_context_only: To mark if a prompt is relevant only with a previous question or not. + If true, do not include this QnA as search result for queries without context; otherwise, if + false, ignores context and includes this QnA in search result. + :type is_context_only: bool + :param prompts: List of 0 to 20 prompts associated with the answer. + :type prompts: list[~azure.ai.language.questionanswering.models.KnowledgebaseAnswerPrompt] + """ + + _validation = { + "prompts": {"max_items": 20, "min_items": 0}, + } + + _attribute_map = { + "is_context_only": {"key": "isContextOnly", "type": "bool"}, + "prompts": {"key": "prompts", "type": "[KnowledgebaseAnswerPrompt]"}, + } + + def __init__(self, **kwargs): + super(KnowledgebaseAnswerDialog, self).__init__(**kwargs) + self.is_context_only = kwargs.get("is_context_only", None) + self.prompts = kwargs.get("prompts", None) + + +class KnowledgebaseAnswerPrompt(msrest.serialization.Model): + """Prompt for an answer. + + :param display_order: Index of the prompt - used in ordering of the prompts. + :type display_order: int + :param qna_id: QnA ID corresponding to the prompt. + :type qna_id: int + :param display_text: Text displayed to represent a follow up question prompt. + :type display_text: str + """ + + _validation = { + "display_text": {"max_length": 200, "min_length": 0}, + } + + _attribute_map = { + "display_order": {"key": "displayOrder", "type": "int"}, + "qna_id": {"key": "qnaId", "type": "int"}, + "display_text": {"key": "displayText", "type": "str"}, + } + + def __init__(self, **kwargs): + super(KnowledgebaseAnswerPrompt, self).__init__(**kwargs) + self.display_order = kwargs.get("display_order", None) + self.qna_id = kwargs.get("qna_id", None) + self.display_text = kwargs.get("display_text", None) + + +class KnowledgebaseAnswerRequestContext(msrest.serialization.Model): + """Context object with previous QnA's information. + + All required parameters must be populated in order to send to Azure. + + :param previous_qna_id: Required. Previous turn top answer result QnA ID. + :type previous_qna_id: int + :param previous_user_query: Previous user query. + :type previous_user_query: str + """ + + _validation = { + "previous_qna_id": {"required": True}, + } + + _attribute_map = { + "previous_qna_id": {"key": "previousQnaId", "type": "int"}, + "previous_user_query": {"key": "previousUserQuery", "type": "str"}, + } + + def __init__(self, **kwargs): + super(KnowledgebaseAnswerRequestContext, self).__init__(**kwargs) + self.previous_qna_id = kwargs["previous_qna_id"] + self.previous_user_query = kwargs.get("previous_user_query", None) + + +class KnowledgebaseAnswers(msrest.serialization.Model): + """Represents List of Question Answers. + + :param answers: Represents Answer Result list. + :type answers: list[~azure.ai.language.questionanswering.models.KnowledgebaseAnswer] + """ + + _attribute_map = { + "answers": {"key": "answers", "type": "[KnowledgebaseAnswer]"}, + } + + def __init__(self, **kwargs): + super(KnowledgebaseAnswers, self).__init__(**kwargs) + self.answers = kwargs.get("answers", None) + + +class KnowledgebaseQueryParameters(msrest.serialization.Model): + """The question parameters to answer using a knowledgebase. + + :param qna_id: Exact QnA ID to fetch from the knowledgebase, this field takes priority over + question. + :type qna_id: int + :param question: User question to query against the knowledge base. + :type question: str + :param top: Max number of answers to be returned for the question. + :type top: int + :param user_id: Unique identifier for the user. + :type user_id: str + :param confidence_score_threshold: Minimum threshold score for answers, value ranges from 0 to + 1. + :type confidence_score_threshold: float + :param context: Context object with previous QnA's information. + :type context: ~azure.ai.language.questionanswering.models.KnowledgebaseAnswerRequestContext + :param ranker_type: (Optional) Set to 'QuestionOnly' for using a question only Ranker. Possible + values include: "Default", "QuestionOnly". + :type ranker_type: str or ~azure.ai.language.questionanswering.models.RankerType + :param strict_filters: Filter QnAs based on give metadata list and knowledgebase source names. + :type strict_filters: ~azure.ai.language.questionanswering.models.StrictFilters + :param answer_span_request: To configure Answer span prediction feature. + :type answer_span_request: ~azure.ai.language.questionanswering.models.AnswerSpanRequest + :param include_unstructured_sources: (Optional) Flag to enable Query over Unstructured Sources. + :type include_unstructured_sources: bool + """ + + _validation = { + "confidence_score_threshold": {"maximum": 1, "minimum": 0}, + } + + _attribute_map = { + "qna_id": {"key": "qnaId", "type": "int"}, + "question": {"key": "question", "type": "str"}, + "top": {"key": "top", "type": "int"}, + "user_id": {"key": "userId", "type": "str"}, + "confidence_score_threshold": {"key": "confidenceScoreThreshold", "type": "float"}, + "context": {"key": "context", "type": "KnowledgebaseAnswerRequestContext"}, + "ranker_type": {"key": "rankerType", "type": "str"}, + "strict_filters": {"key": "strictFilters", "type": "StrictFilters"}, + "answer_span_request": {"key": "answerSpanRequest", "type": "AnswerSpanRequest"}, + "include_unstructured_sources": {"key": "includeUnstructuredSources", "type": "bool"}, + } + + def __init__(self, **kwargs): + super(KnowledgebaseQueryParameters, self).__init__(**kwargs) + self.qna_id = kwargs.get("qna_id", None) + self.question = kwargs.get("question", None) + self.top = kwargs.get("top", None) + self.user_id = kwargs.get("user_id", None) + self.confidence_score_threshold = kwargs.get("confidence_score_threshold", None) + self.context = kwargs.get("context", None) + self.ranker_type = kwargs.get("ranker_type", None) + self.strict_filters = kwargs.get("strict_filters", None) + self.answer_span_request = kwargs.get("answer_span_request", None) + self.include_unstructured_sources = kwargs.get("include_unstructured_sources", None) + + +class MetadataFilter(msrest.serialization.Model): + """Find QnAs that are associated with the given list of metadata. + + :param metadata: Dictionary of :code:``. + :type metadata: dict[str, str] + :param compound_operation: (Optional) Set to 'OR' for joining metadata using 'OR' operation. + Possible values include: "AND", "OR". + :type compound_operation: str or + ~azure.ai.language.questionanswering.models.CompoundOperationType + """ + + _attribute_map = { + "metadata": {"key": "metadata", "type": "{str}"}, + "compound_operation": {"key": "compoundOperation", "type": "str"}, + } + + def __init__(self, **kwargs): + super(MetadataFilter, self).__init__(**kwargs) + self.metadata = kwargs.get("metadata", None) + self.compound_operation = kwargs.get("compound_operation", None) + + +class StrictFilters(msrest.serialization.Model): + """filters over knowledgebase. + + :param metadata_filter: Find QnAs that are associated with the given list of metadata. + :type metadata_filter: ~azure.ai.language.questionanswering.models.MetadataFilter + :param source_filter: Find QnAs that are associated with the given list of sources in + knowledgebase. + :type source_filter: list[str] + :param compound_operation: (Optional) Set to 'OR' for joining metadata using 'OR' operation. + Possible values include: "AND", "OR". + :type compound_operation: str or + ~azure.ai.language.questionanswering.models.CompoundOperationType + """ + + _attribute_map = { + "metadata_filter": {"key": "metadataFilter", "type": "MetadataFilter"}, + "source_filter": {"key": "sourceFilter", "type": "[str]"}, + "compound_operation": {"key": "compoundOperation", "type": "str"}, + } + + def __init__(self, **kwargs): + super(StrictFilters, self).__init__(**kwargs) + self.metadata_filter = kwargs.get("metadata_filter", None) + self.source_filter = kwargs.get("source_filter", None) + self.compound_operation = kwargs.get("compound_operation", None) + + +class TextAnswer(msrest.serialization.Model): + """Represents answer result. + + :param answer: Answer. + :type answer: str + :param confidence_score: answer confidence score, value ranges from 0 to 1. + :type confidence_score: float + :param id: record ID. + :type id: str + :param answer_span: Answer span object with respect to user's question. + :type answer_span: ~azure.ai.language.questionanswering.models.AnswerSpan + :param offset: The sentence offset from the start of the document. + :type offset: int + :param length: The length of the sentence. + :type length: int + """ + + _validation = { + "confidence_score": {"maximum": 1, "minimum": 0}, + } + + _attribute_map = { + "answer": {"key": "answer", "type": "str"}, + "confidence_score": {"key": "confidenceScore", "type": "float"}, + "id": {"key": "id", "type": "str"}, + "answer_span": {"key": "answerSpan", "type": "AnswerSpan"}, + "offset": {"key": "offset", "type": "int"}, + "length": {"key": "length", "type": "int"}, + } + + def __init__(self, **kwargs): + super(TextAnswer, self).__init__(**kwargs) + self.answer = kwargs.get("answer", None) + self.confidence_score = kwargs.get("confidence_score", None) + self.id = kwargs.get("id", None) + self.answer_span = kwargs.get("answer_span", None) + self.offset = kwargs.get("offset", None) + self.length = kwargs.get("length", None) + + +class TextAnswers(msrest.serialization.Model): + """Represents the answer results. + + :param answers: Represents the answer results. + :type answers: list[~azure.ai.language.questionanswering.models.TextAnswer] + """ + + _attribute_map = { + "answers": {"key": "answers", "type": "[TextAnswer]"}, + } + + def __init__(self, **kwargs): + super(TextAnswers, self).__init__(**kwargs) + self.answers = kwargs.get("answers", None) + + +class TextInput(msrest.serialization.Model): + """Represent input text record to be queried. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique identifier for the text record. + :type id: str + :param text: Required. Text contents of the record. + :type text: str + """ + + _validation = { + "id": {"required": True}, + "text": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "text": {"key": "text", "type": "str"}, + } + + def __init__(self, **kwargs): + super(TextInput, self).__init__(**kwargs) + self.id = kwargs["id"] + self.text = kwargs["text"] + + +class TextQueryParameters(msrest.serialization.Model): + """The question and text record parameters to answer. + + All required parameters must be populated in order to send to Azure. + + :param question: Required. User question to query against the given text records. + :type question: str + :param records: Required. Text records to be searched for given question. + :type records: list[~azure.ai.language.questionanswering.models.TextInput] + :param language: Language of the text records. This is BCP-47 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 + :param string_index_type: 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. Possible values include: "TextElements_v8", + "UnicodeCodePoint", "Utf16CodeUnit". Default value: "TextElements_v8". + :type string_index_type: str or ~azure.ai.language.questionanswering.models.StringIndexType + """ + + _validation = { + "question": {"required": True}, + "records": {"required": True}, + } + + _attribute_map = { + "question": {"key": "question", "type": "str"}, + "records": {"key": "records", "type": "[TextInput]"}, + "language": {"key": "language", "type": "str"}, + "string_index_type": {"key": "stringIndexType", "type": "str"}, + } + + def __init__(self, **kwargs): + super(TextQueryParameters, self).__init__(**kwargs) + self.question = kwargs["question"] + self.records = kwargs["records"] + self.language = kwargs.get("language", None) + self.string_index_type = kwargs.get("string_index_type", "TextElements_v8") diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_models_py3.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_models_py3.py new file mode 100644 index 000000000000..e0cf8d3d9fdf --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_models_py3.py @@ -0,0 +1,656 @@ +# 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 ._question_answering_client_enums import * + + +class AnswerSpan(msrest.serialization.Model): + """Answer span object of QnA. + + :param text: Predicted text of answer span. + :type text: str + :param confidence_score: Predicted score of answer span, value ranges from 0 to 1. + :type confidence_score: float + :param offset: The answer span offset from the start of answer. + :type offset: int + :param length: The length of the answer span. + :type length: int + """ + + _validation = { + "confidence_score": {"maximum": 1, "minimum": 0}, + } + + _attribute_map = { + "text": {"key": "text", "type": "str"}, + "confidence_score": {"key": "confidenceScore", "type": "float"}, + "offset": {"key": "offset", "type": "int"}, + "length": {"key": "length", "type": "int"}, + } + + def __init__( + self, + *, + text: Optional[str] = None, + confidence_score: Optional[float] = None, + offset: Optional[int] = None, + length: Optional[int] = None, + **kwargs + ): + super(AnswerSpan, self).__init__(**kwargs) + self.text = text + self.confidence_score = confidence_score + self.offset = offset + self.length = length + + +class AnswerSpanRequest(msrest.serialization.Model): + """To configure Answer span prediction feature. + + :param enable: Enable or disable Answer Span prediction. + :type enable: bool + :param confidence_score_threshold: Minimum threshold score required to include an answer span, + value ranges from 0 to 1. + :type confidence_score_threshold: float + :param top_answers_with_span: Number of Top answers to be considered for span prediction from 1 + to 10. + :type top_answers_with_span: int + """ + + _validation = { + "confidence_score_threshold": {"maximum": 1, "minimum": 0}, + "top_answers_with_span": {"maximum": 10, "minimum": 1}, + } + + _attribute_map = { + "enable": {"key": "enable", "type": "bool"}, + "confidence_score_threshold": {"key": "confidenceScoreThreshold", "type": "float"}, + "top_answers_with_span": {"key": "topAnswersWithSpan", "type": "int"}, + } + + def __init__( + self, + *, + enable: Optional[bool] = None, + confidence_score_threshold: Optional[float] = None, + top_answers_with_span: Optional[int] = None, + **kwargs + ): + super(AnswerSpanRequest, self).__init__(**kwargs) + self.enable = enable + self.confidence_score_threshold = confidence_score_threshold + self.top_answers_with_span = top_answers_with_span + + +class Error(msrest.serialization.Model): + """The error object. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. One of a server-defined set of error codes. Possible values include: + "InvalidRequest", "InvalidArgument", "Unauthorized", "Forbidden", "NotFound", + "TooManyRequests", "InternalServerError", "ServiceUnavailable". + :type code: str or ~azure.ai.language.questionanswering.models.ErrorCode + :param message: Required. A human-readable representation of the error. + :type message: str + :param target: The target of the error. + :type target: str + :param details: An array of details about specific errors that led to this reported error. + :type details: list[~azure.ai.language.questionanswering.models.Error] + :param innererror: An object containing more specific information than the current object about + the error. + :type innererror: ~azure.ai.language.questionanswering.models.InnerErrorModel + """ + + _validation = { + "code": {"required": True}, + "message": {"required": True}, + } + + _attribute_map = { + "code": {"key": "code", "type": "str"}, + "message": {"key": "message", "type": "str"}, + "target": {"key": "target", "type": "str"}, + "details": {"key": "details", "type": "[Error]"}, + "innererror": {"key": "innererror", "type": "InnerErrorModel"}, + } + + def __init__( + self, + *, + code: Union[str, "ErrorCode"], + message: str, + target: Optional[str] = None, + details: Optional[List["Error"]] = None, + innererror: Optional["InnerErrorModel"] = None, + **kwargs + ): + super(Error, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + self.innererror = innererror + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + :param error: The error object. + :type error: ~azure.ai.language.questionanswering.models.Error + """ + + _attribute_map = { + "error": {"key": "error", "type": "Error"}, + } + + def __init__(self, *, error: Optional["Error"] = None, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class InnerErrorModel(msrest.serialization.Model): + """An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. One of a server-defined set of error codes. Possible values include: + "InvalidRequest", "InvalidParameterValue", "KnowledgeBaseNotFound", + "AzureCognitiveSearchNotFound", "AzureCognitiveSearchThrottling", "ExtractionFailure". + :type code: str or ~azure.ai.language.questionanswering.models.InnerErrorCode + :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: An object containing more specific information than the current object about + the error. + :type innererror: ~azure.ai.language.questionanswering.models.InnerErrorModel + """ + + _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": "InnerErrorModel"}, + } + + def __init__( + self, + *, + code: Union[str, "InnerErrorCode"], + message: str, + details: Optional[Dict[str, str]] = None, + target: Optional[str] = None, + innererror: Optional["InnerErrorModel"] = None, + **kwargs + ): + super(InnerErrorModel, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = details + self.target = target + self.innererror = innererror + + +class KnowledgebaseAnswer(msrest.serialization.Model): + """Represents Knowledgebase Answer. + + :param questions: List of questions. + :type questions: list[str] + :param answer: The Answer. + :type answer: str + :param confidence_score: Answer confidence score, value ranges from 0 to 1. + :type confidence_score: float + :param id: ID of the QnA result. + :type id: int + :param source: Source of QnA result. + :type source: str + :param metadata: Metadata associated with the answer, useful to categorize or filter question + answers. + :type metadata: dict[str, str] + :param dialog: Dialog associated with Answer. + :type dialog: ~azure.ai.language.questionanswering.models.KnowledgebaseAnswerDialog + :param answer_span: Answer span object of QnA with respect to user's question. + :type answer_span: ~azure.ai.language.questionanswering.models.AnswerSpan + """ + + _validation = { + "confidence_score": {"maximum": 1, "minimum": 0}, + } + + _attribute_map = { + "questions": {"key": "questions", "type": "[str]"}, + "answer": {"key": "answer", "type": "str"}, + "confidence_score": {"key": "confidenceScore", "type": "float"}, + "id": {"key": "id", "type": "int"}, + "source": {"key": "source", "type": "str"}, + "metadata": {"key": "metadata", "type": "{str}"}, + "dialog": {"key": "dialog", "type": "KnowledgebaseAnswerDialog"}, + "answer_span": {"key": "answerSpan", "type": "AnswerSpan"}, + } + + def __init__( + self, + *, + questions: Optional[List[str]] = None, + answer: Optional[str] = None, + confidence_score: Optional[float] = None, + id: Optional[int] = None, + source: Optional[str] = None, + metadata: Optional[Dict[str, str]] = None, + dialog: Optional["KnowledgebaseAnswerDialog"] = None, + answer_span: Optional["AnswerSpan"] = None, + **kwargs + ): + super(KnowledgebaseAnswer, self).__init__(**kwargs) + self.questions = questions + self.answer = answer + self.confidence_score = confidence_score + self.id = id + self.source = source + self.metadata = metadata + self.dialog = dialog + self.answer_span = answer_span + + +class KnowledgebaseAnswerDialog(msrest.serialization.Model): + """Dialog associated with Answer. + + :param is_context_only: To mark if a prompt is relevant only with a previous question or not. + If true, do not include this QnA as search result for queries without context; otherwise, if + false, ignores context and includes this QnA in search result. + :type is_context_only: bool + :param prompts: List of 0 to 20 prompts associated with the answer. + :type prompts: list[~azure.ai.language.questionanswering.models.KnowledgebaseAnswerPrompt] + """ + + _validation = { + "prompts": {"max_items": 20, "min_items": 0}, + } + + _attribute_map = { + "is_context_only": {"key": "isContextOnly", "type": "bool"}, + "prompts": {"key": "prompts", "type": "[KnowledgebaseAnswerPrompt]"}, + } + + def __init__( + self, + *, + is_context_only: Optional[bool] = None, + prompts: Optional[List["KnowledgebaseAnswerPrompt"]] = None, + **kwargs + ): + super(KnowledgebaseAnswerDialog, self).__init__(**kwargs) + self.is_context_only = is_context_only + self.prompts = prompts + + +class KnowledgebaseAnswerPrompt(msrest.serialization.Model): + """Prompt for an answer. + + :param display_order: Index of the prompt - used in ordering of the prompts. + :type display_order: int + :param qna_id: QnA ID corresponding to the prompt. + :type qna_id: int + :param display_text: Text displayed to represent a follow up question prompt. + :type display_text: str + """ + + _validation = { + "display_text": {"max_length": 200, "min_length": 0}, + } + + _attribute_map = { + "display_order": {"key": "displayOrder", "type": "int"}, + "qna_id": {"key": "qnaId", "type": "int"}, + "display_text": {"key": "displayText", "type": "str"}, + } + + def __init__( + self, + *, + display_order: Optional[int] = None, + qna_id: Optional[int] = None, + display_text: Optional[str] = None, + **kwargs + ): + super(KnowledgebaseAnswerPrompt, self).__init__(**kwargs) + self.display_order = display_order + self.qna_id = qna_id + self.display_text = display_text + + +class KnowledgebaseAnswerRequestContext(msrest.serialization.Model): + """Context object with previous QnA's information. + + All required parameters must be populated in order to send to Azure. + + :param previous_qna_id: Required. Previous turn top answer result QnA ID. + :type previous_qna_id: int + :param previous_user_query: Previous user query. + :type previous_user_query: str + """ + + _validation = { + "previous_qna_id": {"required": True}, + } + + _attribute_map = { + "previous_qna_id": {"key": "previousQnaId", "type": "int"}, + "previous_user_query": {"key": "previousUserQuery", "type": "str"}, + } + + def __init__(self, *, previous_qna_id: int, previous_user_query: Optional[str] = None, **kwargs): + super(KnowledgebaseAnswerRequestContext, self).__init__(**kwargs) + self.previous_qna_id = previous_qna_id + self.previous_user_query = previous_user_query + + +class KnowledgebaseAnswers(msrest.serialization.Model): + """Represents List of Question Answers. + + :param answers: Represents Answer Result list. + :type answers: list[~azure.ai.language.questionanswering.models.KnowledgebaseAnswer] + """ + + _attribute_map = { + "answers": {"key": "answers", "type": "[KnowledgebaseAnswer]"}, + } + + def __init__(self, *, answers: Optional[List["KnowledgebaseAnswer"]] = None, **kwargs): + super(KnowledgebaseAnswers, self).__init__(**kwargs) + self.answers = answers + + +class KnowledgebaseQueryParameters(msrest.serialization.Model): + """The question parameters to answer using a knowledgebase. + + :param qna_id: Exact QnA ID to fetch from the knowledgebase, this field takes priority over + question. + :type qna_id: int + :param question: User question to query against the knowledge base. + :type question: str + :param top: Max number of answers to be returned for the question. + :type top: int + :param user_id: Unique identifier for the user. + :type user_id: str + :param confidence_score_threshold: Minimum threshold score for answers, value ranges from 0 to + 1. + :type confidence_score_threshold: float + :param context: Context object with previous QnA's information. + :type context: ~azure.ai.language.questionanswering.models.KnowledgebaseAnswerRequestContext + :param ranker_type: (Optional) Set to 'QuestionOnly' for using a question only Ranker. Possible + values include: "Default", "QuestionOnly". + :type ranker_type: str or ~azure.ai.language.questionanswering.models.RankerType + :param strict_filters: Filter QnAs based on give metadata list and knowledgebase source names. + :type strict_filters: ~azure.ai.language.questionanswering.models.StrictFilters + :param answer_span_request: To configure Answer span prediction feature. + :type answer_span_request: ~azure.ai.language.questionanswering.models.AnswerSpanRequest + :param include_unstructured_sources: (Optional) Flag to enable Query over Unstructured Sources. + :type include_unstructured_sources: bool + """ + + _validation = { + "confidence_score_threshold": {"maximum": 1, "minimum": 0}, + } + + _attribute_map = { + "qna_id": {"key": "qnaId", "type": "int"}, + "question": {"key": "question", "type": "str"}, + "top": {"key": "top", "type": "int"}, + "user_id": {"key": "userId", "type": "str"}, + "confidence_score_threshold": {"key": "confidenceScoreThreshold", "type": "float"}, + "context": {"key": "context", "type": "KnowledgebaseAnswerRequestContext"}, + "ranker_type": {"key": "rankerType", "type": "str"}, + "strict_filters": {"key": "strictFilters", "type": "StrictFilters"}, + "answer_span_request": {"key": "answerSpanRequest", "type": "AnswerSpanRequest"}, + "include_unstructured_sources": {"key": "includeUnstructuredSources", "type": "bool"}, + } + + def __init__( + self, + *, + qna_id: Optional[int] = None, + question: Optional[str] = None, + top: Optional[int] = None, + user_id: Optional[str] = None, + confidence_score_threshold: Optional[float] = None, + context: Optional["KnowledgebaseAnswerRequestContext"] = None, + ranker_type: Optional[Union[str, "RankerType"]] = None, + strict_filters: Optional["StrictFilters"] = None, + answer_span_request: Optional["AnswerSpanRequest"] = None, + include_unstructured_sources: Optional[bool] = None, + **kwargs + ): + super(KnowledgebaseQueryParameters, self).__init__(**kwargs) + self.qna_id = qna_id + self.question = question + self.top = top + self.user_id = user_id + self.confidence_score_threshold = confidence_score_threshold + self.context = context + self.ranker_type = ranker_type + self.strict_filters = strict_filters + self.answer_span_request = answer_span_request + self.include_unstructured_sources = include_unstructured_sources + + +class MetadataFilter(msrest.serialization.Model): + """Find QnAs that are associated with the given list of metadata. + + :param metadata: Dictionary of :code:``. + :type metadata: dict[str, str] + :param compound_operation: (Optional) Set to 'OR' for joining metadata using 'OR' operation. + Possible values include: "AND", "OR". + :type compound_operation: str or + ~azure.ai.language.questionanswering.models.CompoundOperationType + """ + + _attribute_map = { + "metadata": {"key": "metadata", "type": "{str}"}, + "compound_operation": {"key": "compoundOperation", "type": "str"}, + } + + def __init__( + self, + *, + metadata: Optional[Dict[str, str]] = None, + compound_operation: Optional[Union[str, "CompoundOperationType"]] = None, + **kwargs + ): + super(MetadataFilter, self).__init__(**kwargs) + self.metadata = metadata + self.compound_operation = compound_operation + + +class StrictFilters(msrest.serialization.Model): + """filters over knowledgebase. + + :param metadata_filter: Find QnAs that are associated with the given list of metadata. + :type metadata_filter: ~azure.ai.language.questionanswering.models.MetadataFilter + :param source_filter: Find QnAs that are associated with the given list of sources in + knowledgebase. + :type source_filter: list[str] + :param compound_operation: (Optional) Set to 'OR' for joining metadata using 'OR' operation. + Possible values include: "AND", "OR". + :type compound_operation: str or + ~azure.ai.language.questionanswering.models.CompoundOperationType + """ + + _attribute_map = { + "metadata_filter": {"key": "metadataFilter", "type": "MetadataFilter"}, + "source_filter": {"key": "sourceFilter", "type": "[str]"}, + "compound_operation": {"key": "compoundOperation", "type": "str"}, + } + + def __init__( + self, + *, + metadata_filter: Optional["MetadataFilter"] = None, + source_filter: Optional[List[str]] = None, + compound_operation: Optional[Union[str, "CompoundOperationType"]] = None, + **kwargs + ): + super(StrictFilters, self).__init__(**kwargs) + self.metadata_filter = metadata_filter + self.source_filter = source_filter + self.compound_operation = compound_operation + + +class TextAnswer(msrest.serialization.Model): + """Represents answer result. + + :param answer: Answer. + :type answer: str + :param confidence_score: answer confidence score, value ranges from 0 to 1. + :type confidence_score: float + :param id: record ID. + :type id: str + :param answer_span: Answer span object with respect to user's question. + :type answer_span: ~azure.ai.language.questionanswering.models.AnswerSpan + :param offset: The sentence offset from the start of the document. + :type offset: int + :param length: The length of the sentence. + :type length: int + """ + + _validation = { + "confidence_score": {"maximum": 1, "minimum": 0}, + } + + _attribute_map = { + "answer": {"key": "answer", "type": "str"}, + "confidence_score": {"key": "confidenceScore", "type": "float"}, + "id": {"key": "id", "type": "str"}, + "answer_span": {"key": "answerSpan", "type": "AnswerSpan"}, + "offset": {"key": "offset", "type": "int"}, + "length": {"key": "length", "type": "int"}, + } + + def __init__( + self, + *, + answer: Optional[str] = None, + confidence_score: Optional[float] = None, + id: Optional[str] = None, + answer_span: Optional["AnswerSpan"] = None, + offset: Optional[int] = None, + length: Optional[int] = None, + **kwargs + ): + super(TextAnswer, self).__init__(**kwargs) + self.answer = answer + self.confidence_score = confidence_score + self.id = id + self.answer_span = answer_span + self.offset = offset + self.length = length + + +class TextAnswers(msrest.serialization.Model): + """Represents the answer results. + + :param answers: Represents the answer results. + :type answers: list[~azure.ai.language.questionanswering.models.TextAnswer] + """ + + _attribute_map = { + "answers": {"key": "answers", "type": "[TextAnswer]"}, + } + + def __init__(self, *, answers: Optional[List["TextAnswer"]] = None, **kwargs): + super(TextAnswers, self).__init__(**kwargs) + self.answers = answers + + +class TextInput(msrest.serialization.Model): + """Represent input text record to be queried. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique identifier for the text record. + :type id: str + :param text: Required. Text contents of the record. + :type text: str + """ + + _validation = { + "id": {"required": True}, + "text": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "text": {"key": "text", "type": "str"}, + } + + def __init__(self, *, id: str, text: str, **kwargs): + super(TextInput, self).__init__(**kwargs) + self.id = id + self.text = text + + +class TextQueryParameters(msrest.serialization.Model): + """The question and text record parameters to answer. + + All required parameters must be populated in order to send to Azure. + + :param question: Required. User question to query against the given text records. + :type question: str + :param records: Required. Text records to be searched for given question. + :type records: list[~azure.ai.language.questionanswering.models.TextInput] + :param language: Language of the text records. This is BCP-47 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 + :param string_index_type: 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. Possible values include: "TextElements_v8", + "UnicodeCodePoint", "Utf16CodeUnit". Default value: "TextElements_v8". + :type string_index_type: str or ~azure.ai.language.questionanswering.models.StringIndexType + """ + + _validation = { + "question": {"required": True}, + "records": {"required": True}, + } + + _attribute_map = { + "question": {"key": "question", "type": "str"}, + "records": {"key": "records", "type": "[TextInput]"}, + "language": {"key": "language", "type": "str"}, + "string_index_type": {"key": "stringIndexType", "type": "str"}, + } + + def __init__( + self, + *, + question: str, + records: List["TextInput"], + language: Optional[str] = None, + string_index_type: Optional[Union[str, "StringIndexType"]] = "TextElements_v8", + **kwargs + ): + super(TextQueryParameters, self).__init__(**kwargs) + self.question = question + self.records = records + self.language = language + self.string_index_type = string_index_type diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_question_answering_client_enums.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_question_answering_client_enums.py new file mode 100644 index 000000000000..aace462c8469 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/models/_question_answering_client_enums.py @@ -0,0 +1,83 @@ +# 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 CompoundOperationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """(Optional) Set to 'OR' for joining metadata using 'OR' operation.""" + + AND_ENUM = "AND" + OR_ENUM = "OR" + + +class ErrorCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Human-readable error code.""" + + INVALID_REQUEST = "InvalidRequest" + INVALID_ARGUMENT = "InvalidArgument" + UNAUTHORIZED = "Unauthorized" + FORBIDDEN = "Forbidden" + NOT_FOUND = "NotFound" + TOO_MANY_REQUESTS = "TooManyRequests" + INTERNAL_SERVER_ERROR = "InternalServerError" + SERVICE_UNAVAILABLE = "ServiceUnavailable" + + +class InnerErrorCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Human-readable error code.""" + + INVALID_REQUEST = "InvalidRequest" + INVALID_PARAMETER_VALUE = "InvalidParameterValue" + KNOWLEDGE_BASE_NOT_FOUND = "KnowledgeBaseNotFound" + AZURE_COGNITIVE_SEARCH_NOT_FOUND = "AzureCognitiveSearchNotFound" + AZURE_COGNITIVE_SEARCH_THROTTLING = "AzureCognitiveSearchThrottling" + EXTRACTION_FAILURE = "ExtractionFailure" + + +class RankerType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """(Optional) Set to 'QuestionOnly' for using a question only Ranker.""" + + DEFAULT = "Default" + QUESTION_ONLY = "QuestionOnly" + + +class StringIndexType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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. + """ + + #: 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. + TEXT_ELEMENTS_V8 = "TextElements_v8" + #: 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. + UNICODE_CODE_POINT = "UnicodeCodePoint" + #: 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. + UTF16_CODE_UNIT = "Utf16CodeUnit" diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/operations/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/operations/__init__.py new file mode 100644 index 000000000000..200be9f1c22e --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/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 ._question_answering_client_operations import QuestionAnsweringClientOperationsMixin + +__all__ = [ + "QuestionAnsweringClientOperationsMixin", +] diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/operations/_question_answering_client_operations.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/operations/_question_answering_client_operations.py new file mode 100644 index 000000000000..280cb22fc259 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/operations/_question_answering_client_operations.py @@ -0,0 +1,144 @@ +# 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 functools +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest + +from .. import models as _models, rest + +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 QuestionAnsweringClientOperationsMixin(object): + def query_knowledgebase( + self, + knowledgebase_query_parameters, # type: "_models.KnowledgebaseQueryParameters" + **kwargs # type: Any + ): + # type: (...) -> "_models.KnowledgebaseAnswers" + """Answers the specified question using your knowledgebase. + + Answers the specified question using your knowledgebase. + + :keyword project_name: The name of the project to use. + :paramtype project_name: str + :param knowledgebase_query_parameters: Post body of the request. + :type knowledgebase_query_parameters: + ~azure.ai.language.questionanswering.models.KnowledgebaseQueryParameters + :keyword deployment_name: The name of the specific deployment of the project to use. + :paramtype deployment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: KnowledgebaseAnswers, or the result of cls(response) + :rtype: ~azure.ai.language.questionanswering.models.KnowledgebaseAnswers + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop("cls", None) # type: ClsType["_models.KnowledgebaseAnswers"] + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {})) + + content_type = kwargs.pop("content_type", "application/json") # type: Optional[str] + project_name = kwargs.pop("project_name") # type: str + deployment_name = kwargs.pop("deployment_name", None) # type: Optional[str] + + json = self._serialize.body(knowledgebase_query_parameters, "object") + + request = rest.build_query_knowledgebase_request( + project_name=project_name, + deployment_name=deployment_name, + json=json, + content_type=content_type, + template_url=self.query_knowledgebase.metadata["url"], + **kwargs + ) + path_format_arguments = { + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + request.url = self._client.format_url(request.url, **path_format_arguments) + + pipeline_response = self._client.send_request(request, stream=False, _return_pipeline_response=True, **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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize("KnowledgebaseAnswers", pipeline_response) + + if cls: + return cls(PipelineResponse._convert(pipeline_response), deserialized, {}) + + return deserialized + + query_knowledgebase.metadata = {"url": "/:query-knowledgebases"} # type: ignore + + def query_text( + self, + text_query_parameters, # type: "_models.TextQueryParameters" + **kwargs # type: Any + ): + # type: (...) -> "_models.TextAnswers" + """Answers the specified question using the provided text in the body. + + Answers the specified question using the provided text in the body. + + :param text_query_parameters: Post body of the request. + :type text_query_parameters: ~azure.ai.language.questionanswering.models.TextQueryParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TextAnswers, or the result of cls(response) + :rtype: ~azure.ai.language.questionanswering.models.TextAnswers + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop("cls", None) # type: ClsType["_models.TextAnswers"] + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {})) + + content_type = kwargs.pop("content_type", "application/json") # type: Optional[str] + + json = self._serialize.body(text_query_parameters, "object") + + request = rest.build_query_text_request( + json=json, content_type=content_type, template_url=self.query_text.metadata["url"], **kwargs + ) + path_format_arguments = { + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + request.url = self._client.format_url(request.url, **path_format_arguments) + + pipeline_response = self._client.send_request(request, stream=False, _return_pipeline_response=True, **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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize("TextAnswers", pipeline_response) + + if cls: + return cls(PipelineResponse._convert(pipeline_response), deserialized, {}) + + return deserialized + + query_text.metadata = {"url": "/:query-text"} # type: ignore diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/py.typed b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/py.typed new file mode 100644 index 000000000000..e5aff4f83af8 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/__init__.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/__init__.py new file mode 100644 index 000000000000..4fdfbbf6f9e2 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/__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. +# -------------------------------------------------------------------------- + +try: + from ._request_builders_py3 import build_query_knowledgebase_request + from ._request_builders_py3 import build_query_text_request +except (SyntaxError, ImportError): + from ._request_builders import build_query_knowledgebase_request # type: ignore + from ._request_builders import build_query_text_request # type: ignore + +__all__ = [ + 'build_query_knowledgebase_request', + 'build_query_text_request', +] diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/_request_builders.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/_request_builders.py new file mode 100644 index 000000000000..57a66d5c7dec --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/_request_builders.py @@ -0,0 +1,220 @@ +# 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.rest import HttpRequest +from msrest import Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + +_SERIALIZER = Serializer() + + +def build_query_knowledgebase_request( + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Answers the specified question using your knowledgebase. + + Answers the specified question using your knowledgebase. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your + code flow. + + :keyword project_name: The name of the project to use. + :paramtype project_name: str + :keyword json: Pass in a JSON-serializable object (usually a dictionary). See the template in + our example to find the input shape. Post body of the request. + :paramtype json: Any + :keyword content: Pass in binary content you want in the body of the request (typically bytes, + a byte iterator, or stream input). Post body of the request. + :paramtype content: Any + :keyword deployment_name: The name of the specific deployment of the project to use. + :paramtype deployment_name: str + :return: Returns an :class:`~azure.core.rest.HttpRequest` that you will pass to the client's + `send_request` method. See https://aka.ms/azsdk/python/protocol/quickstart for how to + incorporate this response into your code flow. + :rtype: ~azure.core.rest.HttpRequest + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your `json` input. + json = { + "answerSpanRequest": { + "confidenceScoreThreshold": "float (optional)", + "enable": "bool (optional)", + "topAnswersWithSpan": "int (optional)" + }, + "confidenceScoreThreshold": "float (optional)", + "context": { + "previousQnaId": "int", + "previousUserQuery": "str (optional)" + }, + "includeUnstructuredSources": "bool (optional)", + "qnaId": "int (optional)", + "question": "str (optional)", + "rankerType": "str (optional)", + "strictFilters": { + "compoundOperation": "str (optional)", + "metadataFilter": { + "compoundOperation": "str (optional)", + "metadata": { + "str": "str (optional)" + } + }, + "sourceFilter": [ + "str (optional)" + ] + }, + "top": "int (optional)", + "userId": "str (optional)" + } + + # response body for status code(s): 200 + response.json() == { + "answers": [ + { + "answer": "str (optional)", + "answerSpan": { + "confidenceScore": "float (optional)", + "length": "int (optional)", + "offset": "int (optional)", + "text": "str (optional)" + }, + "confidenceScore": "float (optional)", + "dialog": { + "isContextOnly": "bool (optional)", + "prompts": [ + { + "displayOrder": "int (optional)", + "displayText": "str (optional)", + "qnaId": "int (optional)" + } + ] + }, + "id": "int (optional)", + "metadata": { + "str": "str (optional)" + }, + "questions": [ + "str (optional)" + ], + "source": "str (optional)" + } + ] + } + """ + + content_type = kwargs.pop("content_type", None) # type: Optional[str] + project_name = kwargs.pop("project_name") # type: str + json = kwargs.pop("json", None) # type: Any + deployment_name = kwargs.pop("deployment_name", None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + + # Construct URL + url = kwargs.pop("template_url", "/:query-knowledgebases") + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters["projectName"] = _SERIALIZER.query("project_name", project_name, "str") + if deployment_name is not None: + query_parameters["deploymentName"] = _SERIALIZER.query("deployment_name", deployment_name, "str") + query_parameters["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + header_parameters["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=url, params=query_parameters, headers=header_parameters, **kwargs) + + +def build_query_text_request( + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Answers the specified question using the provided text in the body. + + Answers the specified question using the provided text in the body. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your + code flow. + + :keyword json: Pass in a JSON-serializable object (usually a dictionary). See the template in + our example to find the input shape. Post body of the request. + :paramtype json: Any + :keyword content: Pass in binary content you want in the body of the request (typically bytes, + a byte iterator, or stream input). Post body of the request. + :paramtype content: Any + :return: Returns an :class:`~azure.core.rest.HttpRequest` that you will pass to the client's + `send_request` method. See https://aka.ms/azsdk/python/protocol/quickstart for how to + incorporate this response into your code flow. + :rtype: ~azure.core.rest.HttpRequest + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your `json` input. + json = { + "language": "str (optional)", + "question": "str", + "records": [ + { + "id": "str", + "text": "str" + } + ], + "stringIndexType": "str (optional). Default value is \"TextElements_v8\"" + } + + # response body for status code(s): 200 + response.json() == { + "answers": [ + { + "answer": "str (optional)", + "answerSpan": { + "confidenceScore": "float (optional)", + "length": "int (optional)", + "offset": "int (optional)", + "text": "str (optional)" + }, + "confidenceScore": "float (optional)", + "id": "str (optional)", + "length": "int (optional)", + "offset": "int (optional)" + } + ] + } + """ + + content_type = kwargs.pop("content_type", None) # type: Optional[str] + json = kwargs.pop("json", None) # type: Any + + api_version = "2021-05-01-preview" + accept = "application/json" + + # Construct URL + url = kwargs.pop("template_url", "/:query-text") + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + header_parameters["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=url, params=query_parameters, headers=header_parameters, **kwargs) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/_request_builders_py3.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/_request_builders_py3.py new file mode 100644 index 000000000000..2ea1239df3f6 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/rest/_request_builders_py3.py @@ -0,0 +1,212 @@ +# 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 + +from azure.core.rest import HttpRequest +from msrest import Serializer + +_SERIALIZER = Serializer() + + +def build_query_knowledgebase_request( + *, project_name: str, json: Any = None, content: Any = None, deployment_name: Optional[str] = None, **kwargs: Any +) -> HttpRequest: + """Answers the specified question using your knowledgebase. + + Answers the specified question using your knowledgebase. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your + code flow. + + :keyword project_name: The name of the project to use. + :paramtype project_name: str + :keyword json: Pass in a JSON-serializable object (usually a dictionary). See the template in + our example to find the input shape. Post body of the request. + :paramtype json: Any + :keyword content: Pass in binary content you want in the body of the request (typically bytes, + a byte iterator, or stream input). Post body of the request. + :paramtype content: Any + :keyword deployment_name: The name of the specific deployment of the project to use. + :paramtype deployment_name: str + :return: Returns an :class:`~azure.core.rest.HttpRequest` that you will pass to the client's + `send_request` method. See https://aka.ms/azsdk/python/protocol/quickstart for how to + incorporate this response into your code flow. + :rtype: ~azure.core.rest.HttpRequest + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your `json` input. + json = { + "answerSpanRequest": { + "confidenceScoreThreshold": "float (optional)", + "enable": "bool (optional)", + "topAnswersWithSpan": "int (optional)" + }, + "confidenceScoreThreshold": "float (optional)", + "context": { + "previousQnaId": "int", + "previousUserQuery": "str (optional)" + }, + "includeUnstructuredSources": "bool (optional)", + "qnaId": "int (optional)", + "question": "str (optional)", + "rankerType": "str (optional)", + "strictFilters": { + "compoundOperation": "str (optional)", + "metadataFilter": { + "compoundOperation": "str (optional)", + "metadata": { + "str": "str (optional)" + } + }, + "sourceFilter": [ + "str (optional)" + ] + }, + "top": "int (optional)", + "userId": "str (optional)" + } + + # response body for status code(s): 200 + response.json() == { + "answers": [ + { + "answer": "str (optional)", + "answerSpan": { + "confidenceScore": "float (optional)", + "length": "int (optional)", + "offset": "int (optional)", + "text": "str (optional)" + }, + "confidenceScore": "float (optional)", + "dialog": { + "isContextOnly": "bool (optional)", + "prompts": [ + { + "displayOrder": "int (optional)", + "displayText": "str (optional)", + "qnaId": "int (optional)" + } + ] + }, + "id": "int (optional)", + "metadata": { + "str": "str (optional)" + }, + "questions": [ + "str (optional)" + ], + "source": "str (optional)" + } + ] + } + """ + + content_type = kwargs.pop("content_type", None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + + # Construct URL + url = kwargs.pop("template_url", "/:query-knowledgebases") + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters["projectName"] = _SERIALIZER.query("project_name", project_name, "str") + if deployment_name is not None: + query_parameters["deploymentName"] = _SERIALIZER.query("deployment_name", deployment_name, "str") + query_parameters["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + header_parameters["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest( + method="POST", url=url, params=query_parameters, headers=header_parameters, json=json, content=content, **kwargs + ) + + +def build_query_text_request(*, json: Any = None, content: Any = None, **kwargs: Any) -> HttpRequest: + """Answers the specified question using the provided text in the body. + + Answers the specified question using the provided text in the body. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your + code flow. + + :keyword json: Pass in a JSON-serializable object (usually a dictionary). See the template in + our example to find the input shape. Post body of the request. + :paramtype json: Any + :keyword content: Pass in binary content you want in the body of the request (typically bytes, + a byte iterator, or stream input). Post body of the request. + :paramtype content: Any + :return: Returns an :class:`~azure.core.rest.HttpRequest` that you will pass to the client's + `send_request` method. See https://aka.ms/azsdk/python/protocol/quickstart for how to + incorporate this response into your code flow. + :rtype: ~azure.core.rest.HttpRequest + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your `json` input. + json = { + "language": "str (optional)", + "question": "str", + "records": [ + { + "id": "str", + "text": "str" + } + ], + "stringIndexType": "str (optional). Default value is \"TextElements_v8\"" + } + + # response body for status code(s): 200 + response.json() == { + "answers": [ + { + "answer": "str (optional)", + "answerSpan": { + "confidenceScore": "float (optional)", + "length": "int (optional)", + "offset": "int (optional)", + "text": "str (optional)" + }, + "confidenceScore": "float (optional)", + "id": "str (optional)", + "length": "int (optional)", + "offset": "int (optional)" + } + ] + } + """ + + content_type = kwargs.pop("content_type", None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + + # Construct URL + url = kwargs.pop("template_url", "/:query-text") + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + header_parameters["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest( + method="POST", url=url, params=query_parameters, headers=header_parameters, json=json, content=content, **kwargs + ) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/dev_requirements.txt b/sdk/cognitivelanguage/azure-ai-language-questionanswering/dev_requirements.txt new file mode 100644 index 000000000000..4ddce08c734b --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/dev_requirements.txt @@ -0,0 +1,8 @@ +-e ../../../tools/azure-sdk-tools +../../core/azure-core +-e ../../../tools/azure-devtools +-e ../../cognitiveservices/azure-mgmt-cognitiveservices +-e ../../identity/azure-identity +aiohttp>=3.0; python_version >= '3.5' +../../nspkg/azure-ai-nspkg +../../nspkg/azure-ai-language-nspkg diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/README.md b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/README.md new file mode 100644 index 000000000000..ce13a0947d16 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/README.md @@ -0,0 +1,59 @@ +.--- +page_type: sample +languages: + - python +products: +- azure +- azure-cognitive-services +- azure-qna-maker +urlFragment: languagequestionanswering-samples +--- + +# Samples for Language QuestionAnswering client library for Python + +Question Answering is a cloud-based API service that lets you create a conversational question-and-answer layer over your existing data. Use it to build a knowledge base by extracting questions and answers from your semi-structured content, including FAQ, manuals, and documents. Answer users' questions with the best answers from the QnAs in your knowledge base—automatically. Your knowledge base gets smarter, too, as it continually learns from user behavior. + +These code samples show common scenario operations with the Azure Language QuestionAnswering client library. +The async versions of the samples require Python 3.6 or later. +You can authenticate your client with a QuestionAnswering API key. + +These sample programs show common scenarios for the QuestionAnswering client's offerings. + +|**File Name**|**Description**| +|-------------|---------------| +|[sample_query_knowledgebase.py][query_knowledgebase] and [sample_query_knowledgebase_async.py][query_knowledgebase_async]|Ask a question from a knowledgebase| +|[sample_chat.py][chat] and [sample_chat_async.py][chat_async]|Ask a follow-up question (chit-chat)| +|[sample_query_text.py][query_text] and [sample_query_text_async.py][query_text_async]|Ask a question from provided text data| + + +### Prerequisites + +* Python 2.7, or 3.6 or later is required to use this package. +* An [Azure subscription][azure_subscription] +* An existing Question Answering resource + + +## Setup + +1. Install the Azure QuestionAnswering client library for Python with [pip][pip]): +```bash +pip install --pre azure-ai-language-questionanswering +``` +2. Clone or download this sample repository +3. Open the sample folder in Visual Studio Code or your IDE of choice. + +## Running the samples + +1. Open a terminal window and `cd` to the directory that the samples are saved in. +2. Set the environment variables specified in the sample file you wish to run. +3. Follow the usage described in the file, e.g. `python sample_chat.py` + + +[query_knowledgebase]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_knowledgebase.py +[query_knowledgebase_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_knowledgebase_async.py +[chat]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_chat.py +[chat_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_chat_async.py +[query_text]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_text.py +[query_text_async]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_text_async.py +[pip]: https://pypi.org/project/pip/ +[azure_subscription]: https://azure.microsoft.com/free/ diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_chat_async.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_chat_async.py new file mode 100644 index 000000000000..014873fcf692 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_chat_async.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +""" +FILE: sample_chat_async.py + +DESCRIPTION: + This sample demonstrates how to ask a follow-up question (chit-chat) from a knowledgebase. + +USAGE: + python sample_chat_async.py + + Set the environment variables with your own values before running the sample: + 1) AZURE_QUESTIONANSWERING_ENDPOINT - the endpoint to your QuestionAnswering resource. + 2) AZURE_QUESTIONANSWERING_KEY - your QuestionAnswering API key. + 3) AZURE_QUESTIONANSWERING_PROJECT - the name of a knowledgebase project. +""" + +import asyncio + + +async def sample_chit_chat(): + # [START chit_chat_async] + import os + from azure.core.credentials import AzureKeyCredential + from azure.ai.language.questionanswering.aio import QuestionAnsweringClient + from azure.ai.language.questionanswering import models as qna + + endpoint = os.environ["AZURE_QUESTIONANSWERING_ENDPOINT"] + key = os.environ["AZURE_QUESTIONANSWERING_KEY"] + knowledgebase_project = os.environ["AZURE_QUESTIONANSWERING_PROJECT"] + + client = QuestionAnsweringClient(endpoint, AzureKeyCredential(key)) + async with client: + first_question = qna.KnowledgebaseQueryParameters( + question="How long should my Surface battery last?", + top=3, + confidence_score_threshold=0.2, + include_unstructured_sources=True, + answer_span_request=qna.AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + ) + + output = await client.query_knowledgebase( + project_name=knowledgebase_project, + knowledgebase_query_parameters=first_question + ) + best_answer = [a for a in output.answers if a.confidence_score > 0.9][0] + print("Q: {}".format(first_question.question)) + print("A: {}".format(best_answer.answer_span.text)) + + followup_question = qna.KnowledgebaseQueryParameters( + question="How long it takes to charge Surface?", + top=3, + confidence_score_threshold=0.2, + context=qna.KnowledgebaseAnswerRequestContext( + previous_user_query="How long should my Surface battery last?", + previous_qna_id=best_answer.id + ), + answer_span_request=qna.AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + include_unstructured_sources=True + ) + + output = await client.query_knowledgebase( + project_name=knowledgebase_project, + knowledgebase_query_parameters=followup_question + ) + best_answer = [a for a in output.answers if a.confidence_score > 0.9][0] + print("Q: {}".format(followup_question.question)) + print("A: {}".format(best_answer.answer_span.text)) + + # [END chit_chat_async] + + +if __name__ == '__main__': + loop = asyncio.get_event_loop() + loop.run_until_complete(sample_chit_chat()) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_knowledgebase_async.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_knowledgebase_async.py new file mode 100644 index 000000000000..21f39fa023b8 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_knowledgebase_async.py @@ -0,0 +1,63 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +""" +FILE: sample_query_knowledgebase_async.py + +DESCRIPTION: + This sample demonstrates how to ask a question from a knowledgebase. + +USAGE: + python sample_query_knowledgebase_async.py + + Set the environment variables with your own values before running the sample: + 1) AZURE_QUESTIONANSWERING_ENDPOINT - the endpoint to your QuestionAnswering resource. + 2) AZURE_QUESTIONANSWERING_KEY - your QuestionAnswering API key. + 3) AZURE_QUESTIONANSWERING_PROJECT - the name of a knowledgebase project. +""" + +import asyncio + + +async def sample_query_knowledgebase(): + # [START query_knowledgebase_async] + import os + from azure.core.credentials import AzureKeyCredential + from azure.ai.language.questionanswering.aio import QuestionAnsweringClient + from azure.ai.language.questionanswering import models as qna + + endpoint = os.environ["AZURE_QUESTIONANSWERING_ENDPOINT"] + key = os.environ["AZURE_QUESTIONANSWERING_KEY"] + knowledgebase_project = os.environ["AZURE_QUESTIONANSWERING_PROJECT"] + + client = QuestionAnsweringClient(endpoint, AzureKeyCredential(key)) + async with client: + input = qna.KnowledgebaseQueryParameters( + question="How long should my Surface battery last?", + top=3, + confidence_score_threshold=0.2, + include_unstructured_sources=True, + answer_span_request=qna.AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + ) + + output = await client.query_knowledgebase( + project_name=knowledgebase_project, + knowledgebase_query_parameters=input + ) + best_answer = [a for a in output.answers if a.confidence_score > 0.9][0] + print("Q: {}".format(input.question)) + print("A: {}".format(best_answer.answer_span.text)) + + # [END query_knowledgebase_async] + + +if __name__ == '__main__': + loop = asyncio.get_event_loop() + loop.run_until_complete(sample_query_knowledgebase()) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_text_async.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_text_async.py new file mode 100644 index 000000000000..a88fda39ab92 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/async_samples/sample_query_text_async.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +""" +FILE: sample_query_text_async.py + +DESCRIPTION: + This sample demonstrates how to ask a question from supplied text data. + +USAGE: + python sample_query_text_async.py + + Set the environment variables with your own values before running the sample: + 1) AZURE_QUESTIONANSWERING_ENDPOINT - the endpoint to your QuestionAnswering resource. + 2) AZURE_QUESTIONANSWERING_KEY - your QuestionAnswering API key. +""" + + +async def sample_query_text(): + # [START query_text_async] + import os + from azure.core.credentials import AzureKeyCredential + from azure.ai.language.questionanswering.aio import QuestionAnsweringClient + from azure.ai.language.questionanswering import models as qna + + endpoint = os.environ["AZURE_QUESTIONANSWERING_ENDPOINT"] + key = os.environ["AZURE_QUESTIONANSWERING_KEY"] + + client = QuestionAnsweringClient(endpoint, AzureKeyCredential(key)) + async with client: + input = qna.TextQueryParameters( + question="How long it takes to charge surface?", + records=[ + qna.TextInput( + text="Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. " + + "It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + id="doc1" + ), + qna.TextInput( + text="You can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. " + + "The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.", + id="doc2" + ) + ] + ) + + output = await client.query_text(input) + + best_answer = [a for a in output.answers if a.confidence_score > 0.9][0] + print("Q: {}".format(input.question)) + print("A: {}".format(best_answer.answer)) + + # [END query_text_async] + + +if __name__ == '__main__': + loop = asyncio.get_event_loop() + loop.run_until_complete(sample_query_text()) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_chat.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_chat.py new file mode 100644 index 000000000000..8ccc882c353a --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_chat.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +""" +FILE: sample_chat.py + +DESCRIPTION: + This sample demonstrates how to ask a follow-up question (chit-chat) from a knowledgebase. + +USAGE: + python sample_chat.py + + Set the environment variables with your own values before running the sample: + 1) AZURE_QUESTIONANSWERING_ENDPOINT - the endpoint to your QuestionAnswering resource. + 2) AZURE_QUESTIONANSWERING_KEY - your QuestionAnswering API key. + 3) AZURE_QUESTIONANSWERING_PROJECT - the name of a knowledgebase project. +""" + + +def sample_chit_chat(): + # [START chit_chat] + import os + from azure.core.credentials import AzureKeyCredential + from azure.ai.language.questionanswering import QuestionAnsweringClient + from azure.ai.language.questionanswering import models as qna + + endpoint = os.environ["AZURE_QUESTIONANSWERING_ENDPOINT"] + key = os.environ["AZURE_QUESTIONANSWERING_KEY"] + knowledgebase_project = os.environ["AZURE_QUESTIONANSWERING_PROJECT"] + + client = QuestionAnsweringClient(endpoint, AzureKeyCredential(key)) + with client: + first_question = qna.KnowledgebaseQueryParameters( + question="How long should my Surface battery last?", + top=3, + confidence_score_threshold=0.2, + include_unstructured_sources=True, + answer_span_request=qna.AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + ) + + output = client.query_knowledgebase( + project_name=knowledgebase_project, + knowledgebase_query_parameters=first_question + ) + best_answer = [a for a in output.answers if a.confidence_score > 0.9][0] + print("Q: {}".format(first_question.question)) + print("A: {}".format(best_answer.answer_span.text)) + + followup_question = qna.KnowledgebaseQueryParameters( + question="How long it takes to charge Surface?", + top=3, + confidence_score_threshold=0.2, + context=qna.KnowledgebaseAnswerRequestContext( + previous_user_query="How long should my Surface battery last?", + previous_qna_id=best_answer.id + ), + answer_span_request=qna.AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + include_unstructured_sources=True + ) + + output = client.query_knowledgebase( + project_name=knowledgebase_project, + knowledgebase_query_parameters=followup_question + ) + best_answer = [a for a in output.answers if a.confidence_score > 0.9][0] + print("Q: {}".format(followup_question.question)) + print("A: {}".format(best_answer.answer_span.text)) + + # [END chit_chat] + + +if __name__ == '__main__': + sample_chit_chat() \ No newline at end of file diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_knowledgebase.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_knowledgebase.py new file mode 100644 index 000000000000..ef1f4969eb6b --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_knowledgebase.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +""" +FILE: sample_query_knowledgebase.py + +DESCRIPTION: + This sample demonstrates how to ask a question from a knowledgebase. + +USAGE: + python sample_query_knowledgebase.py + + Set the environment variables with your own values before running the sample: + 1) AZURE_QUESTIONANSWERING_ENDPOINT - the endpoint to your QuestionAnswering resource. + 2) AZURE_QUESTIONANSWERING_KEY - your QuestionAnswering API key. + 3) AZURE_QUESTIONANSWERING_PROJECT - the name of a knowledgebase project. +""" + + +def sample_query_knowledgebase(): + # [START query_knowledgebase] + import os + from azure.core.credentials import AzureKeyCredential + from azure.ai.language.questionanswering import QuestionAnsweringClient + from azure.ai.language.questionanswering import models as qna + + endpoint = os.environ["AZURE_QUESTIONANSWERING_ENDPOINT"] + key = os.environ["AZURE_QUESTIONANSWERING_KEY"] + knowledgebase_project = os.environ["AZURE_QUESTIONANSWERING_PROJECT"] + + client = QuestionAnsweringClient(endpoint, AzureKeyCredential(key)) + with client: + input = qna.KnowledgebaseQueryParameters( + question="How long should my Surface battery last?", + top=3, + confidence_score_threshold=0.2, + include_unstructured_sources=True, + answer_span_request=qna.AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + ) + + output = client.query_knowledgebase( + project_name=knowledgebase_project, + knowledgebase_query_parameters=input + ) + best_answer = [a for a in output.answers if a.confidence_score > 0.9][0] + print("Q: {}".format(input.question)) + print("A: {}".format(best_answer.answer_span.text)) + + # [END query_knowledgebase] + + +if __name__ == '__main__': + sample_query_knowledgebase() diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_text.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_text.py new file mode 100644 index 000000000000..d18ffa620f0a --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/samples/sample_query_text.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +""" +FILE: sample_query_text.py + +DESCRIPTION: + This sample demonstrates how to ask a question from supplied text data. + +USAGE: + python sample_query_text.py + + Set the environment variables with your own values before running the sample: + 1) AZURE_QUESTIONANSWERING_ENDPOINT - the endpoint to your QuestionAnswering resource. + 2) AZURE_QUESTIONANSWERING_KEY - your QuestionAnswering API key. +""" + + +def sample_query_text(): + # [START query_text] + import os + from azure.core.credentials import AzureKeyCredential + from azure.ai.language.questionanswering import QuestionAnsweringClient + from azure.ai.language.questionanswering import models as qna + + endpoint = os.environ["AZURE_QUESTIONANSWERING_ENDPOINT"] + key = os.environ["AZURE_QUESTIONANSWERING_KEY"] + + client = QuestionAnsweringClient(endpoint, AzureKeyCredential(key)) + with client: + input = qna.TextQueryParameters( + question="How long it takes to charge surface?", + records=[ + qna.TextInput( + text="Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. " + + "It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + id="doc1" + ), + qna.TextInput( + text="You can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. " + + "The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.", + id="doc2" + ) + ] + ) + + output = client.query_text(input) + + best_answer = [a for a in output.answers if a.confidence_score > 0.9][0] + print("Q: {}".format(input.question)) + print("A: {}".format(best_answer.answer)) + + # [END query_text] + + +if __name__ == '__main__': + sample_query_text() diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/sdk_packaging.toml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/sdk_packaging.toml new file mode 100644 index 000000000000..901bc8ccbfa6 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/sdk_packaging.toml @@ -0,0 +1,2 @@ +[packaging] +auto_update = false diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/setup.cfg b/sdk/cognitivelanguage/azure-ai-language-questionanswering/setup.cfg new file mode 100644 index 000000000000..3c6e79cf31da --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/setup.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/setup.py new file mode 100644 index 000000000000..ff44705781b0 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/setup.py @@ -0,0 +1,80 @@ +from setuptools import setup, find_packages +import os +from io import open +import re + +# example setup.py Feel free to copy the entire "azure-template" folder into a package folder named +# with "azure-". Ensure that the below arguments to setup() are updated to reflect +# your package. + +# this setup.py is set up in a specific way to keep the azure* and azure-mgmt-* namespaces WORKING all the way +# up from python 2.7. Reference here: https://github.com/Azure/azure-sdk-for-python/wiki/Azure-packaging + +PACKAGE_NAME = "azure-ai-language-questionanswering" +PACKAGE_PPRINT_NAME = "Question Answering" + +# 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'), '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: + long_description = f.read() + +setup( + name=PACKAGE_NAME, + version=version, + description='Microsoft Azure {} Client Library for Python'.format(PACKAGE_PPRINT_NAME), + + # ensure that these are updated to reflect the package owners' information + long_description=long_description, + long_description_content_type='text/markdown', + url='https://github.com/Azure/azure-sdk-for-python', + author='Microsoft Corporation', + author_email='azuresdkengsysadmins@microsoft.com', + + license='MIT License', + # ensure that the development status reflects the status of your package + 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.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'License :: OSI Approved :: MIT License', + ], + packages=find_packages(exclude=[ + 'tests', + # Exclude packages that will be covered by PEP420 or nspkg + # This means any folder structure that only consists of a __init__.py. + # For example, for storage, this would mean adding 'azure.storage' + # in addition to the default 'azure' that is seen here. + 'azure' + 'azure.ai', + 'azure.ai.language', + ]), + install_requires=[ + 'azure-core<2.0.0,>=1.16.0', + "msrest>=0.6.21" + ], + extras_require={ + ":python_version<'3.0'": ['futures', 'azure-ai-language-nspkg'], + ":python_version<'3.5'": ["typing"] + }, + project_urls={ + 'Bug Reports': 'https://github.com/Azure/azure-sdk-for-python/issues', + 'Source': 'https://github.com/Azure/azure-sdk-python', + } +) diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/asynctestcase.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/asynctestcase.py new file mode 100644 index 000000000000..8893eeede181 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/asynctestcase.py @@ -0,0 +1,38 @@ +# 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 asyncio +import functools +from azure_devtools.scenario_tests.utilities import trim_kwargs_from_test_function +from azure.core.credentials import AccessToken +from testcase import QuestionAnsweringTest + + +class AsyncFakeTokenCredential(object): + """Protocol for classes able to provide OAuth tokens. + :param str scopes: Lets you specify the type of access needed. + """ + def __init__(self): + self.token = AccessToken("YOU SHALL NOT PASS", 0) + + async def get_token(self, *args): + return self.token + + +class AsyncQuestionAnsweringTest(QuestionAnsweringTest): + + def generate_oauth_token(self): + if self.is_live: + from azure.identity.aio import ClientSecretCredential + return ClientSecretCredential( + self.get_settings_value("TENANT_ID"), + self.get_settings_value("CLIENT_ID"), + self.get_settings_value("CLIENT_SECRET"), + ) + return self.generate_fake_token() + + def generate_fake_token(self): + return AsyncFakeTokenCredential() diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/conftest.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/conftest.py new file mode 100644 index 000000000000..bdc8e3478396 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/conftest.py @@ -0,0 +1,15 @@ +# 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 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/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase.yaml new file mode 100644 index 000000000000..e45e18a420ba --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase.yaml @@ -0,0 +1,124 @@ +interactions: +- request: + body: '{"question": "Ports and connectors", "top": 3, "context": {"previousQnaId": + 4, "previousUserQuery": "Meet Surface Pro 4"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '122' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Ports + and connectors\"\n ],\n \"answer\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone. For more info, see [Connect a USB mouse,](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + [printer, and more](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + on Surface.com.\\n\\nSurface Connect When your battery is low, attach the + included power supply to the Surface Connect charging port. For more info, + see [Surface battery](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + [and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\\n\\nIf you use the Surface Dock (sold separately), you connect + your Surface to the dock through the Surface Connect charging and docking + connector to transmit power and data. For more info, see [Using Surface Dock](http://www.microsoft.com/surface/support/hardware-and-drivers/docking-station-surface-dock) + on Surface.com.\\n\\nMicroSD card slot Use the microSD card slot and a microSD + card (sold separately) for file transfer and extra storage. For more info, + see [Surface storage](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + [options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com.\\n\\nMini DisplayPort version 1.2 Share what\u2019s on your + Surface screen by connecting it to an HDTV, monitor, or projector. (Video + adapters are sold separately.) For more info, see [Connect Surface to a TV, + monitor, or projector](https://www.microsoft.com/surface/support/music-photos-and-video/connect-surface-to-a-tv-display-or-projector) + on Surface.com.\\n\\n3.5 mm headset jack Plug in your favorite headset for + a little more privacy when listening to music or conference calls. For more + info, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\\n\\nCover connectors Click in the thin, light, Type Cover + for Surface Pro 4 (sold separately) so you\u2019ll always have a keyboard + when you\u2019re on the go. For more info, see [Type Cover](http://www.microsoft.com/surface/support/hardware-and-drivers/type-cover) + on Surface.com.\\n\\n| Software | Windows 10 Pro operating system Windows + 10 provides new features and many options for entertainment and productivity + at school, at home, or while you\u2019re on the go. To learn more about Windows, + see [Get started with Windows 10](http://windows.microsoft.com/en-us/windows-10/getstarted-whatsnew-cortana) + on Windows.com. Apps You can use the built-in apps featured on your Start + menu and install more apps from the Windows Store. To learn more, see [All + about](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + [apps and get more apps](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + on Surface.com. You can also install and use all your favorite desktop apps + on your Surface Pro 4. For more info, see [Install and uninstall apps on Surface](http://www.microsoft.com/surface/support/apps-and-windows-store/install-apps-and-programs) + on Surface.com. |\\n| --- | --- |\\n| Processor | The 6th-generation Intel + Core processor provides speed and power for smooth, fast performance. |\\n| + Memory and storage | Surface Pro 4 is available in configurations with up + to 16 GB of RAM and 512 GB storage. See [Surface storage](http://www.microsoft.com/surface/support/storage) + [on Surface.com](http://www.microsoft.com/surface/support/storage) for info + on available disk space. To learn about additional storage options for Surface + Pro 4, see [Surface storage options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com. |\\n| Sensors | Six sensors\u2014 accelerometer, magnetometer, + gyro, ambient light sensor, Hall effect, Wi-Fi SAR\u2014let apps do things + like track motion and determine location. |\",\n \"confidenceScore\": + 100.0,\n \"id\": 5,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {},\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": [\n {\n \"displayOrder\": 0,\n \"qnaId\": + 6,\n \"displayText\": \"Software\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 7,\n \"displayText\": + \"Processor\"\n },\n {\n \"displayOrder\": 2,\n + \ \"qnaId\": 8,\n \"displayText\": \"Memory and storage\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 9,\n \"displayText\": \"Sensors\"\n }\n ]\n }\n + \ },\n {\n \"questions\": [\n \"Connect monitors, accessories, + and other devices\"\n ],\n \"answer\": \"**Connect monitors, accessories, + and other devices**\\n\\nYou can connect monitors, accessories, and other + devices directly to your Surface Pro 4 using the USB port, Mini DisplayPort, + or Bluetooth. Or, connect everything to a Surface Dock (sold separately). + With Surface Dock, you can switch between fully connected and fully mobile + with a single connector.\",\n \"confidenceScore\": 46.59,\n \"id\": + 64,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"connect monitors, accessories, and + other devices\"\n },\n \"dialog\": {\n \"isContextOnly\": + false,\n \"prompts\": [\n {\n \"displayOrder\": + 0,\n \"qnaId\": 65,\n \"displayText\": \"Set up your + workspace with Surface Dock\"\n },\n {\n \"displayOrder\": + 1,\n \"qnaId\": 66,\n \"displayText\": \"Connect or + project to a monitor, screen, or other display\"\n }\n ]\n + \ }\n },\n {\n \"questions\": [\n \"Projector or monitor.\"\n + \ ],\n \"answer\": \"If your monitor has a DisplayPort, you can connect + it to your Surface using a DisplayPort to Mini DisplayPort cable (sold separately). + If your monitor doesn\u2019t have a DisplayPort or HDMI port, use a VGA cable + and the Mini DisplayPort to VGA Adapter.\\n\\nNote: A VGA adapter or cable + is for video only. Audio will play from your Surface speakers unless you\u2019ve + connected external speakers. For more info about this, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\",\n \"confidenceScore\": 43.97,\n \"id\": 68,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {},\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: + - c8be2440-5d35-438e-9302-7438d5285739 + content-length: + - '7123' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Jun 2021 19:41:10 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '1290' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_llc.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_llc.yaml new file mode 100644 index 000000000000..0a59e7267dd4 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_llc.yaml @@ -0,0 +1,124 @@ +interactions: +- request: + body: '{"question": "Ports and connectors", "top": 3, "context": {"previousUserQuery": + "Meet Surface Pro 4", "previousQnAId": 4}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '122' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Ports + and connectors\"\n ],\n \"answer\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone. For more info, see [Connect a USB mouse,](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + [printer, and more](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + on Surface.com.\\n\\nSurface Connect When your battery is low, attach the + included power supply to the Surface Connect charging port. For more info, + see [Surface battery](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + [and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\\n\\nIf you use the Surface Dock (sold separately), you connect + your Surface to the dock through the Surface Connect charging and docking + connector to transmit power and data. For more info, see [Using Surface Dock](http://www.microsoft.com/surface/support/hardware-and-drivers/docking-station-surface-dock) + on Surface.com.\\n\\nMicroSD card slot Use the microSD card slot and a microSD + card (sold separately) for file transfer and extra storage. For more info, + see [Surface storage](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + [options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com.\\n\\nMini DisplayPort version 1.2 Share what\u2019s on your + Surface screen by connecting it to an HDTV, monitor, or projector. (Video + adapters are sold separately.) For more info, see [Connect Surface to a TV, + monitor, or projector](https://www.microsoft.com/surface/support/music-photos-and-video/connect-surface-to-a-tv-display-or-projector) + on Surface.com.\\n\\n3.5 mm headset jack Plug in your favorite headset for + a little more privacy when listening to music or conference calls. For more + info, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\\n\\nCover connectors Click in the thin, light, Type Cover + for Surface Pro 4 (sold separately) so you\u2019ll always have a keyboard + when you\u2019re on the go. For more info, see [Type Cover](http://www.microsoft.com/surface/support/hardware-and-drivers/type-cover) + on Surface.com.\\n\\n| Software | Windows 10 Pro operating system Windows + 10 provides new features and many options for entertainment and productivity + at school, at home, or while you\u2019re on the go. To learn more about Windows, + see [Get started with Windows 10](http://windows.microsoft.com/en-us/windows-10/getstarted-whatsnew-cortana) + on Windows.com. Apps You can use the built-in apps featured on your Start + menu and install more apps from the Windows Store. To learn more, see [All + about](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + [apps and get more apps](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + on Surface.com. You can also install and use all your favorite desktop apps + on your Surface Pro 4. For more info, see [Install and uninstall apps on Surface](http://www.microsoft.com/surface/support/apps-and-windows-store/install-apps-and-programs) + on Surface.com. |\\n| --- | --- |\\n| Processor | The 6th-generation Intel + Core processor provides speed and power for smooth, fast performance. |\\n| + Memory and storage | Surface Pro 4 is available in configurations with up + to 16 GB of RAM and 512 GB storage. See [Surface storage](http://www.microsoft.com/surface/support/storage) + [on Surface.com](http://www.microsoft.com/surface/support/storage) for info + on available disk space. To learn about additional storage options for Surface + Pro 4, see [Surface storage options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com. |\\n| Sensors | Six sensors\u2014 accelerometer, magnetometer, + gyro, ambient light sensor, Hall effect, Wi-Fi SAR\u2014let apps do things + like track motion and determine location. |\",\n \"confidenceScore\": + 100.0,\n \"id\": 5,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {},\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": [\n {\n \"displayOrder\": 0,\n \"qnaId\": + 6,\n \"displayText\": \"Software\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 7,\n \"displayText\": + \"Processor\"\n },\n {\n \"displayOrder\": 2,\n + \ \"qnaId\": 8,\n \"displayText\": \"Memory and storage\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 9,\n \"displayText\": \"Sensors\"\n }\n ]\n }\n + \ },\n {\n \"questions\": [\n \"Connect monitors, accessories, + and other devices\"\n ],\n \"answer\": \"**Connect monitors, accessories, + and other devices**\\n\\nYou can connect monitors, accessories, and other + devices directly to your Surface Pro 4 using the USB port, Mini DisplayPort, + or Bluetooth. Or, connect everything to a Surface Dock (sold separately). + With Surface Dock, you can switch between fully connected and fully mobile + with a single connector.\",\n \"confidenceScore\": 46.59,\n \"id\": + 64,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"connect monitors, accessories, and + other devices\"\n },\n \"dialog\": {\n \"isContextOnly\": + false,\n \"prompts\": [\n {\n \"displayOrder\": + 0,\n \"qnaId\": 65,\n \"displayText\": \"Set up your + workspace with Surface Dock\"\n },\n {\n \"displayOrder\": + 1,\n \"qnaId\": 66,\n \"displayText\": \"Connect or + project to a monitor, screen, or other display\"\n }\n ]\n + \ }\n },\n {\n \"questions\": [\n \"Projector or monitor.\"\n + \ ],\n \"answer\": \"If your monitor has a DisplayPort, you can connect + it to your Surface using a DisplayPort to Mini DisplayPort cable (sold separately). + If your monitor doesn\u2019t have a DisplayPort or HDMI port, use a VGA cable + and the Mini DisplayPort to VGA Adapter.\\n\\nNote: A VGA adapter or cable + is for video only. Audio will play from your Surface speakers unless you\u2019ve + connected external speakers. For more info about this, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\",\n \"confidenceScore\": 43.97,\n \"id\": 68,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {},\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: + - 9cb8b0fb-c798-439e-b03e-54abed982534 + content-length: + - '7123' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Jun 2021 19:41:11 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '1223' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_llc_with_answerspan.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_llc_with_answerspan.yaml new file mode 100644 index 000000000000..bf86e56c48e1 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_llc_with_answerspan.yaml @@ -0,0 +1,129 @@ +interactions: +- request: + body: '{"question": "Ports and connectors", "top": 3, "context": {"previousUserQuery": + "Meet Surface Pro 4", "previousQnAId": 4}, "answerSpanRequest": {"enable": true, + "confidenceScoreThreshold": 0.1, "topAnswersWithSpan": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '219' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Ports + and connectors\"\n ],\n \"answer\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone. For more info, see [Connect a USB mouse,](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + [printer, and more](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + on Surface.com.\\n\\nSurface Connect When your battery is low, attach the + included power supply to the Surface Connect charging port. For more info, + see [Surface battery](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + [and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\\n\\nIf you use the Surface Dock (sold separately), you connect + your Surface to the dock through the Surface Connect charging and docking + connector to transmit power and data. For more info, see [Using Surface Dock](http://www.microsoft.com/surface/support/hardware-and-drivers/docking-station-surface-dock) + on Surface.com.\\n\\nMicroSD card slot Use the microSD card slot and a microSD + card (sold separately) for file transfer and extra storage. For more info, + see [Surface storage](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + [options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com.\\n\\nMini DisplayPort version 1.2 Share what\u2019s on your + Surface screen by connecting it to an HDTV, monitor, or projector. (Video + adapters are sold separately.) For more info, see [Connect Surface to a TV, + monitor, or projector](https://www.microsoft.com/surface/support/music-photos-and-video/connect-surface-to-a-tv-display-or-projector) + on Surface.com.\\n\\n3.5 mm headset jack Plug in your favorite headset for + a little more privacy when listening to music or conference calls. For more + info, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\\n\\nCover connectors Click in the thin, light, Type Cover + for Surface Pro 4 (sold separately) so you\u2019ll always have a keyboard + when you\u2019re on the go. For more info, see [Type Cover](http://www.microsoft.com/surface/support/hardware-and-drivers/type-cover) + on Surface.com.\\n\\n| Software | Windows 10 Pro operating system Windows + 10 provides new features and many options for entertainment and productivity + at school, at home, or while you\u2019re on the go. To learn more about Windows, + see [Get started with Windows 10](http://windows.microsoft.com/en-us/windows-10/getstarted-whatsnew-cortana) + on Windows.com. Apps You can use the built-in apps featured on your Start + menu and install more apps from the Windows Store. To learn more, see [All + about](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + [apps and get more apps](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + on Surface.com. You can also install and use all your favorite desktop apps + on your Surface Pro 4. For more info, see [Install and uninstall apps on Surface](http://www.microsoft.com/surface/support/apps-and-windows-store/install-apps-and-programs) + on Surface.com. |\\n| --- | --- |\\n| Processor | The 6th-generation Intel + Core processor provides speed and power for smooth, fast performance. |\\n| + Memory and storage | Surface Pro 4 is available in configurations with up + to 16 GB of RAM and 512 GB storage. See [Surface storage](http://www.microsoft.com/surface/support/storage) + [on Surface.com](http://www.microsoft.com/surface/support/storage) for info + on available disk space. To learn about additional storage options for Surface + Pro 4, see [Surface storage options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com. |\\n| Sensors | Six sensors\u2014 accelerometer, magnetometer, + gyro, ambient light sensor, Hall effect, Wi-Fi SAR\u2014let apps do things + like track motion and determine location. |\",\n \"confidenceScore\": + 100.0,\n \"id\": 5,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {},\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": [\n {\n \"displayOrder\": 0,\n \"qnaId\": + 6,\n \"displayText\": \"Software\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 7,\n \"displayText\": + \"Processor\"\n },\n {\n \"displayOrder\": 2,\n + \ \"qnaId\": 8,\n \"displayText\": \"Memory and storage\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 9,\n \"displayText\": \"Sensors\"\n }\n ]\n },\n + \ \"answerSpan\": {\n \"text\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone.\",\n \"confidenceScore\": 1.06,\n \"offset\": + 0,\n \"length\": 206\n }\n },\n {\n \"questions\": + [\n \"Connect monitors, accessories, and other devices\"\n ],\n + \ \"answer\": \"**Connect monitors, accessories, and other devices**\\n\\nYou + can connect monitors, accessories, and other devices directly to your Surface + Pro 4 using the USB port, Mini DisplayPort, or Bluetooth. Or, connect everything + to a Surface Dock (sold separately). With Surface Dock, you can switch between + fully connected and fully mobile with a single connector.\",\n \"confidenceScore\": + 46.59,\n \"id\": 64,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"connect monitors, + accessories, and other devices\"\n },\n \"dialog\": {\n \"isContextOnly\": + false,\n \"prompts\": [\n {\n \"displayOrder\": + 0,\n \"qnaId\": 65,\n \"displayText\": \"Set up your + workspace with Surface Dock\"\n },\n {\n \"displayOrder\": + 1,\n \"qnaId\": 66,\n \"displayText\": \"Connect or + project to a monitor, screen, or other display\"\n }\n ]\n + \ }\n },\n {\n \"questions\": [\n \"Projector or monitor.\"\n + \ ],\n \"answer\": \"If your monitor has a DisplayPort, you can connect + it to your Surface using a DisplayPort to Mini DisplayPort cable (sold separately). + If your monitor doesn\u2019t have a DisplayPort or HDMI port, use a VGA cable + and the Mini DisplayPort to VGA Adapter.\\n\\nNote: A VGA adapter or cable + is for video only. Audio will play from your Surface speakers unless you\u2019ve + connected external speakers. For more info about this, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\",\n \"confidenceScore\": 43.97,\n \"id\": 68,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {},\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: + - 2eb92f74-cda1-4bdb-a18f-a59b4d7cdf11 + content-length: + - '7459' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Jun 2021 19:41:13 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '426' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_only_id.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_only_id.yaml new file mode 100644 index 000000000000..a95cc66455f2 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_only_id.yaml @@ -0,0 +1,48 @@ +interactions: +- request: + body: '{"qnaId": 19}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '13' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Charge + your Surface Pro 4\"\n ],\n \"answer\": \"**Charge your Surface + Pro 4**\\n\\n1. Connect the two parts of the power cord.\\n\\n2. Connect + the power cord securely to the charging port.\\n\\n3. Plug the power supply + into an electrical outlet.\",\n \"confidenceScore\": 1.0,\n \"id\": + 19,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"charge your surface pro 4\"\n },\n + \ \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: + - 2d116c69-e644-4b11-b005-0d4d5cd13bbc + content-length: + - '583' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 30 Jun 2021 15:15:46 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '223' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_answerspan.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_answerspan.yaml new file mode 100644 index 000000000000..3b4ba3a32f81 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_answerspan.yaml @@ -0,0 +1,134 @@ +interactions: +- request: + body: '{"question": "Ports and connectors", "top": 3, "context": {"previousQnaId": + 4, "previousUserQuery": "Meet Surface Pro 4"}, "answerSpanRequest": {"enable": + true, "confidenceScoreThreshold": 0.1, "topAnswersWithSpan": 2}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '219' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Ports + and connectors\"\n ],\n \"answer\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone. For more info, see [Connect a USB mouse,](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + [printer, and more](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + on Surface.com.\\n\\nSurface Connect When your battery is low, attach the + included power supply to the Surface Connect charging port. For more info, + see [Surface battery](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + [and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\\n\\nIf you use the Surface Dock (sold separately), you connect + your Surface to the dock through the Surface Connect charging and docking + connector to transmit power and data. For more info, see [Using Surface Dock](http://www.microsoft.com/surface/support/hardware-and-drivers/docking-station-surface-dock) + on Surface.com.\\n\\nMicroSD card slot Use the microSD card slot and a microSD + card (sold separately) for file transfer and extra storage. For more info, + see [Surface storage](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + [options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com.\\n\\nMini DisplayPort version 1.2 Share what\u2019s on your + Surface screen by connecting it to an HDTV, monitor, or projector. (Video + adapters are sold separately.) For more info, see [Connect Surface to a TV, + monitor, or projector](https://www.microsoft.com/surface/support/music-photos-and-video/connect-surface-to-a-tv-display-or-projector) + on Surface.com.\\n\\n3.5 mm headset jack Plug in your favorite headset for + a little more privacy when listening to music or conference calls. For more + info, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\\n\\nCover connectors Click in the thin, light, Type Cover + for Surface Pro 4 (sold separately) so you\u2019ll always have a keyboard + when you\u2019re on the go. For more info, see [Type Cover](http://www.microsoft.com/surface/support/hardware-and-drivers/type-cover) + on Surface.com.\\n\\n| Software | Windows 10 Pro operating system Windows + 10 provides new features and many options for entertainment and productivity + at school, at home, or while you\u2019re on the go. To learn more about Windows, + see [Get started with Windows 10](http://windows.microsoft.com/en-us/windows-10/getstarted-whatsnew-cortana) + on Windows.com. Apps You can use the built-in apps featured on your Start + menu and install more apps from the Windows Store. To learn more, see [All + about](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + [apps and get more apps](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + on Surface.com. You can also install and use all your favorite desktop apps + on your Surface Pro 4. For more info, see [Install and uninstall apps on Surface](http://www.microsoft.com/surface/support/apps-and-windows-store/install-apps-and-programs) + on Surface.com. |\\n| --- | --- |\\n| Processor | The 6th-generation Intel + Core processor provides speed and power for smooth, fast performance. |\\n| + Memory and storage | Surface Pro 4 is available in configurations with up + to 16 GB of RAM and 512 GB storage. See [Surface storage](http://www.microsoft.com/surface/support/storage) + [on Surface.com](http://www.microsoft.com/surface/support/storage) for info + on available disk space. To learn about additional storage options for Surface + Pro 4, see [Surface storage options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com. |\\n| Sensors | Six sensors\u2014 accelerometer, magnetometer, + gyro, ambient light sensor, Hall effect, Wi-Fi SAR\u2014let apps do things + like track motion and determine location. |\",\n \"confidenceScore\": + 100.0,\n \"id\": 5,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {},\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": [\n {\n \"displayOrder\": 0,\n \"qnaId\": + 6,\n \"displayText\": \"Software\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 7,\n \"displayText\": + \"Processor\"\n },\n {\n \"displayOrder\": 2,\n + \ \"qnaId\": 8,\n \"displayText\": \"Memory and storage\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 9,\n \"displayText\": \"Sensors\"\n }\n ]\n },\n + \ \"answerSpan\": {\n \"text\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone.\",\n \"confidenceScore\": 1.06,\n \"offset\": + 0,\n \"length\": 206\n }\n },\n {\n \"questions\": + [\n \"Connect monitors, accessories, and other devices\"\n ],\n + \ \"answer\": \"**Connect monitors, accessories, and other devices**\\n\\nYou + can connect monitors, accessories, and other devices directly to your Surface + Pro 4 using the USB port, Mini DisplayPort, or Bluetooth. Or, connect everything + to a Surface Dock (sold separately). With Surface Dock, you can switch between + fully connected and fully mobile with a single connector.\",\n \"confidenceScore\": + 46.59,\n \"id\": 64,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"connect monitors, + accessories, and other devices\"\n },\n \"dialog\": {\n \"isContextOnly\": + false,\n \"prompts\": [\n {\n \"displayOrder\": + 0,\n \"qnaId\": 65,\n \"displayText\": \"Set up your + workspace with Surface Dock\"\n },\n {\n \"displayOrder\": + 1,\n \"qnaId\": 66,\n \"displayText\": \"Connect or + project to a monitor, screen, or other display\"\n }\n ]\n + \ },\n \"answerSpan\": {\n \"text\": \"**Connect monitors, + accessories, and other devices**\\n\\nYou can connect monitors, accessories, + and other devices directly to your Surface Pro 4 using the USB port, Mini + DisplayPort, or Bluetooth.\",\n \"confidenceScore\": 6.97,\n \"offset\": + 0,\n \"length\": 194\n }\n },\n {\n \"questions\": + [\n \"Projector or monitor.\"\n ],\n \"answer\": \"If your + monitor has a DisplayPort, you can connect it to your Surface using a DisplayPort + to Mini DisplayPort cable (sold separately). If your monitor doesn\u2019t + have a DisplayPort or HDMI port, use a VGA cable and the Mini DisplayPort + to VGA Adapter.\\n\\nNote: A VGA adapter or cable is for video only. Audio + will play from your Surface speakers unless you\u2019ve connected external + speakers. For more info about this, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\",\n \"confidenceScore\": 43.97,\n \"id\": 68,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {},\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: + - e9f17bfa-0949-4d3b-90a2-cc77348ec62a + content-length: + - '7781' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Jun 2021 19:41:13 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '346' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_dictparams.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_dictparams.yaml new file mode 100644 index 000000000000..a7fcb080edda --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_dictparams.yaml @@ -0,0 +1,64 @@ +interactions: +- request: + body: '{"question": "How long should my Surface battery last?", "top": 3, "userId": + "sd53lsY=", "confidenceScoreThreshold": 0.2, "answerSpanRequest": {"enable": + true, "confidenceScoreThreshold": 0.2, "topAnswersWithSpan": 1}, "includeUnstructuredSources": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '254' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Make + your battery last\"\n ],\n \"answer\": \"**Make your battery last**\\n\\nFor + info on how to care for your battery and power supply, conserve power, and + make your Surface battery last longer, see [Surface battery and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\",\n \"confidenceScore\": 0.9292,\n \"id\": 27,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"make your battery last\"\n },\n + \ \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n },\n {\n \"questions\": [\n \"Check the battery + level\"\n ],\n \"answer\": \"**Check the battery level**\\n\\nYou + can check the battery level from the lock screen or the desktop:\",\n \"confidenceScore\": + 0.3583,\n \"id\": 24,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"check the battery + level\"\n },\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": []\n }\n },\n {\n \"questions\": [\n + \ \"Desktop taskbar.\"\n ],\n \"answer\": \"**Desktop taskbar.**\\n\\nBattery + status appears at the right side of the taskbar. Select the battery icon for + info about the charging and battery status, including the percent remaining. + \u272A\",\n \"confidenceScore\": 0.2229,\n \"id\": 26,\n \"source\": + \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": {},\n \"dialog\": + {\n \"isContextOnly\": false,\n \"prompts\": []\n }\n }\n + \ ]\n}" + headers: + apim-request-id: + - 967bb864-5081-4f3e-9b98-c3861626ed3f + content-length: + - '1609' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 30 Jun 2021 15:36:56 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '1397' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_followup.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_followup.yaml new file mode 100644 index 000000000000..184ac4a01b84 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase.test_query_knowledgebase_with_followup.yaml @@ -0,0 +1,135 @@ +interactions: +- request: + body: '{"question": "How long should my Surface battery last?", "top": 3, "userId": + "sd53lsY=", "confidenceScoreThreshold": 0.2, "answerSpanRequest": {"enable": + true, "confidenceScoreThreshold": 0.2, "topAnswersWithSpan": 1}, "includeUnstructuredSources": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '254' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Make + your battery last\"\n ],\n \"answer\": \"**Make your battery last**\\n\\nFor + info on how to care for your battery and power supply, conserve power, and + make your Surface battery last longer, see [Surface battery and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\",\n \"confidenceScore\": 0.9292,\n \"id\": 27,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"make your battery last\"\n },\n + \ \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n },\n {\n \"questions\": [\n \"Check the battery + level\"\n ],\n \"answer\": \"**Check the battery level**\\n\\nYou + can check the battery level from the lock screen or the desktop:\",\n \"confidenceScore\": + 0.3583,\n \"id\": 24,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"check the battery + level\"\n },\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": []\n }\n },\n {\n \"questions\": [\n + \ \"Desktop taskbar.\"\n ],\n \"answer\": \"**Desktop taskbar.**\\n\\nBattery + status appears at the right side of the taskbar. Select the battery icon for + info about the charging and battery status, including the percent remaining. + \u272A\",\n \"confidenceScore\": 0.2229,\n \"id\": 26,\n \"source\": + \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": {},\n \"dialog\": + {\n \"isContextOnly\": false,\n \"prompts\": []\n }\n }\n + \ ]\n}" + headers: + apim-request-id: + - 7e3a11a9-79ea-41fc-8963-db475c64f5af + content-length: + - '1609' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 30 Jun 2021 15:14:31 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '1075' + status: + code: 200 + message: OK +- request: + body: '{"question": "How long it takes to charge Surface?", "top": 3, "userId": + "sd53lsY=", "confidenceScoreThreshold": 0.2, "context": {"previousQnaId": 27, + "previousUserQuery": "How long should my Surface battery last?"}, "answerSpanRequest": + {"enable": true, "confidenceScoreThreshold": 0.2, "topAnswersWithSpan": 1}, + "includeUnstructuredSources": true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '349' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Power + and charging\"\n ],\n \"answer\": \"**Power and charging**\\n\\nIt + takes two to four hours to charge the Surface Pro 4 battery fully from an + empty state. It can take longer if you\u2019re using your Surface for power-intensive + activities like gaming or video streaming while you\u2019re charging it.\\n\\nYou + can use the USB port on your Surface Pro 4 power supply to charge other devices, + like a phone, while your Surface charges. The USB port on the power supply + is only for charging, not for data transfer. If you want to use a USB device, + plug it into the USB port on your Surface.\",\n \"confidenceScore\": + 0.6545000000000001,\n \"id\": 23,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"power and charging\"\n + \ },\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + [\n {\n \"displayOrder\": 0,\n \"qnaId\": 24,\n + \ \"displayText\": \"Check the battery level\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 25,\n \"displayText\": + \"Lock screen.\"\n },\n {\n \"displayOrder\": + 2,\n \"qnaId\": 26,\n \"displayText\": \"Desktop taskbar.\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 27,\n \"displayText\": \"Make your battery last\"\n }\n + \ ]\n },\n \"answerSpan\": {\n \"text\": \"two to four + hours\",\n \"confidenceScore\": 30.86,\n \"offset\": 33,\n \"length\": + 18\n }\n },\n {\n \"questions\": [\n \"Charge your + Surface Pro 4\"\n ],\n \"answer\": \"**Charge your Surface Pro 4**\\n\\n1. + \ Connect the two parts of the power cord.\\n\\n2. Connect the power cord + securely to the charging port.\\n\\n3. Plug the power supply into an electrical + outlet.\",\n \"confidenceScore\": 0.31989999999999996,\n \"id\": + 19,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"charge your surface pro 4\"\n },\n + \ \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: + - 94119467-33a8-4222-b270-0deb60b671eb + content-length: + - '2177' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 30 Jun 2021 15:14:31 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '867' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase.yaml new file mode 100644 index 000000000000..303f9048d446 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase.yaml @@ -0,0 +1,114 @@ +interactions: +- request: + body: '{"question": "Ports and connectors", "top": 3, "context": {"previousQnaId": + 4, "previousUserQuery": "Meet Surface Pro 4"}}' + headers: + Accept: + - application/json + Content-Length: + - '122' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Ports + and connectors\"\n ],\n \"answer\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone. For more info, see [Connect a USB mouse,](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + [printer, and more](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + on Surface.com.\\n\\nSurface Connect When your battery is low, attach the + included power supply to the Surface Connect charging port. For more info, + see [Surface battery](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + [and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\\n\\nIf you use the Surface Dock (sold separately), you connect + your Surface to the dock through the Surface Connect charging and docking + connector to transmit power and data. For more info, see [Using Surface Dock](http://www.microsoft.com/surface/support/hardware-and-drivers/docking-station-surface-dock) + on Surface.com.\\n\\nMicroSD card slot Use the microSD card slot and a microSD + card (sold separately) for file transfer and extra storage. For more info, + see [Surface storage](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + [options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com.\\n\\nMini DisplayPort version 1.2 Share what\u2019s on your + Surface screen by connecting it to an HDTV, monitor, or projector. (Video + adapters are sold separately.) For more info, see [Connect Surface to a TV, + monitor, or projector](https://www.microsoft.com/surface/support/music-photos-and-video/connect-surface-to-a-tv-display-or-projector) + on Surface.com.\\n\\n3.5 mm headset jack Plug in your favorite headset for + a little more privacy when listening to music or conference calls. For more + info, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\\n\\nCover connectors Click in the thin, light, Type Cover + for Surface Pro 4 (sold separately) so you\u2019ll always have a keyboard + when you\u2019re on the go. For more info, see [Type Cover](http://www.microsoft.com/surface/support/hardware-and-drivers/type-cover) + on Surface.com.\\n\\n| Software | Windows 10 Pro operating system Windows + 10 provides new features and many options for entertainment and productivity + at school, at home, or while you\u2019re on the go. To learn more about Windows, + see [Get started with Windows 10](http://windows.microsoft.com/en-us/windows-10/getstarted-whatsnew-cortana) + on Windows.com. Apps You can use the built-in apps featured on your Start + menu and install more apps from the Windows Store. To learn more, see [All + about](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + [apps and get more apps](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + on Surface.com. You can also install and use all your favorite desktop apps + on your Surface Pro 4. For more info, see [Install and uninstall apps on Surface](http://www.microsoft.com/surface/support/apps-and-windows-store/install-apps-and-programs) + on Surface.com. |\\n| --- | --- |\\n| Processor | The 6th-generation Intel + Core processor provides speed and power for smooth, fast performance. |\\n| + Memory and storage | Surface Pro 4 is available in configurations with up + to 16 GB of RAM and 512 GB storage. See [Surface storage](http://www.microsoft.com/surface/support/storage) + [on Surface.com](http://www.microsoft.com/surface/support/storage) for info + on available disk space. To learn about additional storage options for Surface + Pro 4, see [Surface storage options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com. |\\n| Sensors | Six sensors\u2014 accelerometer, magnetometer, + gyro, ambient light sensor, Hall effect, Wi-Fi SAR\u2014let apps do things + like track motion and determine location. |\",\n \"confidenceScore\": + 100.0,\n \"id\": 5,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {},\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": [\n {\n \"displayOrder\": 0,\n \"qnaId\": + 6,\n \"displayText\": \"Software\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 7,\n \"displayText\": + \"Processor\"\n },\n {\n \"displayOrder\": 2,\n + \ \"qnaId\": 8,\n \"displayText\": \"Memory and storage\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 9,\n \"displayText\": \"Sensors\"\n }\n ]\n }\n + \ },\n {\n \"questions\": [\n \"Connect monitors, accessories, + and other devices\"\n ],\n \"answer\": \"**Connect monitors, accessories, + and other devices**\\n\\nYou can connect monitors, accessories, and other + devices directly to your Surface Pro 4 using the USB port, Mini DisplayPort, + or Bluetooth. Or, connect everything to a Surface Dock (sold separately). + With Surface Dock, you can switch between fully connected and fully mobile + with a single connector.\",\n \"confidenceScore\": 46.59,\n \"id\": + 64,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"connect monitors, accessories, and + other devices\"\n },\n \"dialog\": {\n \"isContextOnly\": + false,\n \"prompts\": [\n {\n \"displayOrder\": + 0,\n \"qnaId\": 65,\n \"displayText\": \"Set up your + workspace with Surface Dock\"\n },\n {\n \"displayOrder\": + 1,\n \"qnaId\": 66,\n \"displayText\": \"Connect or + project to a monitor, screen, or other display\"\n }\n ]\n + \ }\n },\n {\n \"questions\": [\n \"Projector or monitor.\"\n + \ ],\n \"answer\": \"If your monitor has a DisplayPort, you can connect + it to your Surface using a DisplayPort to Mini DisplayPort cable (sold separately). + If your monitor doesn\u2019t have a DisplayPort or HDMI port, use a VGA cable + and the Mini DisplayPort to VGA Adapter.\\n\\nNote: A VGA adapter or cable + is for video only. Audio will play from your Surface speakers unless you\u2019ve + connected external speakers. For more info about this, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\",\n \"confidenceScore\": 43.97,\n \"id\": 68,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {},\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: 6ac46b21-848e-4ba3-9bee-57780f0a6f97 + content-length: '7123' + content-type: application/json; charset=utf-8 + date: Fri, 25 Jun 2021 19:41:14 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '267' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_bad_request.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_bad_request.yaml new file mode 100644 index 000000000000..af9de17280ea --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_bad_request.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"qna_id": 19}' + headers: + Accept: + - application/json + Content-Length: + - '14' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"error\": {\n \"code\": \"BadArgument\",\n \"message\": + \"Invalid input. See details.\",\n \"details\": [\n {\n \"code\": + \"ValidationFailure\",\n \"message\": \"'Question' must not be empty.\",\n + \ \"target\": \"Question\"\n }\n ]\n }\n}" + headers: + apim-request-id: 984a747d-795f-4205-bc2e-d2a799efb4ff + content-length: '250' + content-type: application/json; charset=utf-8 + date: Wed, 30 Jun 2021 18:12:33 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '12' + status: + code: 400 + message: Bad Request + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_llc.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_llc.yaml new file mode 100644 index 000000000000..7358da834cbe --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_llc.yaml @@ -0,0 +1,114 @@ +interactions: +- request: + body: '{"question": "Ports and connectors", "top": 3, "context": {"previousUserQuery": + "Meet Surface Pro 4", "previousQnAId": 4}}' + headers: + Accept: + - application/json + Content-Length: + - '122' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Ports + and connectors\"\n ],\n \"answer\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone. For more info, see [Connect a USB mouse,](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + [printer, and more](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + on Surface.com.\\n\\nSurface Connect When your battery is low, attach the + included power supply to the Surface Connect charging port. For more info, + see [Surface battery](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + [and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\\n\\nIf you use the Surface Dock (sold separately), you connect + your Surface to the dock through the Surface Connect charging and docking + connector to transmit power and data. For more info, see [Using Surface Dock](http://www.microsoft.com/surface/support/hardware-and-drivers/docking-station-surface-dock) + on Surface.com.\\n\\nMicroSD card slot Use the microSD card slot and a microSD + card (sold separately) for file transfer and extra storage. For more info, + see [Surface storage](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + [options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com.\\n\\nMini DisplayPort version 1.2 Share what\u2019s on your + Surface screen by connecting it to an HDTV, monitor, or projector. (Video + adapters are sold separately.) For more info, see [Connect Surface to a TV, + monitor, or projector](https://www.microsoft.com/surface/support/music-photos-and-video/connect-surface-to-a-tv-display-or-projector) + on Surface.com.\\n\\n3.5 mm headset jack Plug in your favorite headset for + a little more privacy when listening to music or conference calls. For more + info, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\\n\\nCover connectors Click in the thin, light, Type Cover + for Surface Pro 4 (sold separately) so you\u2019ll always have a keyboard + when you\u2019re on the go. For more info, see [Type Cover](http://www.microsoft.com/surface/support/hardware-and-drivers/type-cover) + on Surface.com.\\n\\n| Software | Windows 10 Pro operating system Windows + 10 provides new features and many options for entertainment and productivity + at school, at home, or while you\u2019re on the go. To learn more about Windows, + see [Get started with Windows 10](http://windows.microsoft.com/en-us/windows-10/getstarted-whatsnew-cortana) + on Windows.com. Apps You can use the built-in apps featured on your Start + menu and install more apps from the Windows Store. To learn more, see [All + about](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + [apps and get more apps](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + on Surface.com. You can also install and use all your favorite desktop apps + on your Surface Pro 4. For more info, see [Install and uninstall apps on Surface](http://www.microsoft.com/surface/support/apps-and-windows-store/install-apps-and-programs) + on Surface.com. |\\n| --- | --- |\\n| Processor | The 6th-generation Intel + Core processor provides speed and power for smooth, fast performance. |\\n| + Memory and storage | Surface Pro 4 is available in configurations with up + to 16 GB of RAM and 512 GB storage. See [Surface storage](http://www.microsoft.com/surface/support/storage) + [on Surface.com](http://www.microsoft.com/surface/support/storage) for info + on available disk space. To learn about additional storage options for Surface + Pro 4, see [Surface storage options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com. |\\n| Sensors | Six sensors\u2014 accelerometer, magnetometer, + gyro, ambient light sensor, Hall effect, Wi-Fi SAR\u2014let apps do things + like track motion and determine location. |\",\n \"confidenceScore\": + 100.0,\n \"id\": 5,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {},\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": [\n {\n \"displayOrder\": 0,\n \"qnaId\": + 6,\n \"displayText\": \"Software\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 7,\n \"displayText\": + \"Processor\"\n },\n {\n \"displayOrder\": 2,\n + \ \"qnaId\": 8,\n \"displayText\": \"Memory and storage\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 9,\n \"displayText\": \"Sensors\"\n }\n ]\n }\n + \ },\n {\n \"questions\": [\n \"Connect monitors, accessories, + and other devices\"\n ],\n \"answer\": \"**Connect monitors, accessories, + and other devices**\\n\\nYou can connect monitors, accessories, and other + devices directly to your Surface Pro 4 using the USB port, Mini DisplayPort, + or Bluetooth. Or, connect everything to a Surface Dock (sold separately). + With Surface Dock, you can switch between fully connected and fully mobile + with a single connector.\",\n \"confidenceScore\": 46.59,\n \"id\": + 64,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"connect monitors, accessories, and + other devices\"\n },\n \"dialog\": {\n \"isContextOnly\": + false,\n \"prompts\": [\n {\n \"displayOrder\": + 0,\n \"qnaId\": 65,\n \"displayText\": \"Set up your + workspace with Surface Dock\"\n },\n {\n \"displayOrder\": + 1,\n \"qnaId\": 66,\n \"displayText\": \"Connect or + project to a monitor, screen, or other display\"\n }\n ]\n + \ }\n },\n {\n \"questions\": [\n \"Projector or monitor.\"\n + \ ],\n \"answer\": \"If your monitor has a DisplayPort, you can connect + it to your Surface using a DisplayPort to Mini DisplayPort cable (sold separately). + If your monitor doesn\u2019t have a DisplayPort or HDMI port, use a VGA cable + and the Mini DisplayPort to VGA Adapter.\\n\\nNote: A VGA adapter or cable + is for video only. Audio will play from your Surface speakers unless you\u2019ve + connected external speakers. For more info about this, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\",\n \"confidenceScore\": 43.97,\n \"id\": 68,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {},\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: 2cd167a8-d3e3-4d78-974e-616149e71052 + content-length: '7123' + content-type: application/json; charset=utf-8 + date: Fri, 25 Jun 2021 19:41:15 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '252' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_llc_with_answerspan.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_llc_with_answerspan.yaml new file mode 100644 index 000000000000..f7d93b4a9d2d --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_llc_with_answerspan.yaml @@ -0,0 +1,124 @@ +interactions: +- request: + body: '{"question": "Ports and connectors", "top": 3, "context": {"previousUserQuery": + "Meet Surface Pro 4", "previousQnAId": 4}, "answerSpanRequest": {"enable": true, + "confidenceScoreThreshold": 0.1, "topAnswersWithSpan": 2}}' + headers: + Accept: + - application/json + Content-Length: + - '219' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Ports + and connectors\"\n ],\n \"answer\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone. For more info, see [Connect a USB mouse,](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + [printer, and more](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + on Surface.com.\\n\\nSurface Connect When your battery is low, attach the + included power supply to the Surface Connect charging port. For more info, + see [Surface battery](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + [and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\\n\\nIf you use the Surface Dock (sold separately), you connect + your Surface to the dock through the Surface Connect charging and docking + connector to transmit power and data. For more info, see [Using Surface Dock](http://www.microsoft.com/surface/support/hardware-and-drivers/docking-station-surface-dock) + on Surface.com.\\n\\nMicroSD card slot Use the microSD card slot and a microSD + card (sold separately) for file transfer and extra storage. For more info, + see [Surface storage](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + [options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com.\\n\\nMini DisplayPort version 1.2 Share what\u2019s on your + Surface screen by connecting it to an HDTV, monitor, or projector. (Video + adapters are sold separately.) For more info, see [Connect Surface to a TV, + monitor, or projector](https://www.microsoft.com/surface/support/music-photos-and-video/connect-surface-to-a-tv-display-or-projector) + on Surface.com.\\n\\n3.5 mm headset jack Plug in your favorite headset for + a little more privacy when listening to music or conference calls. For more + info, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\\n\\nCover connectors Click in the thin, light, Type Cover + for Surface Pro 4 (sold separately) so you\u2019ll always have a keyboard + when you\u2019re on the go. For more info, see [Type Cover](http://www.microsoft.com/surface/support/hardware-and-drivers/type-cover) + on Surface.com.\\n\\n| Software | Windows 10 Pro operating system Windows + 10 provides new features and many options for entertainment and productivity + at school, at home, or while you\u2019re on the go. To learn more about Windows, + see [Get started with Windows 10](http://windows.microsoft.com/en-us/windows-10/getstarted-whatsnew-cortana) + on Windows.com. Apps You can use the built-in apps featured on your Start + menu and install more apps from the Windows Store. To learn more, see [All + about](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + [apps and get more apps](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + on Surface.com. You can also install and use all your favorite desktop apps + on your Surface Pro 4. For more info, see [Install and uninstall apps on Surface](http://www.microsoft.com/surface/support/apps-and-windows-store/install-apps-and-programs) + on Surface.com. |\\n| --- | --- |\\n| Processor | The 6th-generation Intel + Core processor provides speed and power for smooth, fast performance. |\\n| + Memory and storage | Surface Pro 4 is available in configurations with up + to 16 GB of RAM and 512 GB storage. See [Surface storage](http://www.microsoft.com/surface/support/storage) + [on Surface.com](http://www.microsoft.com/surface/support/storage) for info + on available disk space. To learn about additional storage options for Surface + Pro 4, see [Surface storage options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com. |\\n| Sensors | Six sensors\u2014 accelerometer, magnetometer, + gyro, ambient light sensor, Hall effect, Wi-Fi SAR\u2014let apps do things + like track motion and determine location. |\",\n \"confidenceScore\": + 100.0,\n \"id\": 5,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {},\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": [\n {\n \"displayOrder\": 0,\n \"qnaId\": + 6,\n \"displayText\": \"Software\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 7,\n \"displayText\": + \"Processor\"\n },\n {\n \"displayOrder\": 2,\n + \ \"qnaId\": 8,\n \"displayText\": \"Memory and storage\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 9,\n \"displayText\": \"Sensors\"\n }\n ]\n },\n + \ \"answerSpan\": {\n \"text\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone.\",\n \"confidenceScore\": 1.06,\n \"offset\": + 0,\n \"length\": 206\n }\n },\n {\n \"questions\": + [\n \"Connect monitors, accessories, and other devices\"\n ],\n + \ \"answer\": \"**Connect monitors, accessories, and other devices**\\n\\nYou + can connect monitors, accessories, and other devices directly to your Surface + Pro 4 using the USB port, Mini DisplayPort, or Bluetooth. Or, connect everything + to a Surface Dock (sold separately). With Surface Dock, you can switch between + fully connected and fully mobile with a single connector.\",\n \"confidenceScore\": + 46.59,\n \"id\": 64,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"connect monitors, + accessories, and other devices\"\n },\n \"dialog\": {\n \"isContextOnly\": + false,\n \"prompts\": [\n {\n \"displayOrder\": + 0,\n \"qnaId\": 65,\n \"displayText\": \"Set up your + workspace with Surface Dock\"\n },\n {\n \"displayOrder\": + 1,\n \"qnaId\": 66,\n \"displayText\": \"Connect or + project to a monitor, screen, or other display\"\n }\n ]\n + \ },\n \"answerSpan\": {\n \"text\": \"**Connect monitors, + accessories, and other devices**\\n\\nYou can connect monitors, accessories, + and other devices directly to your Surface Pro 4 using the USB port, Mini + DisplayPort, or Bluetooth.\",\n \"confidenceScore\": 6.97,\n \"offset\": + 0,\n \"length\": 194\n }\n },\n {\n \"questions\": + [\n \"Projector or monitor.\"\n ],\n \"answer\": \"If your + monitor has a DisplayPort, you can connect it to your Surface using a DisplayPort + to Mini DisplayPort cable (sold separately). If your monitor doesn\u2019t + have a DisplayPort or HDMI port, use a VGA cable and the Mini DisplayPort + to VGA Adapter.\\n\\nNote: A VGA adapter or cable is for video only. Audio + will play from your Surface speakers unless you\u2019ve connected external + speakers. For more info about this, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\",\n \"confidenceScore\": 43.97,\n \"id\": 68,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {},\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: f0f3fc36-d981-4b26-a366-e77ba518a1bb + content-length: '7781' + content-type: application/json; charset=utf-8 + date: Fri, 25 Jun 2021 19:41:16 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '388' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_only_id.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_only_id.yaml new file mode 100644 index 000000000000..397adfac6cea --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_only_id.yaml @@ -0,0 +1,38 @@ +interactions: +- request: + body: '{"qnaId": 19}' + headers: + Accept: + - application/json + Content-Length: + - '13' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Charge + your Surface Pro 4\"\n ],\n \"answer\": \"**Charge your Surface + Pro 4**\\n\\n1. Connect the two parts of the power cord.\\n\\n2. Connect + the power cord securely to the charging port.\\n\\n3. Plug the power supply + into an electrical outlet.\",\n \"confidenceScore\": 1.0,\n \"id\": + 19,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"charge your surface pro 4\"\n },\n + \ \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: 82923f05-3c9f-416f-9855-2fbefa6085dc + content-length: '583' + content-type: application/json; charset=utf-8 + date: Wed, 30 Jun 2021 15:15:47 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '132' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_answerspan.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_answerspan.yaml new file mode 100644 index 000000000000..453c320799f8 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_answerspan.yaml @@ -0,0 +1,124 @@ +interactions: +- request: + body: '{"question": "Ports and connectors", "top": 3, "context": {"previousQnaId": + 4, "previousUserQuery": "Meet Surface Pro 4"}, "answerSpanRequest": {"enable": + true, "confidenceScoreThreshold": 0.1, "topAnswersWithSpan": 2}}' + headers: + Accept: + - application/json + Content-Length: + - '219' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Ports + and connectors\"\n ],\n \"answer\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone. For more info, see [Connect a USB mouse,](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + [printer, and more](http://www.microsoft.com/surface/support/hardware-and-drivers/connect-a-usb-phone-camera-mouse-and-more) + on Surface.com.\\n\\nSurface Connect When your battery is low, attach the + included power supply to the Surface Connect charging port. For more info, + see [Surface battery](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + [and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\\n\\nIf you use the Surface Dock (sold separately), you connect + your Surface to the dock through the Surface Connect charging and docking + connector to transmit power and data. For more info, see [Using Surface Dock](http://www.microsoft.com/surface/support/hardware-and-drivers/docking-station-surface-dock) + on Surface.com.\\n\\nMicroSD card slot Use the microSD card slot and a microSD + card (sold separately) for file transfer and extra storage. For more info, + see [Surface storage](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + [options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com.\\n\\nMini DisplayPort version 1.2 Share what\u2019s on your + Surface screen by connecting it to an HDTV, monitor, or projector. (Video + adapters are sold separately.) For more info, see [Connect Surface to a TV, + monitor, or projector](https://www.microsoft.com/surface/support/music-photos-and-video/connect-surface-to-a-tv-display-or-projector) + on Surface.com.\\n\\n3.5 mm headset jack Plug in your favorite headset for + a little more privacy when listening to music or conference calls. For more + info, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\\n\\nCover connectors Click in the thin, light, Type Cover + for Surface Pro 4 (sold separately) so you\u2019ll always have a keyboard + when you\u2019re on the go. For more info, see [Type Cover](http://www.microsoft.com/surface/support/hardware-and-drivers/type-cover) + on Surface.com.\\n\\n| Software | Windows 10 Pro operating system Windows + 10 provides new features and many options for entertainment and productivity + at school, at home, or while you\u2019re on the go. To learn more about Windows, + see [Get started with Windows 10](http://windows.microsoft.com/en-us/windows-10/getstarted-whatsnew-cortana) + on Windows.com. Apps You can use the built-in apps featured on your Start + menu and install more apps from the Windows Store. To learn more, see [All + about](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + [apps and get more apps](http://www.microsoft.com/surface/support/apps-and-windows-store/all-about-apps) + on Surface.com. You can also install and use all your favorite desktop apps + on your Surface Pro 4. For more info, see [Install and uninstall apps on Surface](http://www.microsoft.com/surface/support/apps-and-windows-store/install-apps-and-programs) + on Surface.com. |\\n| --- | --- |\\n| Processor | The 6th-generation Intel + Core processor provides speed and power for smooth, fast performance. |\\n| + Memory and storage | Surface Pro 4 is available in configurations with up + to 16 GB of RAM and 512 GB storage. See [Surface storage](http://www.microsoft.com/surface/support/storage) + [on Surface.com](http://www.microsoft.com/surface/support/storage) for info + on available disk space. To learn about additional storage options for Surface + Pro 4, see [Surface storage options](http://www.microsoft.com/surface/support/storage-files-and-folders/surface-storage-options) + on Surface.com. |\\n| Sensors | Six sensors\u2014 accelerometer, magnetometer, + gyro, ambient light sensor, Hall effect, Wi-Fi SAR\u2014let apps do things + like track motion and determine location. |\",\n \"confidenceScore\": + 100.0,\n \"id\": 5,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {},\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": [\n {\n \"displayOrder\": 0,\n \"qnaId\": + 6,\n \"displayText\": \"Software\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 7,\n \"displayText\": + \"Processor\"\n },\n {\n \"displayOrder\": 2,\n + \ \"qnaId\": 8,\n \"displayText\": \"Memory and storage\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 9,\n \"displayText\": \"Sensors\"\n }\n ]\n },\n + \ \"answerSpan\": {\n \"text\": \"**Ports and connectors**\\n\\nSurface + Pro 4 has the ports you expect in a full-feature laptop.\\n\\nFull-size USB + 3.0 port Connect a USB accessory like a mouse, printer, Ethernet adapter, + USB drive, or smartphone.\",\n \"confidenceScore\": 1.06,\n \"offset\": + 0,\n \"length\": 206\n }\n },\n {\n \"questions\": + [\n \"Connect monitors, accessories, and other devices\"\n ],\n + \ \"answer\": \"**Connect monitors, accessories, and other devices**\\n\\nYou + can connect monitors, accessories, and other devices directly to your Surface + Pro 4 using the USB port, Mini DisplayPort, or Bluetooth. Or, connect everything + to a Surface Dock (sold separately). With Surface Dock, you can switch between + fully connected and fully mobile with a single connector.\",\n \"confidenceScore\": + 46.59,\n \"id\": 64,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"connect monitors, + accessories, and other devices\"\n },\n \"dialog\": {\n \"isContextOnly\": + false,\n \"prompts\": [\n {\n \"displayOrder\": + 0,\n \"qnaId\": 65,\n \"displayText\": \"Set up your + workspace with Surface Dock\"\n },\n {\n \"displayOrder\": + 1,\n \"qnaId\": 66,\n \"displayText\": \"Connect or + project to a monitor, screen, or other display\"\n }\n ]\n + \ },\n \"answerSpan\": {\n \"text\": \"**Connect monitors, + accessories, and other devices**\\n\\nYou can connect monitors, accessories, + and other devices directly to your Surface Pro 4 using the USB port, Mini + DisplayPort, or Bluetooth.\",\n \"confidenceScore\": 6.97,\n \"offset\": + 0,\n \"length\": 194\n }\n },\n {\n \"questions\": + [\n \"Projector or monitor.\"\n ],\n \"answer\": \"If your + monitor has a DisplayPort, you can connect it to your Surface using a DisplayPort + to Mini DisplayPort cable (sold separately). If your monitor doesn\u2019t + have a DisplayPort or HDMI port, use a VGA cable and the Mini DisplayPort + to VGA Adapter.\\n\\nNote: A VGA adapter or cable is for video only. Audio + will play from your Surface speakers unless you\u2019ve connected external + speakers. For more info about this, see [Surface sound,](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + [volume, and audio accessories](http://www.microsoft.com/surface/support/hardware-and-drivers/sound-volume-and-speakers) + on Surface.com.\",\n \"confidenceScore\": 43.97,\n \"id\": 68,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {},\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: 375616dd-f630-4153-9fae-7f9790285734 + content-length: '7781' + content-type: application/json; charset=utf-8 + date: Fri, 25 Jun 2021 19:41:17 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '343' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_dictparams.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_dictparams.yaml new file mode 100644 index 000000000000..0f45d6180d45 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_dictparams.yaml @@ -0,0 +1,54 @@ +interactions: +- request: + body: '{"question": "How long should my Surface battery last?", "top": 3, "userId": + "sd53lsY=", "confidenceScoreThreshold": 0.2, "answerSpanRequest": {"enable": + true, "confidenceScoreThreshold": 0.2, "topAnswersWithSpan": 1}, "includeUnstructuredSources": + true}' + headers: + Accept: + - application/json + Content-Length: + - '254' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Make + your battery last\"\n ],\n \"answer\": \"**Make your battery last**\\n\\nFor + info on how to care for your battery and power supply, conserve power, and + make your Surface battery last longer, see [Surface battery and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\",\n \"confidenceScore\": 0.9292,\n \"id\": 27,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"make your battery last\"\n },\n + \ \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n },\n {\n \"questions\": [\n \"Check the battery + level\"\n ],\n \"answer\": \"**Check the battery level**\\n\\nYou + can check the battery level from the lock screen or the desktop:\",\n \"confidenceScore\": + 0.3583,\n \"id\": 24,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"check the battery + level\"\n },\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": []\n }\n },\n {\n \"questions\": [\n + \ \"Desktop taskbar.\"\n ],\n \"answer\": \"**Desktop taskbar.**\\n\\nBattery + status appears at the right side of the taskbar. Select the battery icon for + info about the charging and battery status, including the percent remaining. + \u272A\",\n \"confidenceScore\": 0.2229,\n \"id\": 26,\n \"source\": + \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": {},\n \"dialog\": + {\n \"isContextOnly\": false,\n \"prompts\": []\n }\n }\n + \ ]\n}" + headers: + apim-request-id: d3136678-d454-41f9-b064-ebf1b207e82b + content-length: '1609' + content-type: application/json; charset=utf-8 + date: Wed, 30 Jun 2021 15:36:56 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '949' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_followup.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_followup.yaml new file mode 100644 index 000000000000..f52047a64514 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_knowledgebase_async.test_query_knowledgebase_with_followup.yaml @@ -0,0 +1,115 @@ +interactions: +- request: + body: '{"question": "How long should my Surface battery last?", "top": 3, "userId": + "sd53lsY=", "confidenceScoreThreshold": 0.2, "answerSpanRequest": {"enable": + true, "confidenceScoreThreshold": 0.2, "topAnswersWithSpan": 1}, "includeUnstructuredSources": + true}' + headers: + Accept: + - application/json + Content-Length: + - '254' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Make + your battery last\"\n ],\n \"answer\": \"**Make your battery last**\\n\\nFor + info on how to care for your battery and power supply, conserve power, and + make your Surface battery last longer, see [Surface battery and power](http://www.microsoft.com/surface/support/hardware-and-drivers/battery-and-power) + on Surface.com.\",\n \"confidenceScore\": 0.9292,\n \"id\": 27,\n + \ \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"make your battery last\"\n },\n + \ \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n },\n {\n \"questions\": [\n \"Check the battery + level\"\n ],\n \"answer\": \"**Check the battery level**\\n\\nYou + can check the battery level from the lock screen or the desktop:\",\n \"confidenceScore\": + 0.3583,\n \"id\": 24,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"check the battery + level\"\n },\n \"dialog\": {\n \"isContextOnly\": false,\n + \ \"prompts\": []\n }\n },\n {\n \"questions\": [\n + \ \"Desktop taskbar.\"\n ],\n \"answer\": \"**Desktop taskbar.**\\n\\nBattery + status appears at the right side of the taskbar. Select the battery icon for + info about the charging and battery status, including the percent remaining. + \u272A\",\n \"confidenceScore\": 0.2229,\n \"id\": 26,\n \"source\": + \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": {},\n \"dialog\": + {\n \"isContextOnly\": false,\n \"prompts\": []\n }\n }\n + \ ]\n}" + headers: + apim-request-id: 7cd6d31a-771e-4cdb-a6be-7a1504295914 + content-length: '1609' + content-type: application/json; charset=utf-8 + date: Wed, 30 Jun 2021 15:14:34 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '970' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +- request: + body: '{"question": "How long it takes to charge Surface?", "top": 3, "userId": + "sd53lsY=", "confidenceScoreThreshold": 0.2, "context": {"previousQnaId": 27, + "previousUserQuery": "How long should my Surface battery last?"}, "answerSpanRequest": + {"enable": true, "confidenceScoreThreshold": 0.2, "topAnswersWithSpan": 1}, + "includeUnstructuredSources": true}' + headers: + Accept: + - application/json + Content-Length: + - '349' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=test-project&deploymentName=test&api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"questions\": [\n \"Power + and charging\"\n ],\n \"answer\": \"**Power and charging**\\n\\nIt + takes two to four hours to charge the Surface Pro 4 battery fully from an + empty state. It can take longer if you\u2019re using your Surface for power-intensive + activities like gaming or video streaming while you\u2019re charging it.\\n\\nYou + can use the USB port on your Surface Pro 4 power supply to charge other devices, + like a phone, while your Surface charges. The USB port on the power supply + is only for charging, not for data transfer. If you want to use a USB device, + plug it into the USB port on your Surface.\",\n \"confidenceScore\": + 0.6545000000000001,\n \"id\": 23,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n + \ \"metadata\": {\n \"explicitlytaggedheading\": \"power and charging\"\n + \ },\n \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + [\n {\n \"displayOrder\": 0,\n \"qnaId\": 24,\n + \ \"displayText\": \"Check the battery level\"\n },\n {\n + \ \"displayOrder\": 1,\n \"qnaId\": 25,\n \"displayText\": + \"Lock screen.\"\n },\n {\n \"displayOrder\": + 2,\n \"qnaId\": 26,\n \"displayText\": \"Desktop taskbar.\"\n + \ },\n {\n \"displayOrder\": 3,\n \"qnaId\": + 27,\n \"displayText\": \"Make your battery last\"\n }\n + \ ]\n },\n \"answerSpan\": {\n \"text\": \"two to four + hours\",\n \"confidenceScore\": 30.86,\n \"offset\": 33,\n \"length\": + 18\n }\n },\n {\n \"questions\": [\n \"Charge your + Surface Pro 4\"\n ],\n \"answer\": \"**Charge your Surface Pro 4**\\n\\n1. + \ Connect the two parts of the power cord.\\n\\n2. Connect the power cord + securely to the charging port.\\n\\n3. Plug the power supply into an electrical + outlet.\",\n \"confidenceScore\": 0.31989999999999996,\n \"id\": + 19,\n \"source\": \"surface-pro-4-user-guide-EN.pdf\",\n \"metadata\": + {\n \"explicitlytaggedheading\": \"charge your surface pro 4\"\n },\n + \ \"dialog\": {\n \"isContextOnly\": false,\n \"prompts\": + []\n }\n }\n ]\n}" + headers: + apim-request-id: db4190a2-426a-4932-8d83-dd14b10f4b37 + content-length: '2177' + content-type: application/json; charset=utf-8 + date: Wed, 30 Jun 2021 15:14:35 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '1060' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c&deploymentName=test&api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text.yaml new file mode 100644 index 000000000000..0b344818fda5 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text.yaml @@ -0,0 +1,161 @@ +interactions: +- request: + body: '{"question": "What is the meaning of life?", "records": [{"id": "doc1", + "text": "abc Graphics Surprise, surprise -- our 4K "}, {"id": "doc2", "text": + "e graphics card. While the Nvidia GeForce MX250 GPU isn''t meant for demanding + gaming, it is a step up from integrated graphics as proven by comparing it to + the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 + on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading + to the discrete graphics gives the Envy 13 better performance than the Notebook + 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium + laptop average (86,937). While the Nvidia GeForce MX250 GPU isn''t meant for + demanding gaming, it is a step up from integrated graphics as proven by comparing + it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at + 92 frames per second on "}, {"id": "doc3", "text": "Graphics Surprise, surprise + -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce + MX250 GPU isn''t meant for demanding gaming, it is a step up from integrated + graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The + MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark + while the base model scored a 82,270. Upgrading to the discrete graphics gives + the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface + Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While + the Nvidia GeForce MX250 GPU isn''t meant for demanding gaming, it is a step + up from integrated graphics as proven by comparing it to the UHD 620 GPU in + the FHD model. We played the racing game Dirt 3 at 92 frames per second on + the MX250 model, which is well above our 30-fps playability, the category average + (69 fps) and what the Surface Laptop 2 (82 fps) achieved. The ZenBook S UX391UA + (45 fps) fell flat on this real-world test but ran better than the base model + Envy 13 (31 fps). Audio I had a good ol'' time groovin'' to the sound of the + Envy 13''s crisp speakers. HP went all out with the Envy, placing dual speakers + on the underside of the chassis along with a third, top-firing driver above + the keyboard. Devon Gilfillian''s funky jam \"Here and Now\" boomed smooth, + soulful tunes throughout my small apartment. The twang of the electric guitar + played nicely with the thudding percussion but never overshadowed Gilfillian + or the female backup vocals. Bang & Olufsen software comes preinstalled on + the Envy 13, with equalizer controls so you can adjust the bass, midrange and + treble to your liking. But even out of the box, you''ll enjoy great sound without + having to bust out your headphones. Battery Life Get an Envy 13 with the 1080p + non-touch display if battery life is important to you. The FHD model endured + for 11 hours and 11 minutes whereas the 4K model lasted only 4 hours and 36 + minutes on our battery test, which involves continuous web browsing over Wi-Fi + at 150 nits of brightness. MORE: Laptops with Best Battery Life - Longest + Lasting Laptop Batteries Competing laptops like the ZenBook S UX391UA (7:05), + Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) outstayed the 4K Envy 13 but + powered down long before the 1080p version. Webcam The 720p webcam on the + Envy 13 is nothing to write home about. A selfie I snapped in my dimly lit room + was covered in a haze of visual noise. My beard and hair were unkempt blobs, + while my eyes looked like they were drawn on by a pointillist painter. If there''s + one positive, it''s that the lens captures natural colors and even extracted + the different shades of gray in my T-shirt. On the right edge of the Envy + 13 is a physical kill switch that cuts the power to the webcam so you can feel + reassured that nobody is snooping on you. Heat Leave the lapdesk at home + - you don''t have to worry about the Envy 13 overheating. After I played + a 15-minute, full-HD video in full screen, the touchpad on the HP Envy 13 with + a Core i7 CPU rose to only 83 degrees Fahrenheit while the keyboard (87 degrees) + and underside (90 degrees) also remained well below our 95-degree comfort threshold. + Even the toastiest part of the machine, the lower-left edge on the underside, + topped out at 94 degrees. Software and Warranty It''s a shame that a laptop + with such beautiful hardware ships with such ugly software. Pre-installed on + this machine are entirely too many programs that could either be packaged together + or omitted altogether. HP provides an app called Audio Switch, which simply + lets you switch your audio input/output between the internal speakers and headphones. + As the same implies, HP''s Command Center is where you can get information about + your Envy 13 but also switch the thermal profiles between comfort and performance. + Along with support documentation, HP also bundles in a setup program called + JumpStart, a program for connecting printers and a redundant system-info app + called Event Utility. Also installed on the Envy 13''s Windows 10 Home OS + are several Microsoft apps, including Simple Solitaire, Candy Crush Friends + and Your Phone. Other third-party apps include Booking.com, Netflix and McAfee + Security. HP ships the Envy 13 with a one-year warranty. See how HP did on + our Tech Support Showdown and Best and Worst Brands ranking. Bottom Line The + Envy 13 has cemented its standing as the ultimate laptop for college students + or travelers. Along with 11-plus hours of battery life (on the FHD model), the + Envy 13 has a sleek, ultraportable chassis, fast performance, and powerful speakers. + Best of all, the Envy 13 starts at a reasonable $799, which is hundreds less + than the competition. In many ways, the Envy 13 is what we wanted the new MacBook + Air to be. The new HP Envy 13 is everything I was hoping the new MacBook Air + would be: fast, attractive and affordable. Just be sure to buy the right model. + We strongly recommend the 1080p version over the 4K model because it lasts several + hours longer on a charge and costs less. In fact, if we were reviewing the 4K + model separately, we''d only give it a 3.5 rating. You should also consider + the Envy 13 with a 10th Gen CPU, although we haven''t gotten the chance to review + it yet. If you absolutely need a high-res display, the 4K Envy 13 is one of + many good options. We also recommend the Samsung Notebook 9 Pro, which has a + similarly premium design but much better battery life than the 4K Envy. The + Microsoft Surface Laptop 2 is another recommended alternative, though you might + want to wait a few months for the rumored Surface Laptop 3. Overall, the HP + Envy 13 is a fantastic laptop that checks all the right boxes --- as long as + you buy the 1080p model. Credit: Laptop Mag HP Envy 13 (2019) Specs BluetoothBluetooth + 5.0 BrandHP CPUIntel Core i7-8565U Card SlotsmicroSD Company Websitehttps://www8.hp.com/us/en/home.html + Display Size13.3 Graphics CardNvidia GeForce MX250 Hard Drive Size512GB Hard + Drive TypePCIe NVMe M.2 Highest Available Resolution3840 x 2160 Native Resolution3840 + x 2160 Operating SystemWindows 10 Home Ports (excluding USB)USB 3.1 with Type-C, + USB 3.1 Always-On, USB 3.1, Headphone/Mic, microSD RAM16GB RAM Upgradable to16GB + Size12.1 x 8.3 x .57 inches Touchpad Size4.3 x 2.2 inches USB Ports3 Video Memory2GB + Warranty/Supportone-year warranty. Weight2.8 pounds Wi-Fi802.11ac Wi-Fi ModelIntel + Wireless-AC 9560 "}], "language": "en", "stringIndexType": "TextElements_v8"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '7447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"answer\": \"Battery Life Get an + Envy 13 with the 1080p non-touch display if battery life is important to you. + \ The FHD model endured for 11 hours and 11 minutes whereas the 4K model + lasted only 4 hours and 36 minutes on our battery test, which involves continuous + web browsing over Wi-Fi at 150 nits of brightness. MORE: Laptops with Best + Battery Life - Longest Lasting Laptop Batteries Competing laptops like the + ZenBook S UX391UA (7:05), Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) + outstayed the 4K Envy 13 but powered down long before the 1080p version.\",\n + \ \"confidenceScore\": 0.01745828054845333,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"Battery Life\",\n \"confidenceScore\": + 0.26247412,\n \"offset\": 0,\n \"length\": 12\n },\n \"offset\": + 1779,\n \"length\": 555\n },\n {\n \"answer\": \"Along with + 11-plus hours of battery life (on the FHD model), the Envy 13 has a sleek, + ultraportable chassis, fast performance, and powerful speakers. Best of all, + the Envy 13 starts at a reasonable $799, which is hundreds less than the competition. + In many ways, the Envy 13 is what we wanted the new MacBook Air to be.\",\n + \ \"confidenceScore\": 0.00940172653645277,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"battery life\",\n \"confidenceScore\": + 0.35305238,\n \"offset\": 27,\n \"length\": 13\n },\n \"offset\": + 4508,\n \"length\": 319\n },\n {\n \"answer\": \"We also recommend + the Samsung Notebook 9 Pro, which has a similarly premium design but much + better battery life than the 4K Envy. The Microsoft Surface Laptop 2 is another + recommended alternative, though you might want to wait a few months for the + rumored Surface Laptop 3. Overall, the HP Envy 13 is a fantastic laptop + that checks all the right boxes --- as long as you buy the 1080p model.\",\n + \ \"confidenceScore\": 0.0070572528056800365,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"battery life\",\n \"confidenceScore\": + 0.59143245,\n \"offset\": 98,\n \"length\": 13\n },\n \"offset\": + 5391,\n \"length\": 393\n }\n ]\n}" + headers: + apim-request-id: + - b7473b1a-9903-42a4-897f-d095ddfc68f8 + content-length: + - '2147' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Jun 2021 19:41:18 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '322' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text_llc.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text_llc.yaml new file mode 100644 index 000000000000..7d7c2b48a8e8 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text_llc.yaml @@ -0,0 +1,161 @@ +interactions: +- request: + body: '{"question": "What is the meaning of life?", "records": [{"text": "abc + Graphics Surprise, surprise -- our 4K ", "id": "doc1"}, {"text": "e graphics + card. While the Nvidia GeForce MX250 GPU isn''t meant for demanding gaming, + it is a step up from integrated graphics as proven by comparing it to the UHD + 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the + Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading + to the discrete graphics gives the Envy 13 better performance than the Notebook + 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium + laptop average (86,937). While the Nvidia GeForce MX250 GPU isn''t meant for + demanding gaming, it is a step up from integrated graphics as proven by comparing + it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at + 92 frames per second on ", "id": "doc2"}, {"text": "Graphics Surprise, surprise + -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce + MX250 GPU isn''t meant for demanding gaming, it is a step up from integrated + graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The + MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark + while the base model scored a 82,270. Upgrading to the discrete graphics gives + the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface + Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While + the Nvidia GeForce MX250 GPU isn''t meant for demanding gaming, it is a step + up from integrated graphics as proven by comparing it to the UHD 620 GPU in + the FHD model. We played the racing game Dirt 3 at 92 frames per second on + the MX250 model, which is well above our 30-fps playability, the category average + (69 fps) and what the Surface Laptop 2 (82 fps) achieved. The ZenBook S UX391UA + (45 fps) fell flat on this real-world test but ran better than the base model + Envy 13 (31 fps). Audio I had a good ol'' time groovin'' to the sound of the + Envy 13''s crisp speakers. HP went all out with the Envy, placing dual speakers + on the underside of the chassis along with a third, top-firing driver above + the keyboard. Devon Gilfillian''s funky jam \"Here and Now\" boomed smooth, + soulful tunes throughout my small apartment. The twang of the electric guitar + played nicely with the thudding percussion but never overshadowed Gilfillian + or the female backup vocals. Bang & Olufsen software comes preinstalled on + the Envy 13, with equalizer controls so you can adjust the bass, midrange and + treble to your liking. But even out of the box, you''ll enjoy great sound without + having to bust out your headphones. Battery Life Get an Envy 13 with the 1080p + non-touch display if battery life is important to you. The FHD model endured + for 11 hours and 11 minutes whereas the 4K model lasted only 4 hours and 36 + minutes on our battery test, which involves continuous web browsing over Wi-Fi + at 150 nits of brightness. MORE: Laptops with Best Battery Life - Longest + Lasting Laptop Batteries Competing laptops like the ZenBook S UX391UA (7:05), + Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) outstayed the 4K Envy 13 but + powered down long before the 1080p version. Webcam The 720p webcam on the + Envy 13 is nothing to write home about. A selfie I snapped in my dimly lit room + was covered in a haze of visual noise. My beard and hair were unkempt blobs, + while my eyes looked like they were drawn on by a pointillist painter. If there''s + one positive, it''s that the lens captures natural colors and even extracted + the different shades of gray in my T-shirt. On the right edge of the Envy + 13 is a physical kill switch that cuts the power to the webcam so you can feel + reassured that nobody is snooping on you. Heat Leave the lapdesk at home + - you don''t have to worry about the Envy 13 overheating. After I played + a 15-minute, full-HD video in full screen, the touchpad on the HP Envy 13 with + a Core i7 CPU rose to only 83 degrees Fahrenheit while the keyboard (87 degrees) + and underside (90 degrees) also remained well below our 95-degree comfort threshold. + Even the toastiest part of the machine, the lower-left edge on the underside, + topped out at 94 degrees. Software and Warranty It''s a shame that a laptop + with such beautiful hardware ships with such ugly software. Pre-installed on + this machine are entirely too many programs that could either be packaged together + or omitted altogether. HP provides an app called Audio Switch, which simply + lets you switch your audio input/output between the internal speakers and headphones. + As the same implies, HP''s Command Center is where you can get information about + your Envy 13 but also switch the thermal profiles between comfort and performance. + Along with support documentation, HP also bundles in a setup program called + JumpStart, a program for connecting printers and a redundant system-info app + called Event Utility. Also installed on the Envy 13''s Windows 10 Home OS + are several Microsoft apps, including Simple Solitaire, Candy Crush Friends + and Your Phone. Other third-party apps include Booking.com, Netflix and McAfee + Security. HP ships the Envy 13 with a one-year warranty. See how HP did on + our Tech Support Showdown and Best and Worst Brands ranking. Bottom Line The + Envy 13 has cemented its standing as the ultimate laptop for college students + or travelers. Along with 11-plus hours of battery life (on the FHD model), the + Envy 13 has a sleek, ultraportable chassis, fast performance, and powerful speakers. + Best of all, the Envy 13 starts at a reasonable $799, which is hundreds less + than the competition. In many ways, the Envy 13 is what we wanted the new MacBook + Air to be. The new HP Envy 13 is everything I was hoping the new MacBook Air + would be: fast, attractive and affordable. Just be sure to buy the right model. + We strongly recommend the 1080p version over the 4K model because it lasts several + hours longer on a charge and costs less. In fact, if we were reviewing the 4K + model separately, we''d only give it a 3.5 rating. You should also consider + the Envy 13 with a 10th Gen CPU, although we haven''t gotten the chance to review + it yet. If you absolutely need a high-res display, the 4K Envy 13 is one of + many good options. We also recommend the Samsung Notebook 9 Pro, which has a + similarly premium design but much better battery life than the 4K Envy. The + Microsoft Surface Laptop 2 is another recommended alternative, though you might + want to wait a few months for the rumored Surface Laptop 3. Overall, the HP + Envy 13 is a fantastic laptop that checks all the right boxes --- as long as + you buy the 1080p model. Credit: Laptop Mag HP Envy 13 (2019) Specs BluetoothBluetooth + 5.0 BrandHP CPUIntel Core i7-8565U Card SlotsmicroSD Company Websitehttps://www8.hp.com/us/en/home.html + Display Size13.3 Graphics CardNvidia GeForce MX250 Hard Drive Size512GB Hard + Drive TypePCIe NVMe M.2 Highest Available Resolution3840 x 2160 Native Resolution3840 + x 2160 Operating SystemWindows 10 Home Ports (excluding USB)USB 3.1 with Type-C, + USB 3.1 Always-On, USB 3.1, Headphone/Mic, microSD RAM16GB RAM Upgradable to16GB + Size12.1 x 8.3 x .57 inches Touchpad Size4.3 x 2.2 inches USB Ports3 Video Memory2GB + Warranty/Supportone-year warranty. Weight2.8 pounds Wi-Fi802.11ac Wi-Fi ModelIntel + Wireless-AC 9560 ", "id": "doc3"}], "language": "en"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '7409' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"answer\": \"Battery Life Get an + Envy 13 with the 1080p non-touch display if battery life is important to you. + \ The FHD model endured for 11 hours and 11 minutes whereas the 4K model + lasted only 4 hours and 36 minutes on our battery test, which involves continuous + web browsing over Wi-Fi at 150 nits of brightness. MORE: Laptops with Best + Battery Life - Longest Lasting Laptop Batteries Competing laptops like the + ZenBook S UX391UA (7:05), Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) + outstayed the 4K Envy 13 but powered down long before the 1080p version.\",\n + \ \"confidenceScore\": 0.017458289861679077,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"Battery Life\",\n \"confidenceScore\": + 0.26247412,\n \"offset\": 0,\n \"length\": 12\n },\n \"offset\": + 1779,\n \"length\": 555\n },\n {\n \"answer\": \"Along with + 11-plus hours of battery life (on the FHD model), the Envy 13 has a sleek, + ultraportable chassis, fast performance, and powerful speakers. Best of all, + the Envy 13 starts at a reasonable $799, which is hundreds less than the competition. + In many ways, the Envy 13 is what we wanted the new MacBook Air to be.\",\n + \ \"confidenceScore\": 0.00940172653645277,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"battery life\",\n \"confidenceScore\": + 0.35305238,\n \"offset\": 27,\n \"length\": 13\n },\n \"offset\": + 4508,\n \"length\": 319\n },\n {\n \"answer\": \"We also recommend + the Samsung Notebook 9 Pro, which has a similarly premium design but much + better battery life than the 4K Envy. The Microsoft Surface Laptop 2 is another + recommended alternative, though you might want to wait a few months for the + rumored Surface Laptop 3. Overall, the HP Envy 13 is a fantastic laptop + that checks all the right boxes --- as long as you buy the 1080p model.\",\n + \ \"confidenceScore\": 0.007057250943034887,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"battery life\",\n \"confidenceScore\": + 0.59143245,\n \"offset\": 98,\n \"length\": 13\n },\n \"offset\": + 5391,\n \"length\": 393\n }\n ]\n}" + headers: + apim-request-id: + - eae82c61-0d7f-4130-8c21-680060b8a75d + content-length: + - '2147' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Jun 2021 19:41:19 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '287' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text_with_dictparams.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text_with_dictparams.yaml new file mode 100644 index 000000000000..6d243459afcd --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text.test_query_text_with_dictparams.yaml @@ -0,0 +1,67 @@ +interactions: +- request: + body: '{"question": "How long it takes to charge surface?", "records": [{"text": + "Power and charging. It takes two to four hours to charge the Surface Pro 4 + battery fully from an empty state. It can take longer if you\u2019re using your + Surface for power-intensive activities like gaming or video streaming while + you\u2019re charging it.", "id": "1"}, {"text": "You can use the USB port on + your Surface Pro 4 power supply to charge other devices, like a phone, while + your Surface charges. The USB port on the power supply is only for charging, + not for data transfer. If you want to use a USB device, plug it into the USB + port on your Surface.", "id": "2"}], "language": "en"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '668' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"answer\": \"Power and charging. + It takes two to four hours to charge the Surface Pro 4 battery fully from + an empty state. It can take longer if you\u2019re using your Surface for power-intensive + activities like gaming or video streaming while you\u2019re charging it.\",\n + \ \"confidenceScore\": 0.9298818707466125,\n \"id\": \"1\",\n \"answerSpan\": + {\n \"text\": \"two to four hours\",\n \"confidenceScore\": + 0.98579097,\n \"offset\": 28,\n \"length\": 18\n },\n \"offset\": + 0,\n \"length\": 245\n },\n {\n \"answer\": \"It takes two + to four hours to charge the Surface Pro 4 battery fully from an empty state. + It can take longer if you\u2019re using your Surface for power-intensive activities + like gaming or video streaming while you\u2019re charging it.\",\n \"confidenceScore\": + 0.9254359602928162,\n \"id\": \"1\",\n \"answerSpan\": {\n \"text\": + \"two to four hours\",\n \"confidenceScore\": 0.98562825,\n \"offset\": + 8,\n \"length\": 18\n },\n \"offset\": 20,\n \"length\": + 225\n },\n {\n \"answer\": \"It can take longer if you\u2019re + using your Surface for power-intensive activities like gaming or video streaming + while you\u2019re charging it.\",\n \"confidenceScore\": 0.05503518134355545,\n + \ \"id\": \"1\",\n \"answerSpan\": {\n \"text\": \"longer\",\n + \ \"confidenceScore\": 0.624118,\n \"offset\": 11,\n \"length\": + 7\n },\n \"offset\": 110,\n \"length\": 135\n }\n ]\n}" + headers: + apim-request-id: + - f38bdca7-e368-46b0-a09a-c469b36540bf + content-length: + - '1479' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 30 Jun 2021 15:07:14 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '315' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text.yaml new file mode 100644 index 000000000000..7beb994811cf --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text.yaml @@ -0,0 +1,151 @@ +interactions: +- request: + body: '{"question": "What is the meaning of life?", "records": [{"id": "doc1", + "text": "abc Graphics Surprise, surprise -- our 4K "}, {"id": "doc2", "text": + "e graphics card. While the Nvidia GeForce MX250 GPU isn''t meant for demanding + gaming, it is a step up from integrated graphics as proven by comparing it to + the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 + on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading + to the discrete graphics gives the Envy 13 better performance than the Notebook + 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium + laptop average (86,937). While the Nvidia GeForce MX250 GPU isn''t meant for + demanding gaming, it is a step up from integrated graphics as proven by comparing + it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at + 92 frames per second on "}, {"id": "doc3", "text": "Graphics Surprise, surprise + -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce + MX250 GPU isn''t meant for demanding gaming, it is a step up from integrated + graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The + MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark + while the base model scored a 82,270. Upgrading to the discrete graphics gives + the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface + Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While + the Nvidia GeForce MX250 GPU isn''t meant for demanding gaming, it is a step + up from integrated graphics as proven by comparing it to the UHD 620 GPU in + the FHD model. We played the racing game Dirt 3 at 92 frames per second on + the MX250 model, which is well above our 30-fps playability, the category average + (69 fps) and what the Surface Laptop 2 (82 fps) achieved. The ZenBook S UX391UA + (45 fps) fell flat on this real-world test but ran better than the base model + Envy 13 (31 fps). Audio I had a good ol'' time groovin'' to the sound of the + Envy 13''s crisp speakers. HP went all out with the Envy, placing dual speakers + on the underside of the chassis along with a third, top-firing driver above + the keyboard. Devon Gilfillian''s funky jam \"Here and Now\" boomed smooth, + soulful tunes throughout my small apartment. The twang of the electric guitar + played nicely with the thudding percussion but never overshadowed Gilfillian + or the female backup vocals. Bang & Olufsen software comes preinstalled on + the Envy 13, with equalizer controls so you can adjust the bass, midrange and + treble to your liking. But even out of the box, you''ll enjoy great sound without + having to bust out your headphones. Battery Life Get an Envy 13 with the 1080p + non-touch display if battery life is important to you. The FHD model endured + for 11 hours and 11 minutes whereas the 4K model lasted only 4 hours and 36 + minutes on our battery test, which involves continuous web browsing over Wi-Fi + at 150 nits of brightness. MORE: Laptops with Best Battery Life - Longest + Lasting Laptop Batteries Competing laptops like the ZenBook S UX391UA (7:05), + Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) outstayed the 4K Envy 13 but + powered down long before the 1080p version. Webcam The 720p webcam on the + Envy 13 is nothing to write home about. A selfie I snapped in my dimly lit room + was covered in a haze of visual noise. My beard and hair were unkempt blobs, + while my eyes looked like they were drawn on by a pointillist painter. If there''s + one positive, it''s that the lens captures natural colors and even extracted + the different shades of gray in my T-shirt. On the right edge of the Envy + 13 is a physical kill switch that cuts the power to the webcam so you can feel + reassured that nobody is snooping on you. Heat Leave the lapdesk at home + - you don''t have to worry about the Envy 13 overheating. After I played + a 15-minute, full-HD video in full screen, the touchpad on the HP Envy 13 with + a Core i7 CPU rose to only 83 degrees Fahrenheit while the keyboard (87 degrees) + and underside (90 degrees) also remained well below our 95-degree comfort threshold. + Even the toastiest part of the machine, the lower-left edge on the underside, + topped out at 94 degrees. Software and Warranty It''s a shame that a laptop + with such beautiful hardware ships with such ugly software. Pre-installed on + this machine are entirely too many programs that could either be packaged together + or omitted altogether. HP provides an app called Audio Switch, which simply + lets you switch your audio input/output between the internal speakers and headphones. + As the same implies, HP''s Command Center is where you can get information about + your Envy 13 but also switch the thermal profiles between comfort and performance. + Along with support documentation, HP also bundles in a setup program called + JumpStart, a program for connecting printers and a redundant system-info app + called Event Utility. Also installed on the Envy 13''s Windows 10 Home OS + are several Microsoft apps, including Simple Solitaire, Candy Crush Friends + and Your Phone. Other third-party apps include Booking.com, Netflix and McAfee + Security. HP ships the Envy 13 with a one-year warranty. See how HP did on + our Tech Support Showdown and Best and Worst Brands ranking. Bottom Line The + Envy 13 has cemented its standing as the ultimate laptop for college students + or travelers. Along with 11-plus hours of battery life (on the FHD model), the + Envy 13 has a sleek, ultraportable chassis, fast performance, and powerful speakers. + Best of all, the Envy 13 starts at a reasonable $799, which is hundreds less + than the competition. In many ways, the Envy 13 is what we wanted the new MacBook + Air to be. The new HP Envy 13 is everything I was hoping the new MacBook Air + would be: fast, attractive and affordable. Just be sure to buy the right model. + We strongly recommend the 1080p version over the 4K model because it lasts several + hours longer on a charge and costs less. In fact, if we were reviewing the 4K + model separately, we''d only give it a 3.5 rating. You should also consider + the Envy 13 with a 10th Gen CPU, although we haven''t gotten the chance to review + it yet. If you absolutely need a high-res display, the 4K Envy 13 is one of + many good options. We also recommend the Samsung Notebook 9 Pro, which has a + similarly premium design but much better battery life than the 4K Envy. The + Microsoft Surface Laptop 2 is another recommended alternative, though you might + want to wait a few months for the rumored Surface Laptop 3. Overall, the HP + Envy 13 is a fantastic laptop that checks all the right boxes --- as long as + you buy the 1080p model. Credit: Laptop Mag HP Envy 13 (2019) Specs BluetoothBluetooth + 5.0 BrandHP CPUIntel Core i7-8565U Card SlotsmicroSD Company Websitehttps://www8.hp.com/us/en/home.html + Display Size13.3 Graphics CardNvidia GeForce MX250 Hard Drive Size512GB Hard + Drive TypePCIe NVMe M.2 Highest Available Resolution3840 x 2160 Native Resolution3840 + x 2160 Operating SystemWindows 10 Home Ports (excluding USB)USB 3.1 with Type-C, + USB 3.1 Always-On, USB 3.1, Headphone/Mic, microSD RAM16GB RAM Upgradable to16GB + Size12.1 x 8.3 x .57 inches Touchpad Size4.3 x 2.2 inches USB Ports3 Video Memory2GB + Warranty/Supportone-year warranty. Weight2.8 pounds Wi-Fi802.11ac Wi-Fi ModelIntel + Wireless-AC 9560 "}], "language": "en", "stringIndexType": "TextElements_v8"}' + headers: + Accept: + - application/json + Content-Length: + - '7447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"answer\": \"Battery Life Get an + Envy 13 with the 1080p non-touch display if battery life is important to you. + \ The FHD model endured for 11 hours and 11 minutes whereas the 4K model + lasted only 4 hours and 36 minutes on our battery test, which involves continuous + web browsing over Wi-Fi at 150 nits of brightness. MORE: Laptops with Best + Battery Life - Longest Lasting Laptop Batteries Competing laptops like the + ZenBook S UX391UA (7:05), Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) + outstayed the 4K Envy 13 but powered down long before the 1080p version.\",\n + \ \"confidenceScore\": 0.017458289861679077,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"Battery Life\",\n \"confidenceScore\": + 0.26247412,\n \"offset\": 0,\n \"length\": 12\n },\n \"offset\": + 1779,\n \"length\": 555\n },\n {\n \"answer\": \"Along with + 11-plus hours of battery life (on the FHD model), the Envy 13 has a sleek, + ultraportable chassis, fast performance, and powerful speakers. Best of all, + the Envy 13 starts at a reasonable $799, which is hundreds less than the competition. + In many ways, the Envy 13 is what we wanted the new MacBook Air to be.\",\n + \ \"confidenceScore\": 0.00940172653645277,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"battery life\",\n \"confidenceScore\": + 0.35305238,\n \"offset\": 27,\n \"length\": 13\n },\n \"offset\": + 4508,\n \"length\": 319\n },\n {\n \"answer\": \"We also recommend + the Samsung Notebook 9 Pro, which has a similarly premium design but much + better battery life than the 4K Envy. The Microsoft Surface Laptop 2 is another + recommended alternative, though you might want to wait a few months for the + rumored Surface Laptop 3. Overall, the HP Envy 13 is a fantastic laptop + that checks all the right boxes --- as long as you buy the 1080p model.\",\n + \ \"confidenceScore\": 0.0070572528056800365,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"battery life\",\n \"confidenceScore\": + 0.5914322,\n \"offset\": 98,\n \"length\": 13\n },\n \"offset\": + 5391,\n \"length\": 393\n }\n ]\n}" + headers: + apim-request-id: f7d22644-9f95-4e63-a16c-e111f73bc24d + content-length: '2147' + content-type: application/json; charset=utf-8 + date: Fri, 25 Jun 2021 19:41:19 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '284' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text_llc.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text_llc.yaml new file mode 100644 index 000000000000..8f3d6b71ab91 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text_llc.yaml @@ -0,0 +1,151 @@ +interactions: +- request: + body: '{"question": "What is the meaning of life?", "records": [{"text": "abc + Graphics Surprise, surprise -- our 4K ", "id": "doc1"}, {"text": "e graphics + card. While the Nvidia GeForce MX250 GPU isn''t meant for demanding gaming, + it is a step up from integrated graphics as proven by comparing it to the UHD + 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the + Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading + to the discrete graphics gives the Envy 13 better performance than the Notebook + 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium + laptop average (86,937). While the Nvidia GeForce MX250 GPU isn''t meant for + demanding gaming, it is a step up from integrated graphics as proven by comparing + it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at + 92 frames per second on ", "id": "doc2"}, {"text": "Graphics Surprise, surprise + -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce + MX250 GPU isn''t meant for demanding gaming, it is a step up from integrated + graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The + MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark + while the base model scored a 82,270. Upgrading to the discrete graphics gives + the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface + Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While + the Nvidia GeForce MX250 GPU isn''t meant for demanding gaming, it is a step + up from integrated graphics as proven by comparing it to the UHD 620 GPU in + the FHD model. We played the racing game Dirt 3 at 92 frames per second on + the MX250 model, which is well above our 30-fps playability, the category average + (69 fps) and what the Surface Laptop 2 (82 fps) achieved. The ZenBook S UX391UA + (45 fps) fell flat on this real-world test but ran better than the base model + Envy 13 (31 fps). Audio I had a good ol'' time groovin'' to the sound of the + Envy 13''s crisp speakers. HP went all out with the Envy, placing dual speakers + on the underside of the chassis along with a third, top-firing driver above + the keyboard. Devon Gilfillian''s funky jam \"Here and Now\" boomed smooth, + soulful tunes throughout my small apartment. The twang of the electric guitar + played nicely with the thudding percussion but never overshadowed Gilfillian + or the female backup vocals. Bang & Olufsen software comes preinstalled on + the Envy 13, with equalizer controls so you can adjust the bass, midrange and + treble to your liking. But even out of the box, you''ll enjoy great sound without + having to bust out your headphones. Battery Life Get an Envy 13 with the 1080p + non-touch display if battery life is important to you. The FHD model endured + for 11 hours and 11 minutes whereas the 4K model lasted only 4 hours and 36 + minutes on our battery test, which involves continuous web browsing over Wi-Fi + at 150 nits of brightness. MORE: Laptops with Best Battery Life - Longest + Lasting Laptop Batteries Competing laptops like the ZenBook S UX391UA (7:05), + Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) outstayed the 4K Envy 13 but + powered down long before the 1080p version. Webcam The 720p webcam on the + Envy 13 is nothing to write home about. A selfie I snapped in my dimly lit room + was covered in a haze of visual noise. My beard and hair were unkempt blobs, + while my eyes looked like they were drawn on by a pointillist painter. If there''s + one positive, it''s that the lens captures natural colors and even extracted + the different shades of gray in my T-shirt. On the right edge of the Envy + 13 is a physical kill switch that cuts the power to the webcam so you can feel + reassured that nobody is snooping on you. Heat Leave the lapdesk at home + - you don''t have to worry about the Envy 13 overheating. After I played + a 15-minute, full-HD video in full screen, the touchpad on the HP Envy 13 with + a Core i7 CPU rose to only 83 degrees Fahrenheit while the keyboard (87 degrees) + and underside (90 degrees) also remained well below our 95-degree comfort threshold. + Even the toastiest part of the machine, the lower-left edge on the underside, + topped out at 94 degrees. Software and Warranty It''s a shame that a laptop + with such beautiful hardware ships with such ugly software. Pre-installed on + this machine are entirely too many programs that could either be packaged together + or omitted altogether. HP provides an app called Audio Switch, which simply + lets you switch your audio input/output between the internal speakers and headphones. + As the same implies, HP''s Command Center is where you can get information about + your Envy 13 but also switch the thermal profiles between comfort and performance. + Along with support documentation, HP also bundles in a setup program called + JumpStart, a program for connecting printers and a redundant system-info app + called Event Utility. Also installed on the Envy 13''s Windows 10 Home OS + are several Microsoft apps, including Simple Solitaire, Candy Crush Friends + and Your Phone. Other third-party apps include Booking.com, Netflix and McAfee + Security. HP ships the Envy 13 with a one-year warranty. See how HP did on + our Tech Support Showdown and Best and Worst Brands ranking. Bottom Line The + Envy 13 has cemented its standing as the ultimate laptop for college students + or travelers. Along with 11-plus hours of battery life (on the FHD model), the + Envy 13 has a sleek, ultraportable chassis, fast performance, and powerful speakers. + Best of all, the Envy 13 starts at a reasonable $799, which is hundreds less + than the competition. In many ways, the Envy 13 is what we wanted the new MacBook + Air to be. The new HP Envy 13 is everything I was hoping the new MacBook Air + would be: fast, attractive and affordable. Just be sure to buy the right model. + We strongly recommend the 1080p version over the 4K model because it lasts several + hours longer on a charge and costs less. In fact, if we were reviewing the 4K + model separately, we''d only give it a 3.5 rating. You should also consider + the Envy 13 with a 10th Gen CPU, although we haven''t gotten the chance to review + it yet. If you absolutely need a high-res display, the 4K Envy 13 is one of + many good options. We also recommend the Samsung Notebook 9 Pro, which has a + similarly premium design but much better battery life than the 4K Envy. The + Microsoft Surface Laptop 2 is another recommended alternative, though you might + want to wait a few months for the rumored Surface Laptop 3. Overall, the HP + Envy 13 is a fantastic laptop that checks all the right boxes --- as long as + you buy the 1080p model. Credit: Laptop Mag HP Envy 13 (2019) Specs BluetoothBluetooth + 5.0 BrandHP CPUIntel Core i7-8565U Card SlotsmicroSD Company Websitehttps://www8.hp.com/us/en/home.html + Display Size13.3 Graphics CardNvidia GeForce MX250 Hard Drive Size512GB Hard + Drive TypePCIe NVMe M.2 Highest Available Resolution3840 x 2160 Native Resolution3840 + x 2160 Operating SystemWindows 10 Home Ports (excluding USB)USB 3.1 with Type-C, + USB 3.1 Always-On, USB 3.1, Headphone/Mic, microSD RAM16GB RAM Upgradable to16GB + Size12.1 x 8.3 x .57 inches Touchpad Size4.3 x 2.2 inches USB Ports3 Video Memory2GB + Warranty/Supportone-year warranty. Weight2.8 pounds Wi-Fi802.11ac Wi-Fi ModelIntel + Wireless-AC 9560 ", "id": "doc3"}], "language": "en"}' + headers: + Accept: + - application/json + Content-Length: + - '7409' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"answer\": \"Battery Life Get an + Envy 13 with the 1080p non-touch display if battery life is important to you. + \ The FHD model endured for 11 hours and 11 minutes whereas the 4K model + lasted only 4 hours and 36 minutes on our battery test, which involves continuous + web browsing over Wi-Fi at 150 nits of brightness. MORE: Laptops with Best + Battery Life - Longest Lasting Laptop Batteries Competing laptops like the + ZenBook S UX391UA (7:05), Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) + outstayed the 4K Envy 13 but powered down long before the 1080p version.\",\n + \ \"confidenceScore\": 0.01745828054845333,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"Battery Life\",\n \"confidenceScore\": + 0.26247412,\n \"offset\": 0,\n \"length\": 12\n },\n \"offset\": + 1779,\n \"length\": 555\n },\n {\n \"answer\": \"Along with + 11-plus hours of battery life (on the FHD model), the Envy 13 has a sleek, + ultraportable chassis, fast performance, and powerful speakers. Best of all, + the Envy 13 starts at a reasonable $799, which is hundreds less than the competition. + In many ways, the Envy 13 is what we wanted the new MacBook Air to be.\",\n + \ \"confidenceScore\": 0.00940172653645277,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"battery life\",\n \"confidenceScore\": + 0.35305238,\n \"offset\": 27,\n \"length\": 13\n },\n \"offset\": + 4508,\n \"length\": 319\n },\n {\n \"answer\": \"We also recommend + the Samsung Notebook 9 Pro, which has a similarly premium design but much + better battery life than the 4K Envy. The Microsoft Surface Laptop 2 is another + recommended alternative, though you might want to wait a few months for the + rumored Surface Laptop 3. Overall, the HP Envy 13 is a fantastic laptop + that checks all the right boxes --- as long as you buy the 1080p model.\",\n + \ \"confidenceScore\": 0.0070572528056800365,\n \"id\": \"doc3\",\n + \ \"answerSpan\": {\n \"text\": \"battery life\",\n \"confidenceScore\": + 0.59143245,\n \"offset\": 98,\n \"length\": 13\n },\n \"offset\": + 5391,\n \"length\": 393\n }\n ]\n}" + headers: + apim-request-id: ba49fbf2-8c63-4ae1-b5d6-2b2ec86d8776 + content-length: '2147' + content-type: application/json; charset=utf-8 + date: Fri, 25 Jun 2021 19:41:20 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '272' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text_with_dictparams.yaml b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text_with_dictparams.yaml new file mode 100644 index 000000000000..56e6e56f50d3 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/recordings/test_query_text_async.test_query_text_with_dictparams.yaml @@ -0,0 +1,57 @@ +interactions: +- request: + body: '{"question": "How long it takes to charge surface?", "records": [{"text": + "Power and charging. It takes two to four hours to charge the Surface Pro 4 + battery fully from an empty state. It can take longer if you\u2019re using your + Surface for power-intensive activities like gaming or video streaming while + you\u2019re charging it.", "id": "1"}, {"text": "You can use the USB port on + your Surface Pro 4 power supply to charge other devices, like a phone, while + your Surface charges. The USB port on the power supply is only for charging, + not for data transfer. If you want to use a USB device, plug it into the USB + port on your Surface.", "id": "2"}], "language": "en"}' + headers: + Accept: + - application/json + Content-Length: + - '668' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-language-questionanswering/1.0.0b1 Python/3.7.4 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://test-resource.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview + response: + body: + string: "{\n \"answers\": [\n {\n \"answer\": \"Power and charging. + It takes two to four hours to charge the Surface Pro 4 battery fully from + an empty state. It can take longer if you\u2019re using your Surface for power-intensive + activities like gaming or video streaming while you\u2019re charging it.\",\n + \ \"confidenceScore\": 0.9298818111419678,\n \"id\": \"1\",\n \"answerSpan\": + {\n \"text\": \"two to four hours\",\n \"confidenceScore\": + 0.98579097,\n \"offset\": 28,\n \"length\": 18\n },\n \"offset\": + 0,\n \"length\": 245\n },\n {\n \"answer\": \"It takes two + to four hours to charge the Surface Pro 4 battery fully from an empty state. + It can take longer if you\u2019re using your Surface for power-intensive activities + like gaming or video streaming while you\u2019re charging it.\",\n \"confidenceScore\": + 0.9254359602928162,\n \"id\": \"1\",\n \"answerSpan\": {\n \"text\": + \"two to four hours\",\n \"confidenceScore\": 0.9856282,\n \"offset\": + 8,\n \"length\": 18\n },\n \"offset\": 20,\n \"length\": + 225\n },\n {\n \"answer\": \"It can take longer if you\u2019re + using your Surface for power-intensive activities like gaming or video streaming + while you\u2019re charging it.\",\n \"confidenceScore\": 0.05503518134355545,\n + \ \"id\": \"1\",\n \"answerSpan\": {\n \"text\": \"longer\",\n + \ \"confidenceScore\": 0.624118,\n \"offset\": 11,\n \"length\": + 7\n },\n \"offset\": 110,\n \"length\": 135\n }\n ]\n}" + headers: + apim-request-id: fc0cf99e-2f1a-4cf1-8234-4d40c42eaca7 + content-length: '1478' + content-type: application/json; charset=utf-8 + date: Wed, 30 Jun 2021 15:07:15 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '362' + status: + code: 200 + message: OK + url: https://wuppe.api.cognitive.microsoft.com/language/:query-text?api-version=2021-05-01-preview +version: 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_knowledgebase.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_knowledgebase.py new file mode 100644 index 000000000000..470669ffa070 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_knowledgebase.py @@ -0,0 +1,314 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import os + +from azure.core.exceptions import HttpResponseError, ClientAuthenticationError +from azure.core.credentials import AzureKeyCredential + +from testcase import ( + QuestionAnsweringTest, + GlobalQuestionAnsweringAccountPreparer +) + +from azure.ai.language.questionanswering import QuestionAnsweringClient +from azure.ai.language.questionanswering.rest import * +from azure.ai.language.questionanswering.models import ( + KnowledgebaseQueryParameters, + KnowledgebaseAnswerRequestContext, + AnswerSpanRequest, +) + + +class QnAKnowledgebaseTests(QuestionAnsweringTest): + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_knowledgebase_llc(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + json_content = { + "question": "Ports and connectors", + "top": 3, + "context": { + "previousUserQuery": "Meet Surface Pro 4", + "previousQnAId": 4 + } + } + request = build_query_knowledgebase_request( + json=json_content, + project_name=qna_project, + deployment_name='test' + ) + with client: + response = client.send_request(request) + assert response.status_code == 200 + + output = response.json() + assert output + assert output.get('answers') + for answer in output['answers']: + assert answer.get('answer') + assert answer.get('confidenceScore') + assert answer.get('id') + assert answer.get('source') + assert answer.get('metadata') is not None + assert not answer.get('answerSpan') + + assert answer.get('questions') + for question in answer['questions']: + assert question + + assert answer.get('dialog') + assert answer['dialog'].get('isContextOnly') is not None + assert answer['dialog'].get('prompts') is not None + if answer['dialog'].get('prompts'): + for prompt in answer['dialog']['prompts']: + assert prompt.get('displayOrder') is not None + assert prompt.get('qnaId') + assert prompt.get('displayText') + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_knowledgebase_llc_with_answerspan(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + json_content = { + "question": "Ports and connectors", + "top": 3, + "context": { + "previousUserQuery": "Meet Surface Pro 4", + "previousQnAId": 4 + }, + "answerSpanRequest": { + "enable": True, + "confidenceScoreThreshold": 0.1, + "topAnswersWithSpan": 1 + } + } + request = build_query_knowledgebase_request( + json=json_content, + project_name=qna_project, + deployment_name='test' + ) + with client: + response = client.send_request(request) + assert response.status_code == 200 + + output = response.json() + assert output + assert output.get('answers') + for answer in output['answers']: + assert answer.get('answer') + assert answer.get('confidenceScore') + assert answer.get('id') + assert answer.get('source') + assert answer.get('metadata') is not None + + if answer.get('answerSpan'): + assert answer['answerSpan'].get('text') + assert answer['answerSpan'].get('confidenceScore') + assert answer['answerSpan'].get('offset') is not None + assert answer['answerSpan'].get('length') + + assert answer.get('questions') + for question in answer['questions']: + assert question + + assert answer.get('dialog') + assert answer['dialog'].get('isContextOnly') is not None + assert answer['dialog'].get('prompts') is not None + if answer['dialog'].get('prompts'): + for prompt in answer['dialog']['prompts']: + assert prompt.get('displayOrder') is not None + assert prompt.get('qnaId') + assert prompt.get('displayText') + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_knowledgebase(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + query_params = KnowledgebaseQueryParameters( + question="Ports and connectors", + top=3, + context=KnowledgebaseAnswerRequestContext( + previous_user_query="Meet Surface Pro 4", + previous_qna_id=4 + ) + ) + + with client: + output = client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert output.answers + for answer in output.answers: + assert answer.answer + assert answer.confidence_score + assert answer.id + assert answer.source + assert answer.metadata is not None + assert not answer.answer_span + + assert answer.questions + for question in answer.questions: + assert question + + assert answer.dialog + assert answer.dialog.is_context_only is not None + assert answer.dialog.prompts is not None + if answer.dialog.prompts: + for prompt in answer.dialog.prompts: + assert prompt.display_order is not None + assert prompt.qna_id + assert prompt.display_text + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_knowledgebase_with_answerspan(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + query_params = KnowledgebaseQueryParameters( + question="Ports and connectors", + top=3, + context=KnowledgebaseAnswerRequestContext( + previous_user_query="Meet Surface Pro 4", + previous_qna_id=4 + ), + answer_span_request=AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.1, + top_answers_with_span=2 + ) + ) + + with client: + output = client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert output.answers + for answer in output.answers: + assert answer.answer + assert answer.confidence_score + assert answer.id + assert answer.source + assert answer.metadata is not None + + if answer.answer_span: + assert answer.answer_span.text + assert answer.answer_span.confidence_score + assert answer.answer_span.offset is not None + assert answer.answer_span.length + + assert answer.questions + for question in answer.questions: + assert question + + assert answer.dialog + assert answer.dialog.is_context_only is not None + assert answer.dialog.prompts is not None + if answer.dialog.prompts: + for prompt in answer.dialog.prompts: + assert prompt.display_order is not None + assert prompt.qna_id + assert prompt.display_text + + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_knowledgebase_with_dictparams(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + query_params = { + "question": "How long should my Surface battery last?", + "top": 3, + "userId": "sd53lsY=", + "confidenceScoreThreshold": 0.2, + "answerSpanRequest": { + "enable": True, + "confidenceScoreThreshold": 0.2, + "topAnswersWithSpan": 1 + }, + "includeUnstructuredSources": True + } + + with client: + output = client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert len(output.answers) == 3 + confident_answers = [a for a in output.answers if a.confidence_score > 0.9] + assert len(confident_answers) == 1 + assert confident_answers[0].source == "surface-pro-4-user-guide-EN.pdf" + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_knowledgebase_with_followup(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + with client: + query_params = KnowledgebaseQueryParameters( + question="How long should my Surface battery last?", + top=3, + user_id="sd53lsY=", + confidence_score_threshold=0.2, + answer_span_request=AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + include_unstructured_sources=True + ) + + output = client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + confident_answers = [a for a in output.answers if a.confidence_score > 0.9] + assert len(confident_answers) == 1 + assert confident_answers[0].source == "surface-pro-4-user-guide-EN.pdf" + + query_params = KnowledgebaseQueryParameters( + question="How long it takes to charge Surface?", + top=3, + user_id="sd53lsY=", + confidence_score_threshold=0.2, + context=KnowledgebaseAnswerRequestContext( + previous_user_query="How long should my Surface battery last?", + previous_qna_id=confident_answers[0].id + ), + answer_span_request=AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + include_unstructured_sources=True + ) + output = client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert len(output.answers) == 2 + confident_answers = [a for a in output.answers if a.confidence_score > 0.6] + assert len(confident_answers) == 1 + assert confident_answers[0].answer_span.text == "two to four hours" + + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_knowledgebase_only_id(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + with client: + query_params = KnowledgebaseQueryParameters( + qna_id=19 + ) + + output = client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert len(output.answers) == 1 diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_knowledgebase_async.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_knowledgebase_async.py new file mode 100644 index 000000000000..0bb798e0ca2f --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_knowledgebase_async.py @@ -0,0 +1,326 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +import os +import pytest + +from azure.core.exceptions import HttpResponseError, ClientAuthenticationError +from azure.core.credentials import AzureKeyCredential + +from testcase import ( + GlobalQuestionAnsweringAccountPreparer +) +from asynctestcase import AsyncQuestionAnsweringTest + +from azure.ai.language.questionanswering.models import ( + KnowledgebaseQueryParameters, + KnowledgebaseAnswerRequestContext, + AnswerSpanRequest, +) +from azure.ai.language.questionanswering.aio import QuestionAnsweringClient +from azure.ai.language.questionanswering.rest import * + + +class QnAKnowledgebaseTestsAsync(AsyncQuestionAnsweringTest): + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_knowledgebase_llc(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + json_content = { + "question": "Ports and connectors", + "top": 3, + "context": { + "previousUserQuery": "Meet Surface Pro 4", + "previousQnAId": 4 + } + } + request = build_query_knowledgebase_request( + json=json_content, + project_name=qna_project, + deployment_name='test' + ) + async with client: + response = await client.send_request(request) + assert response.status_code == 200 + + output = response.json() + assert output + assert output.get('answers') + for answer in output['answers']: + assert answer.get('answer') + assert answer.get('confidenceScore') + assert answer.get('id') + assert answer.get('source') + assert answer.get('metadata') is not None + assert not answer.get('answerSpan') + + assert answer.get('questions') + for question in answer['questions']: + assert question + + assert answer.get('dialog') + assert answer['dialog'].get('isContextOnly') is not None + assert answer['dialog'].get('prompts') is not None + if answer['dialog'].get('prompts'): + for prompt in answer['dialog']['prompts']: + assert prompt.get('displayOrder') is not None + assert prompt.get('qnaId') + assert prompt.get('displayText') + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_knowledgebase_llc_with_answerspan(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + json_content = { + "question": "Ports and connectors", + "top": 3, + "context": { + "previousUserQuery": "Meet Surface Pro 4", + "previousQnAId": 4 + }, + "answerSpanRequest": { + "enable": True, + "confidenceScoreThreshold": 0.1, + "topAnswersWithSpan": 2 + } + } + request = build_query_knowledgebase_request( + json=json_content, + project_name=qna_project, + deployment_name='test' + ) + async with client: + response = await client.send_request(request) + assert response.status_code == 200 + + output = response.json() + assert output + assert output.get('answers') + for answer in output['answers']: + assert answer.get('answer') + assert answer.get('confidenceScore') + assert answer.get('id') + assert answer.get('source') + assert answer.get('metadata') is not None + + if answer.get('answerSpan'): + assert answer['answerSpan'].get('text') + assert answer['answerSpan'].get('confidenceScore') + assert answer['answerSpan'].get('offset') is not None + assert answer['answerSpan'].get('length') + + assert answer.get('questions') + for question in answer['questions']: + assert question + + assert answer.get('dialog') + assert answer['dialog'].get('isContextOnly') is not None + assert answer['dialog'].get('prompts') is not None + if answer['dialog'].get('prompts'): + for prompt in answer['dialog']['prompts']: + assert prompt.get('displayOrder') is not None + assert prompt.get('qnaId') + assert prompt.get('displayText') + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_knowledgebase(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + query_params = KnowledgebaseQueryParameters( + question="Ports and connectors", + top=3, + context=KnowledgebaseAnswerRequestContext( + previous_user_query="Meet Surface Pro 4", + previous_qna_id=4 + ) + ) + + async with client: + output = await client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert output.answers + for answer in output.answers: + assert answer.answer + assert answer.confidence_score + assert answer.id + assert answer.source + assert answer.metadata is not None + assert not answer.answer_span + + assert answer.questions + for question in answer.questions: + assert question + + assert answer.dialog + assert answer.dialog.is_context_only is not None + assert answer.dialog.prompts is not None + if answer.dialog.prompts: + for prompt in answer.dialog.prompts: + assert prompt.display_order is not None + assert prompt.qna_id + assert prompt.display_text + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_knowledgebase_with_answerspan(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + query_params = KnowledgebaseQueryParameters( + question="Ports and connectors", + top=3, + context=KnowledgebaseAnswerRequestContext( + previous_user_query="Meet Surface Pro 4", + previous_qna_id=4 + ), + answer_span_request=AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.1, + top_answers_with_span=2 + ) + ) + + async with client: + output = await client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert output.answers + for answer in output.answers: + assert answer.answer + assert answer.confidence_score + assert answer.id + assert answer.source + assert answer.metadata is not None + + if answer.answer_span: + assert answer.answer_span.text + assert answer.answer_span.confidence_score + assert answer.answer_span.offset is not None + assert answer.answer_span.length + + assert answer.questions + for question in answer.questions: + assert question + + assert answer.dialog + assert answer.dialog.is_context_only is not None + assert answer.dialog.prompts is not None + if answer.dialog.prompts: + for prompt in answer.dialog.prompts: + assert prompt.display_order is not None + assert prompt.qna_id + assert prompt.display_text + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_knowledgebase_with_dictparams(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + query_params = { + "question": "How long should my Surface battery last?", + "top": 3, + "userId": "sd53lsY=", + "confidenceScoreThreshold": 0.2, + "answerSpanRequest": { + "enable": True, + "confidenceScoreThreshold": 0.2, + "topAnswersWithSpan": 1 + }, + "includeUnstructuredSources": True + } + + async with client: + output = await client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert len(output.answers) == 3 + confident_answers = [a for a in output.answers if a.confidence_score > 0.9] + assert len(confident_answers) == 1 + assert confident_answers[0].source == "surface-pro-4-user-guide-EN.pdf" + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_knowledgebase_with_followup(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + async with client: + query_params = KnowledgebaseQueryParameters( + question="How long should my Surface battery last?", + top=3, + user_id="sd53lsY=", + confidence_score_threshold=0.2, + answer_span_request=AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + include_unstructured_sources=True + ) + + output = await client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + confident_answers = [a for a in output.answers if a.confidence_score > 0.9] + assert len(confident_answers) == 1 + assert confident_answers[0].source == "surface-pro-4-user-guide-EN.pdf" + + query_params = KnowledgebaseQueryParameters( + question="How long it takes to charge Surface?", + top=3, + user_id="sd53lsY=", + confidence_score_threshold=0.2, + context=KnowledgebaseAnswerRequestContext( + previous_user_query="How long should my Surface battery last?", + previous_qna_id=confident_answers[0].id + ), + answer_span_request=AnswerSpanRequest( + enable=True, + confidence_score_threshold=0.2, + top_answers_with_span=1 + ), + include_unstructured_sources=True + ) + output = await client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert len(output.answers) == 2 + confident_answers = [a for a in output.answers if a.confidence_score > 0.6] + assert len(confident_answers) == 1 + assert confident_answers[0].answer_span.text == "two to four hours" + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_knowledgebase_only_id(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + async with client: + query_params = {"qnaId": 19} + + output = await client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + + assert len(output.answers) == 1 + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_knowledgebase_bad_request(self, qna_account, qna_key, qna_project): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + async with client: + query_params = {"qna_id": 19} + + with pytest.raises(HttpResponseError): + await client.query_knowledgebase( + project_name=qna_project, + deployment_name='test', + knowledgebase_query_parameters=query_params + ) + diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_text.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_text.py new file mode 100644 index 000000000000..9993ae313f6f --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_text.py @@ -0,0 +1,126 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +from azure.core.exceptions import HttpResponseError, ClientAuthenticationError +from azure.core.credentials import AzureKeyCredential + +from testcase import ( + QuestionAnsweringTest, + GlobalQuestionAnsweringAccountPreparer +) + +from azure.ai.language.questionanswering import QuestionAnsweringClient +from azure.ai.language.questionanswering.rest import * +from azure.ai.language.questionanswering.models import ( + TextQueryParameters, + TextInput +) + +class QnATests(QuestionAnsweringTest): + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_text_llc(self, qna_account, qna_key): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + json_content = { + "question": "What is the meaning of life?", + "records": [ + { + "text": "abc Graphics Surprise, surprise -- our 4K ", + "id": "doc1" + }, + { + "text": "e graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading to the discrete graphics gives the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at 92 frames per second on ", + "id": "doc2" + }, + { + "text": "Graphics Surprise, surprise -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading to the discrete graphics gives the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at 92 frames per second on the MX250 model, which is well above our 30-fps playability, the category average (69 fps) and what the Surface Laptop 2 (82 fps) achieved. The ZenBook S UX391UA (45 fps) fell flat on this real-world test but ran better than the base model Envy 13 (31 fps). Audio I had a good ol' time groovin' to the sound of the Envy 13's crisp speakers. HP went all out with the Envy, placing dual speakers on the underside of the chassis along with a third, top-firing driver above the keyboard. Devon Gilfillian's funky jam \"Here and Now\" boomed smooth, soulful tunes throughout my small apartment. The twang of the electric guitar played nicely with the thudding percussion but never overshadowed Gilfillian or the female backup vocals. Bang & Olufsen software comes preinstalled on the Envy 13, with equalizer controls so you can adjust the bass, midrange and treble to your liking. But even out of the box, you'll enjoy great sound without having to bust out your headphones. Battery Life Get an Envy 13 with the 1080p non-touch display if battery life is important to you. The FHD model endured for 11 hours and 11 minutes whereas the 4K model lasted only 4 hours and 36 minutes on our battery test, which involves continuous web browsing over Wi-Fi at 150 nits of brightness. MORE: Laptops with Best Battery Life - Longest Lasting Laptop Batteries Competing laptops like the ZenBook S UX391UA (7:05), Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) outstayed the 4K Envy 13 but powered down long before the 1080p version. Webcam The 720p webcam on the Envy 13 is nothing to write home about. A selfie I snapped in my dimly lit room was covered in a haze of visual noise. My beard and hair were unkempt blobs, while my eyes looked like they were drawn on by a pointillist painter. If there's one positive, it's that the lens captures natural colors and even extracted the different shades of gray in my T-shirt. On the right edge of the Envy 13 is a physical kill switch that cuts the power to the webcam so you can feel reassured that nobody is snooping on you. Heat Leave the lapdesk at home - you don't have to worry about the Envy 13 overheating. After I played a 15-minute, full-HD video in full screen, the touchpad on the HP Envy 13 with a Core i7 CPU rose to only 83 degrees Fahrenheit while the keyboard (87 degrees) and underside (90 degrees) also remained well below our 95-degree comfort threshold. Even the toastiest part of the machine, the lower-left edge on the underside, topped out at 94 degrees. Software and Warranty It's a shame that a laptop with such beautiful hardware ships with such ugly software. Pre-installed on this machine are entirely too many programs that could either be packaged together or omitted altogether. HP provides an app called Audio Switch, which simply lets you switch your audio input/output between the internal speakers and headphones. As the same implies, HP's Command Center is where you can get information about your Envy 13 but also switch the thermal profiles between comfort and performance. Along with support documentation, HP also bundles in a setup program called JumpStart, a program for connecting printers and a redundant system-info app called Event Utility. Also installed on the Envy 13's Windows 10 Home OS are several Microsoft apps, including Simple Solitaire, Candy Crush Friends and Your Phone. Other third-party apps include Booking.com, Netflix and McAfee Security. HP ships the Envy 13 with a one-year warranty. See how HP did on our Tech Support Showdown and Best and Worst Brands ranking. Bottom Line The Envy 13 has cemented its standing as the ultimate laptop for college students or travelers. Along with 11-plus hours of battery life (on the FHD model), the Envy 13 has a sleek, ultraportable chassis, fast performance, and powerful speakers. Best of all, the Envy 13 starts at a reasonable $799, which is hundreds less than the competition. In many ways, the Envy 13 is what we wanted the new MacBook Air to be. The new HP Envy 13 is everything I was hoping the new MacBook Air would be: fast, attractive and affordable. Just be sure to buy the right model. We strongly recommend the 1080p version over the 4K model because it lasts several hours longer on a charge and costs less. In fact, if we were reviewing the 4K model separately, we'd only give it a 3.5 rating. You should also consider the Envy 13 with a 10th Gen CPU, although we haven't gotten the chance to review it yet. If you absolutely need a high-res display, the 4K Envy 13 is one of many good options. We also recommend the Samsung Notebook 9 Pro, which has a similarly premium design but much better battery life than the 4K Envy. The Microsoft Surface Laptop 2 is another recommended alternative, though you might want to wait a few months for the rumored Surface Laptop 3. Overall, the HP Envy 13 is a fantastic laptop that checks all the right boxes --- as long as you buy the 1080p model. Credit: Laptop Mag HP Envy 13 (2019) Specs BluetoothBluetooth 5.0 BrandHP CPUIntel Core i7-8565U Card SlotsmicroSD Company Websitehttps://www8.hp.com/us/en/home.html Display Size13.3 Graphics CardNvidia GeForce MX250 Hard Drive Size512GB Hard Drive TypePCIe NVMe M.2 Highest Available Resolution3840 x 2160 Native Resolution3840 x 2160 Operating SystemWindows 10 Home Ports (excluding USB)USB 3.1 with Type-C, USB 3.1 Always-On, USB 3.1, Headphone/Mic, microSD RAM16GB RAM Upgradable to16GB Size12.1 x 8.3 x .57 inches Touchpad Size4.3 x 2.2 inches USB Ports3 Video Memory2GB Warranty/Supportone-year warranty. Weight2.8 pounds Wi-Fi802.11ac Wi-Fi ModelIntel Wireless-AC 9560 ", + "id": "doc3" + } + ], + "language": "en" + } + request = build_query_text_request( + json=json_content + ) + response = client.send_request(request) + assert response.status_code == 200 + + output = response.json() + assert output.get('answers') + for answer in output['answers']: + assert answer.get('answer') + assert answer.get('confidenceScore') + assert answer.get('id') + assert answer.get('offset') + assert answer.get('length') + assert answer.get('answerSpan') + assert answer['answerSpan'].get('text') + assert answer['answerSpan'].get('confidenceScore') + assert answer['answerSpan'].get('offset') is not None + assert answer['answerSpan'].get('length') + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_text(self, qna_account, qna_key): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + params = TextQueryParameters( + question="What is the meaning of life?", + records=[ + TextInput( + text="abc Graphics Surprise, surprise -- our 4K ", + id="doc1" + ), + TextInput( + text="e graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading to the discrete graphics gives the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at 92 frames per second on ", + id="doc2" + ), + TextInput( + text="Graphics Surprise, surprise -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading to the discrete graphics gives the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at 92 frames per second on the MX250 model, which is well above our 30-fps playability, the category average (69 fps) and what the Surface Laptop 2 (82 fps) achieved. The ZenBook S UX391UA (45 fps) fell flat on this real-world test but ran better than the base model Envy 13 (31 fps). Audio I had a good ol' time groovin' to the sound of the Envy 13's crisp speakers. HP went all out with the Envy, placing dual speakers on the underside of the chassis along with a third, top-firing driver above the keyboard. Devon Gilfillian's funky jam \"Here and Now\" boomed smooth, soulful tunes throughout my small apartment. The twang of the electric guitar played nicely with the thudding percussion but never overshadowed Gilfillian or the female backup vocals. Bang & Olufsen software comes preinstalled on the Envy 13, with equalizer controls so you can adjust the bass, midrange and treble to your liking. But even out of the box, you'll enjoy great sound without having to bust out your headphones. Battery Life Get an Envy 13 with the 1080p non-touch display if battery life is important to you. The FHD model endured for 11 hours and 11 minutes whereas the 4K model lasted only 4 hours and 36 minutes on our battery test, which involves continuous web browsing over Wi-Fi at 150 nits of brightness. MORE: Laptops with Best Battery Life - Longest Lasting Laptop Batteries Competing laptops like the ZenBook S UX391UA (7:05), Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) outstayed the 4K Envy 13 but powered down long before the 1080p version. Webcam The 720p webcam on the Envy 13 is nothing to write home about. A selfie I snapped in my dimly lit room was covered in a haze of visual noise. My beard and hair were unkempt blobs, while my eyes looked like they were drawn on by a pointillist painter. If there's one positive, it's that the lens captures natural colors and even extracted the different shades of gray in my T-shirt. On the right edge of the Envy 13 is a physical kill switch that cuts the power to the webcam so you can feel reassured that nobody is snooping on you. Heat Leave the lapdesk at home - you don't have to worry about the Envy 13 overheating. After I played a 15-minute, full-HD video in full screen, the touchpad on the HP Envy 13 with a Core i7 CPU rose to only 83 degrees Fahrenheit while the keyboard (87 degrees) and underside (90 degrees) also remained well below our 95-degree comfort threshold. Even the toastiest part of the machine, the lower-left edge on the underside, topped out at 94 degrees. Software and Warranty It's a shame that a laptop with such beautiful hardware ships with such ugly software. Pre-installed on this machine are entirely too many programs that could either be packaged together or omitted altogether. HP provides an app called Audio Switch, which simply lets you switch your audio input/output between the internal speakers and headphones. As the same implies, HP's Command Center is where you can get information about your Envy 13 but also switch the thermal profiles between comfort and performance. Along with support documentation, HP also bundles in a setup program called JumpStart, a program for connecting printers and a redundant system-info app called Event Utility. Also installed on the Envy 13's Windows 10 Home OS are several Microsoft apps, including Simple Solitaire, Candy Crush Friends and Your Phone. Other third-party apps include Booking.com, Netflix and McAfee Security. HP ships the Envy 13 with a one-year warranty. See how HP did on our Tech Support Showdown and Best and Worst Brands ranking. Bottom Line The Envy 13 has cemented its standing as the ultimate laptop for college students or travelers. Along with 11-plus hours of battery life (on the FHD model), the Envy 13 has a sleek, ultraportable chassis, fast performance, and powerful speakers. Best of all, the Envy 13 starts at a reasonable $799, which is hundreds less than the competition. In many ways, the Envy 13 is what we wanted the new MacBook Air to be. The new HP Envy 13 is everything I was hoping the new MacBook Air would be: fast, attractive and affordable. Just be sure to buy the right model. We strongly recommend the 1080p version over the 4K model because it lasts several hours longer on a charge and costs less. In fact, if we were reviewing the 4K model separately, we'd only give it a 3.5 rating. You should also consider the Envy 13 with a 10th Gen CPU, although we haven't gotten the chance to review it yet. If you absolutely need a high-res display, the 4K Envy 13 is one of many good options. We also recommend the Samsung Notebook 9 Pro, which has a similarly premium design but much better battery life than the 4K Envy. The Microsoft Surface Laptop 2 is another recommended alternative, though you might want to wait a few months for the rumored Surface Laptop 3. Overall, the HP Envy 13 is a fantastic laptop that checks all the right boxes --- as long as you buy the 1080p model. Credit: Laptop Mag HP Envy 13 (2019) Specs BluetoothBluetooth 5.0 BrandHP CPUIntel Core i7-8565U Card SlotsmicroSD Company Websitehttps://www8.hp.com/us/en/home.html Display Size13.3 Graphics CardNvidia GeForce MX250 Hard Drive Size512GB Hard Drive TypePCIe NVMe M.2 Highest Available Resolution3840 x 2160 Native Resolution3840 x 2160 Operating SystemWindows 10 Home Ports (excluding USB)USB 3.1 with Type-C, USB 3.1 Always-On, USB 3.1, Headphone/Mic, microSD RAM16GB RAM Upgradable to16GB Size12.1 x 8.3 x .57 inches Touchpad Size4.3 x 2.2 inches USB Ports3 Video Memory2GB Warranty/Supportone-year warranty. Weight2.8 pounds Wi-Fi802.11ac Wi-Fi ModelIntel Wireless-AC 9560 ", + id="doc3" + ) + ], + language="en" + ) + + output = client.query_text(params) + assert output.answers + for answer in output.answers: + assert answer.answer + assert answer.confidence_score + assert answer.id + assert answer.offset + assert answer.length + assert answer.answer_span + assert answer.answer_span.text + assert answer.answer_span.confidence_score + assert answer.answer_span.offset is not None + assert answer.answer_span.length + + @GlobalQuestionAnsweringAccountPreparer() + def test_query_text_with_dictparams(self, qna_account, qna_key): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + params = { + "question": "How long it takes to charge surface?", + "records": [ + { + "text": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. " + + "It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + "id": "1" + }, + { + "text": "You can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. "+ + "The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.", + "id": "2" + } + ], + "language": "en" + } + + with client: + output = client.query_text(params) + assert len(output.answers) == 3 + confident_answers = [a for a in output.answers if a.confidence_score > 0.9] + assert len(confident_answers) == 2 + assert confident_answers[0].answer_span.text == "two to four hours" diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_text_async.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_text_async.py new file mode 100644 index 000000000000..4a04f2ac5613 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_query_text_async.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +from azure.core.exceptions import HttpResponseError, ClientAuthenticationError +from azure.core.credentials import AzureKeyCredential + +from testcase import ( + QuestionAnsweringTest, + GlobalQuestionAnsweringAccountPreparer +) + +from azure.ai.language.questionanswering.aio import QuestionAnsweringClient +from azure.ai.language.questionanswering.rest import * +from azure.ai.language.questionanswering.models import ( + TextQueryParameters, + TextInput +) + +class QnATests(QuestionAnsweringTest): + def setUp(self): + super(QnATests, self).setUp() + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_text_llc(self, qna_account, qna_key): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + json_content = { + "question": "What is the meaning of life?", + "records": [ + { + "text": "abc Graphics Surprise, surprise -- our 4K ", + "id": "doc1" + }, + { + "text": "e graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading to the discrete graphics gives the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at 92 frames per second on ", + "id": "doc2" + }, + { + "text": "Graphics Surprise, surprise -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading to the discrete graphics gives the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at 92 frames per second on the MX250 model, which is well above our 30-fps playability, the category average (69 fps) and what the Surface Laptop 2 (82 fps) achieved. The ZenBook S UX391UA (45 fps) fell flat on this real-world test but ran better than the base model Envy 13 (31 fps). Audio I had a good ol' time groovin' to the sound of the Envy 13's crisp speakers. HP went all out with the Envy, placing dual speakers on the underside of the chassis along with a third, top-firing driver above the keyboard. Devon Gilfillian's funky jam \"Here and Now\" boomed smooth, soulful tunes throughout my small apartment. The twang of the electric guitar played nicely with the thudding percussion but never overshadowed Gilfillian or the female backup vocals. Bang & Olufsen software comes preinstalled on the Envy 13, with equalizer controls so you can adjust the bass, midrange and treble to your liking. But even out of the box, you'll enjoy great sound without having to bust out your headphones. Battery Life Get an Envy 13 with the 1080p non-touch display if battery life is important to you. The FHD model endured for 11 hours and 11 minutes whereas the 4K model lasted only 4 hours and 36 minutes on our battery test, which involves continuous web browsing over Wi-Fi at 150 nits of brightness. MORE: Laptops with Best Battery Life - Longest Lasting Laptop Batteries Competing laptops like the ZenBook S UX391UA (7:05), Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) outstayed the 4K Envy 13 but powered down long before the 1080p version. Webcam The 720p webcam on the Envy 13 is nothing to write home about. A selfie I snapped in my dimly lit room was covered in a haze of visual noise. My beard and hair were unkempt blobs, while my eyes looked like they were drawn on by a pointillist painter. If there's one positive, it's that the lens captures natural colors and even extracted the different shades of gray in my T-shirt. On the right edge of the Envy 13 is a physical kill switch that cuts the power to the webcam so you can feel reassured that nobody is snooping on you. Heat Leave the lapdesk at home - you don't have to worry about the Envy 13 overheating. After I played a 15-minute, full-HD video in full screen, the touchpad on the HP Envy 13 with a Core i7 CPU rose to only 83 degrees Fahrenheit while the keyboard (87 degrees) and underside (90 degrees) also remained well below our 95-degree comfort threshold. Even the toastiest part of the machine, the lower-left edge on the underside, topped out at 94 degrees. Software and Warranty It's a shame that a laptop with such beautiful hardware ships with such ugly software. Pre-installed on this machine are entirely too many programs that could either be packaged together or omitted altogether. HP provides an app called Audio Switch, which simply lets you switch your audio input/output between the internal speakers and headphones. As the same implies, HP's Command Center is where you can get information about your Envy 13 but also switch the thermal profiles between comfort and performance. Along with support documentation, HP also bundles in a setup program called JumpStart, a program for connecting printers and a redundant system-info app called Event Utility. Also installed on the Envy 13's Windows 10 Home OS are several Microsoft apps, including Simple Solitaire, Candy Crush Friends and Your Phone. Other third-party apps include Booking.com, Netflix and McAfee Security. HP ships the Envy 13 with a one-year warranty. See how HP did on our Tech Support Showdown and Best and Worst Brands ranking. Bottom Line The Envy 13 has cemented its standing as the ultimate laptop for college students or travelers. Along with 11-plus hours of battery life (on the FHD model), the Envy 13 has a sleek, ultraportable chassis, fast performance, and powerful speakers. Best of all, the Envy 13 starts at a reasonable $799, which is hundreds less than the competition. In many ways, the Envy 13 is what we wanted the new MacBook Air to be. The new HP Envy 13 is everything I was hoping the new MacBook Air would be: fast, attractive and affordable. Just be sure to buy the right model. We strongly recommend the 1080p version over the 4K model because it lasts several hours longer on a charge and costs less. In fact, if we were reviewing the 4K model separately, we'd only give it a 3.5 rating. You should also consider the Envy 13 with a 10th Gen CPU, although we haven't gotten the chance to review it yet. If you absolutely need a high-res display, the 4K Envy 13 is one of many good options. We also recommend the Samsung Notebook 9 Pro, which has a similarly premium design but much better battery life than the 4K Envy. The Microsoft Surface Laptop 2 is another recommended alternative, though you might want to wait a few months for the rumored Surface Laptop 3. Overall, the HP Envy 13 is a fantastic laptop that checks all the right boxes --- as long as you buy the 1080p model. Credit: Laptop Mag HP Envy 13 (2019) Specs BluetoothBluetooth 5.0 BrandHP CPUIntel Core i7-8565U Card SlotsmicroSD Company Websitehttps://www8.hp.com/us/en/home.html Display Size13.3 Graphics CardNvidia GeForce MX250 Hard Drive Size512GB Hard Drive TypePCIe NVMe M.2 Highest Available Resolution3840 x 2160 Native Resolution3840 x 2160 Operating SystemWindows 10 Home Ports (excluding USB)USB 3.1 with Type-C, USB 3.1 Always-On, USB 3.1, Headphone/Mic, microSD RAM16GB RAM Upgradable to16GB Size12.1 x 8.3 x .57 inches Touchpad Size4.3 x 2.2 inches USB Ports3 Video Memory2GB Warranty/Supportone-year warranty. Weight2.8 pounds Wi-Fi802.11ac Wi-Fi ModelIntel Wireless-AC 9560 ", + "id": "doc3" + } + ], + "language": "en" + } + request = build_query_text_request( + json=json_content + ) + response = await client.send_request(request) + assert response.status_code == 200 + + output = response.json() + assert output.get('answers') + for answer in output['answers']: + assert answer.get('answer') + assert answer.get('confidenceScore') + assert answer.get('id') + assert answer.get('offset') + assert answer.get('length') + assert answer.get('answerSpan') + assert answer['answerSpan'].get('text') + assert answer['answerSpan'].get('confidenceScore') + assert answer['answerSpan'].get('offset') is not None + assert answer['answerSpan'].get('length') + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_text(self, qna_account, qna_key): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + params = TextQueryParameters( + question="What is the meaning of life?", + records=[ + TextInput( + text="abc Graphics Surprise, surprise -- our 4K ", + id="doc1" + ), + TextInput( + text="e graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading to the discrete graphics gives the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at 92 frames per second on ", + id="doc2" + ), + TextInput( + text="Graphics Surprise, surprise -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. The MX250-equipped Envy 13 scored a 116,575 on the Ice Storm Unlimited benchmark while the base model scored a 82,270. Upgrading to the discrete graphics gives the Envy 13 better performance than the Notebook 9 Pro (61,662; UHD 620), Surface Laptop 2 (71,647; UHD 620) and the premium laptop average (86,937). While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model. We played the racing game Dirt 3 at 92 frames per second on the MX250 model, which is well above our 30-fps playability, the category average (69 fps) and what the Surface Laptop 2 (82 fps) achieved. The ZenBook S UX391UA (45 fps) fell flat on this real-world test but ran better than the base model Envy 13 (31 fps). Audio I had a good ol' time groovin' to the sound of the Envy 13's crisp speakers. HP went all out with the Envy, placing dual speakers on the underside of the chassis along with a third, top-firing driver above the keyboard. Devon Gilfillian's funky jam \"Here and Now\" boomed smooth, soulful tunes throughout my small apartment. The twang of the electric guitar played nicely with the thudding percussion but never overshadowed Gilfillian or the female backup vocals. Bang & Olufsen software comes preinstalled on the Envy 13, with equalizer controls so you can adjust the bass, midrange and treble to your liking. But even out of the box, you'll enjoy great sound without having to bust out your headphones. Battery Life Get an Envy 13 with the 1080p non-touch display if battery life is important to you. The FHD model endured for 11 hours and 11 minutes whereas the 4K model lasted only 4 hours and 36 minutes on our battery test, which involves continuous web browsing over Wi-Fi at 150 nits of brightness. MORE: Laptops with Best Battery Life - Longest Lasting Laptop Batteries Competing laptops like the ZenBook S UX391UA (7:05), Surface Laptop 2 (9:22) and Notebook 9 Pro (8:53) outstayed the 4K Envy 13 but powered down long before the 1080p version. Webcam The 720p webcam on the Envy 13 is nothing to write home about. A selfie I snapped in my dimly lit room was covered in a haze of visual noise. My beard and hair were unkempt blobs, while my eyes looked like they were drawn on by a pointillist painter. If there's one positive, it's that the lens captures natural colors and even extracted the different shades of gray in my T-shirt. On the right edge of the Envy 13 is a physical kill switch that cuts the power to the webcam so you can feel reassured that nobody is snooping on you. Heat Leave the lapdesk at home - you don't have to worry about the Envy 13 overheating. After I played a 15-minute, full-HD video in full screen, the touchpad on the HP Envy 13 with a Core i7 CPU rose to only 83 degrees Fahrenheit while the keyboard (87 degrees) and underside (90 degrees) also remained well below our 95-degree comfort threshold. Even the toastiest part of the machine, the lower-left edge on the underside, topped out at 94 degrees. Software and Warranty It's a shame that a laptop with such beautiful hardware ships with such ugly software. Pre-installed on this machine are entirely too many programs that could either be packaged together or omitted altogether. HP provides an app called Audio Switch, which simply lets you switch your audio input/output between the internal speakers and headphones. As the same implies, HP's Command Center is where you can get information about your Envy 13 but also switch the thermal profiles between comfort and performance. Along with support documentation, HP also bundles in a setup program called JumpStart, a program for connecting printers and a redundant system-info app called Event Utility. Also installed on the Envy 13's Windows 10 Home OS are several Microsoft apps, including Simple Solitaire, Candy Crush Friends and Your Phone. Other third-party apps include Booking.com, Netflix and McAfee Security. HP ships the Envy 13 with a one-year warranty. See how HP did on our Tech Support Showdown and Best and Worst Brands ranking. Bottom Line The Envy 13 has cemented its standing as the ultimate laptop for college students or travelers. Along with 11-plus hours of battery life (on the FHD model), the Envy 13 has a sleek, ultraportable chassis, fast performance, and powerful speakers. Best of all, the Envy 13 starts at a reasonable $799, which is hundreds less than the competition. In many ways, the Envy 13 is what we wanted the new MacBook Air to be. The new HP Envy 13 is everything I was hoping the new MacBook Air would be: fast, attractive and affordable. Just be sure to buy the right model. We strongly recommend the 1080p version over the 4K model because it lasts several hours longer on a charge and costs less. In fact, if we were reviewing the 4K model separately, we'd only give it a 3.5 rating. You should also consider the Envy 13 with a 10th Gen CPU, although we haven't gotten the chance to review it yet. If you absolutely need a high-res display, the 4K Envy 13 is one of many good options. We also recommend the Samsung Notebook 9 Pro, which has a similarly premium design but much better battery life than the 4K Envy. The Microsoft Surface Laptop 2 is another recommended alternative, though you might want to wait a few months for the rumored Surface Laptop 3. Overall, the HP Envy 13 is a fantastic laptop that checks all the right boxes --- as long as you buy the 1080p model. Credit: Laptop Mag HP Envy 13 (2019) Specs BluetoothBluetooth 5.0 BrandHP CPUIntel Core i7-8565U Card SlotsmicroSD Company Websitehttps://www8.hp.com/us/en/home.html Display Size13.3 Graphics CardNvidia GeForce MX250 Hard Drive Size512GB Hard Drive TypePCIe NVMe M.2 Highest Available Resolution3840 x 2160 Native Resolution3840 x 2160 Operating SystemWindows 10 Home Ports (excluding USB)USB 3.1 with Type-C, USB 3.1 Always-On, USB 3.1, Headphone/Mic, microSD RAM16GB RAM Upgradable to16GB Size12.1 x 8.3 x .57 inches Touchpad Size4.3 x 2.2 inches USB Ports3 Video Memory2GB Warranty/Supportone-year warranty. Weight2.8 pounds Wi-Fi802.11ac Wi-Fi ModelIntel Wireless-AC 9560 ", + id="doc3" + ) + ], + language="en" + ) + + output = await client.query_text(params) + assert output.answers + for answer in output.answers: + assert answer.answer + assert answer.confidence_score + assert answer.id + assert answer.offset + assert answer.length + assert answer.answer_span + assert answer.answer_span.text + assert answer.answer_span.confidence_score + assert answer.answer_span.offset is not None + assert answer.answer_span.length + + @GlobalQuestionAnsweringAccountPreparer() + async def test_query_text_with_dictparams(self, qna_account, qna_key): + client = QuestionAnsweringClient(qna_account, AzureKeyCredential(qna_key)) + params = { + "question": "How long it takes to charge surface?", + "records": [ + { + "text": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. " + + "It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.", + "id": "1" + }, + { + "text": "You can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. "+ + "The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.", + "id": "2" + } + ], + "language": "en" + } + + async with client: + output = await client.query_text(params) + assert len(output.answers) == 3 + confident_answers = [a for a in output.answers if a.confidence_score > 0.9] + assert len(confident_answers) == 2 + assert confident_answers[0].answer_span.text == "two to four hours" diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/testcase.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/testcase.py new file mode 100644 index 000000000000..56c4be587ee2 --- /dev/null +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/testcase.py @@ -0,0 +1,109 @@ + +# 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 os +import pytest + +from azure.core.credentials import AccessToken, AzureKeyCredential +from devtools_testutils import ( + AzureTestCase, + AzureMgmtPreparer, + FakeResource, + ResourceGroupPreparer, +) +from devtools_testutils.cognitiveservices_testcase import CognitiveServicesAccountPreparer +from azure_devtools.scenario_tests import ReplayableTest + +from azure.ai.language.questionanswering import QuestionAnsweringClient + + +REGION = 'westus2' + + +class FakeTokenCredential(object): + """Protocol for classes able to provide OAuth tokens. + :param str scopes: Lets you specify the type of access needed. + """ + def __init__(self): + self.token = AccessToken("YOU SHALL NOT PASS", 0) + + def get_token(self, *args): + return self.token + +TEST_ENDPOINT = 'https://test-resource.api.cognitive.microsoft.com' +TEST_KEY = '0000000000000000' +TEST_PROJECT = 'test-project' + + +class QuestionAnsweringTest(AzureTestCase): + FILTER_HEADERS = ReplayableTest.FILTER_HEADERS + ['Ocp-Apim-Subscription-Key'] + + def __init__(self, method_name): + super(QuestionAnsweringTest, self).__init__(method_name) + self.scrubber.register_name_pair(os.environ.get("QNA_ACCOUNT"), TEST_ENDPOINT) + self.scrubber.register_name_pair(os.environ.get("QNA_KEY"), TEST_KEY) + self.scrubber.register_name_pair(os.environ.get("QNA_PROJECT"), TEST_PROJECT) + + def get_oauth_endpoint(self): + raise NotImplementedError() + + def generate_oauth_token(self): + if self.is_live: + from azure.identity import ClientSecretCredential + return ClientSecretCredential( + self.get_settings_value("TENANT_ID"), + self.get_settings_value("CLIENT_ID"), + self.get_settings_value("CLIENT_SECRET"), + ) + return self.generate_fake_token() + + def generate_fake_token(self): + return FakeTokenCredential() + + +class GlobalResourceGroupPreparer(AzureMgmtPreparer): + def __init__(self): + super(GlobalResourceGroupPreparer, self).__init__( + name_prefix='', + random_name_length=42 + ) + + def create_resource(self, name, **kwargs): + rg = FakeResource( + name="rgname", + id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgname" + ) + + return { + 'location': REGION, + 'resource_group': rg, + } + + +class GlobalQuestionAnsweringAccountPreparer(AzureMgmtPreparer): + def __init__(self): + super(GlobalQuestionAnsweringAccountPreparer, self).__init__( + name_prefix='', + random_name_length=42 + ) + + def create_resource(self, name, **kwargs): + if self.is_live: + return { + 'location': REGION, + 'resource_group': "rgname", + 'qna_account': os.environ.get("QNA_ACCOUNT"), + 'qna_key': os.environ.get("QNA_KEY"), + 'qna_project': os.environ.get("QNA_PROJECT") + } + return { + 'location': REGION, + 'resource_group': "rgname", + 'qna_account': TEST_ENDPOINT, + 'qna_key': TEST_KEY, + 'qna_project': TEST_PROJECT + } diff --git a/sdk/cognitivelanguage/ci.yml b/sdk/cognitivelanguage/ci.yml new file mode 100644 index 000000000000..15f72f532b70 --- /dev/null +++ b/sdk/cognitivelanguage/ci.yml @@ -0,0 +1,35 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - master + - main + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/cognitivelanguage/ + - scripts/ + +pr: + branches: + include: + - master + - main + - feature/* + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/cognitivelanguage/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: cognitivelanguage + Artifacts: + - name: azure-ai-language-questionanswering + safeName: questionanswering \ No newline at end of file diff --git a/sdk/cognitivelanguage/tests.yml b/sdk/cognitivelanguage/tests.yml new file mode 100644 index 000000000000..b2b663ad9323 --- /dev/null +++ b/sdk/cognitivelanguage/tests.yml @@ -0,0 +1,19 @@ +trigger: none + +stages: + - template: ../../eng/pipelines/templates/stages/archetype-sdk-tests.yml + parameters: + AllocateResourceGroup: false + ServiceDirectory: cognitivelanguage + MatrixReplace: + - TestSamples=.*/true + EnvVars: + QNA_KEY: $(qna-key) + QNA_PROJECT: 190a9e13-8ede-4e4b-a8fd-c4d7f2aeab6c + QNA_ACCOUNT: $(qna-uri) + AZURE_CLIENT_ID: $(aad-azure-sdk-test-client-id) + AZURE_CLIENT_SECRET: $(aad-azure-sdk-test-client-secret) + AZURE_SUBSCRIPTION_ID: $(azure-subscription-id) + AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) + TEST_MODE: 'RunLiveNoRecord' # use when allowing preparers to create the rgs for you + AZURE_TEST_RUN_LIVE: 'true' # use when utilizing the New-TestResources Script diff --git a/sdk/nspkg/azure-ai-language-nspkg/CHANGELOG.md b/sdk/nspkg/azure-ai-language-nspkg/CHANGELOG.md new file mode 100644 index 000000000000..b9f7cb3c5975 --- /dev/null +++ b/sdk/nspkg/azure-ai-language-nspkg/CHANGELOG.md @@ -0,0 +1,3 @@ +# Release History + +## 1.0.0 (unreleased) diff --git a/sdk/nspkg/azure-ai-language-nspkg/MANIFEST.in b/sdk/nspkg/azure-ai-language-nspkg/MANIFEST.in new file mode 100644 index 000000000000..c42c90b08fae --- /dev/null +++ b/sdk/nspkg/azure-ai-language-nspkg/MANIFEST.in @@ -0,0 +1,4 @@ +include *.md +include azure/__init__.py +include azure/ai/__init__.py +include azure/ai/language/__init__.py \ No newline at end of file diff --git a/sdk/nspkg/azure-ai-language-nspkg/README.md b/sdk/nspkg/azure-ai-language-nspkg/README.md new file mode 100644 index 000000000000..2195523dfff8 --- /dev/null +++ b/sdk/nspkg/azure-ai-language-nspkg/README.md @@ -0,0 +1,16 @@ +# Microsoft Azure SDK for Python + +This is the Microsoft Azure ai-language Services namespace package. + +This package is not intended to be installed directly by the end user. + +Since version 3.0, this is Python 2 package only, Python 3.x SDKs will use `PEP420 ` as namespace package strategy. +To avoid issues with package servers that does not support `python_requires`, a Python 3 package is installed but is empty. + +It provides the necessary files for other packages to extend the azure.ai namespace. + +If you are looking to install the Azure client libraries, see the +`azure `__ bundle package. + + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Ftextanalytics%2Fazure-ai-nspkg%2FREADME.png) \ No newline at end of file diff --git a/sdk/nspkg/azure-ai-language-nspkg/azure/__init__.py b/sdk/nspkg/azure-ai-language-nspkg/azure/__init__.py new file mode 100644 index 000000000000..69e3be50dac4 --- /dev/null +++ b/sdk/nspkg/azure-ai-language-nspkg/azure/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/sdk/nspkg/azure-ai-language-nspkg/azure/ai/__init__.py b/sdk/nspkg/azure-ai-language-nspkg/azure/ai/__init__.py new file mode 100644 index 000000000000..69e3be50dac4 --- /dev/null +++ b/sdk/nspkg/azure-ai-language-nspkg/azure/ai/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/sdk/nspkg/azure-ai-language-nspkg/azure/ai/language/__init__.py b/sdk/nspkg/azure-ai-language-nspkg/azure/ai/language/__init__.py new file mode 100644 index 000000000000..69e3be50dac4 --- /dev/null +++ b/sdk/nspkg/azure-ai-language-nspkg/azure/ai/language/__init__.py @@ -0,0 +1 @@ +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/sdk/nspkg/azure-ai-language-nspkg/sdk_packaging.toml b/sdk/nspkg/azure-ai-language-nspkg/sdk_packaging.toml new file mode 100644 index 000000000000..e7687fdae93b --- /dev/null +++ b/sdk/nspkg/azure-ai-language-nspkg/sdk_packaging.toml @@ -0,0 +1,2 @@ +[packaging] +auto_update = false \ No newline at end of file diff --git a/sdk/nspkg/azure-ai-language-nspkg/setup.py b/sdk/nspkg/azure-ai-language-nspkg/setup.py new file mode 100644 index 000000000000..eff37c87d84a --- /dev/null +++ b/sdk/nspkg/azure-ai-language-nspkg/setup.py @@ -0,0 +1,59 @@ +#!/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 sys +from setuptools import setup + +# 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 + +PACKAGES = [] +# Do an empty package on Python 3 and not python_requires, since not everybody is ready +# https://github.com/Azure/azure-sdk-for-python/issues/3447 +# https://github.com/Azure/azure-sdk-for-python/issues/3481 +if sys.version_info[0] < 3: + PACKAGES = ['azure.ai.language'] + +setup( + name='azure-ai-language-nspkg', + version='1.0.0', + description='Microsoft Azure ai-language Namespace Package [Internal]', + long_description=open('README.md', 'r').read(), + license='MIT License', + author='Microsoft Corporation', + author_email='azpysdkhelp@microsoft.com', + url='https://github.com/Azure/azure-sdk-for-python', + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'License :: OSI Approved :: MIT License', + ], + zip_safe=False, + packages=PACKAGES, + install_requires=[ + 'azure-ai-nspkg>=1.0.0' + ] +) diff --git a/shared_requirements.txt b/shared_requirements.txt index 33b05e93660b..3cd52f186ab9 100644 --- a/shared_requirements.txt +++ b/shared_requirements.txt @@ -1,5 +1,6 @@ azure-ai-nspkg azure-ai-translation-nspkg +azure-ai-language-nspkg azure-iot-nspkg azure-monitor-nspkg azure-applicationinsights~=0.1.0 @@ -145,6 +146,8 @@ pyjwt>=1.7.1 #override azure-keyvault-secrets azure-core<2.0.0,>=1.7.0 #override azure-ai-textanalytics msrest>=0.6.21 #override azure-ai-textanalytics azure-core<2.0.0,>=1.14.0 +#override azure-ai-language-questionanswering azure-core<2.0.0,>=1.16.0 +#override azure-ai-language-questionanswering msrest>=0.6.21 #override azure-search-documents azure-core<2.0.0,>=1.14.0 #override azure-ai-formrecognizer msrest>=0.6.21 #override azure-ai-formrecognizer azure-core<2.0.0,>=1.8.2 From 59a3af48e469665c4337abf6579b7164aee8b1d7 Mon Sep 17 00:00:00 2001 From: Xiang Yan Date: Thu, 8 Jul 2021 14:42:01 -0700 Subject: [PATCH 11/13] fix broken rest due to utils movement (#19728) --- sdk/core/azure-core/azure/core/rest/_rest.py | 2 +- sdk/core/azure-core/azure/core/rest/_rest_py3.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/core/azure-core/azure/core/rest/_rest.py b/sdk/core/azure-core/azure/core/rest/_rest.py index 24897c6f61dd..56823ab6d927 100644 --- a/sdk/core/azure-core/azure/core/rest/_rest.py +++ b/sdk/core/azure-core/azure/core/rest/_rest.py @@ -30,7 +30,7 @@ from azure.core.exceptions import HttpResponseError -from .._utils import _case_insensitive_dict +from ..utils._utils import _case_insensitive_dict from ._helpers import ( FilesType, parse_lines_from_text, diff --git a/sdk/core/azure-core/azure/core/rest/_rest_py3.py b/sdk/core/azure-core/azure/core/rest/_rest_py3.py index 27128c66a94e..80a91004c38f 100644 --- a/sdk/core/azure-core/azure/core/rest/_rest_py3.py +++ b/sdk/core/azure-core/azure/core/rest/_rest_py3.py @@ -41,7 +41,7 @@ from azure.core.exceptions import HttpResponseError -from .._utils import _case_insensitive_dict +from ..utils._utils import _case_insensitive_dict from ._helpers import ( ParamsType, From 827366863cea11ebe8fa488213dacfd23b2db94f Mon Sep 17 00:00:00 2001 From: Xiang Yan Date: Thu, 8 Jul 2021 15:44:04 -0700 Subject: [PATCH 12/13] handle details "null" (#19430) * handle details "null" * update --- sdk/core/azure-core/azure/core/exceptions.py | 2 +- sdk/core/azure-core/tests/test_exceptions.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/sdk/core/azure-core/azure/core/exceptions.py b/sdk/core/azure-core/azure/core/exceptions.py index 20f910f25950..59d2f4c1ff61 100644 --- a/sdk/core/azure-core/azure/core/exceptions.py +++ b/sdk/core/azure-core/azure/core/exceptions.py @@ -166,7 +166,7 @@ def __init__(self, json_object): # details is recursive of this very format self.details = [] # type: List[ODataV4Format] - for detail_node in json_object.get(cls.DETAILS_LABEL, []): + for detail_node in json_object.get(cls.DETAILS_LABEL) or []: try: self.details.append(self.__class__(detail_node)) except Exception: # pylint: disable=broad-except diff --git a/sdk/core/azure-core/tests/test_exceptions.py b/sdk/core/azure-core/tests/test_exceptions.py index 85b414a16b93..399c559cf944 100644 --- a/sdk/core/azure-core/tests/test_exceptions.py +++ b/sdk/core/azure-core/tests/test_exceptions.py @@ -250,3 +250,16 @@ def test_broken_odata_details(self): } exp = HttpResponseError(response=_build_response(json.dumps(message).encode("utf-8"))) assert exp.error.code == "Conflict" + + def test_null_odata_details(self): + message = { + "error": { + "code": "501", + "message": "message", + "target": None, + "details": None, + "innererror": None, + } + } + exp = HttpResponseError(response=_build_response(json.dumps(message).encode("utf-8"))) + assert exp.error.code == "501" \ No newline at end of file From 92886eca88ec45a7727a0c92fe9c1e45afcb2330 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Jul 2021 16:38:59 -0700 Subject: [PATCH 13/13] Bump aiohttp from 3.5.4 to 3.7.4 in /common/smoketest (#19330) Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.5.4 to 3.7.4. - [Release notes](https://github.com/aio-libs/aiohttp/releases) - [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst) - [Commits](https://github.com/aio-libs/aiohttp/compare/v3.5.4...v3.7.4) --- updated-dependencies: - dependency-name: aiohttp dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- common/smoketest/requirements_async.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/smoketest/requirements_async.txt b/common/smoketest/requirements_async.txt index f86465cd23c5..475c033f5102 100644 --- a/common/smoketest/requirements_async.txt +++ b/common/smoketest/requirements_async.txt @@ -1 +1 @@ -aiohttp==3.5.4 \ No newline at end of file +aiohttp==3.7.4 \ No newline at end of file